|
Smith
0.1
Smith is an implicit thermal structural mechanics simulation code.
|
Implementation of the StateAdvancer interface for advancing the solution of solid mechanics problems. More...
#include <solid_mechanics_state_advancer.hpp>

Public Types | |
| enum | STATE { DISPLACEMENT , VELOCITY , ACCELERATION } |
| State enum for indexing convenience. | |
Public Member Functions | |
| SolidMechanicsStateAdvancer (std::shared_ptr< DifferentiableSolver > solid_solver, std::shared_ptr< DirichletBoundaryConditions > vector_bcs, std::shared_ptr< SecondOrderTimeDiscretizedWeakForms > solid_dynamic_weak_forms, ImplicitNewmarkSecondOrderTimeIntegrationRule time_rule) | |
| Constructor. More... | |
| std::vector< FieldState > | advanceState (const TimeInfo &time_info, const FieldState &shape_disp, const std::vector< FieldState > &states_old, const std::vector< FieldState > ¶ms) const override |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| std::vector< ReactionState > | computeReactions (const TimeInfo &time_info, const FieldState &shape_disp, const std::vector< FieldState > &states, const std::vector< FieldState > ¶ms) const override |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
Public Member Functions inherited from smith::StateAdvancer | |
| virtual | ~StateAdvancer () |
| destructor | |
Static Public Member Functions | |
| template<typename FirstParamSpace , typename... ParamSpaces> | |
| static std::vector< FieldState > | createParams (gretl::DataStore &graph, const std::string &name, const std::vector< std::string > ¶m_names, const std::string &tag, size_t index=0) |
| Recursive function for constructing parameter FieldStates of the appropriate space and name, register it on the gretl graph. | |
| template<int spatial_dim, typename ShapeDispSpace , typename VectorSpace , typename... ParamSpaces> | |
| static auto | buildWeakFormAndStates (const std::shared_ptr< Mesh > &mesh, const std::shared_ptr< gretl::DataStore > &graph, ImplicitNewmarkSecondOrderTimeIntegrationRule time_rule, std::string physics_name, const std::vector< std::string > ¶m_names, double initial_time=0.0) |
| Utility function to consistently construct all the weak forms and FieldStates for a solid mechanics application you will get back: shape_disp, states, params, time, and solid_mechanics_weak_form. | |
Implementation of the StateAdvancer interface for advancing the solution of solid mechanics problems.
Definition at line 33 of file solid_mechanics_state_advancer.hpp.
| smith::SolidMechanicsStateAdvancer::SolidMechanicsStateAdvancer | ( | std::shared_ptr< DifferentiableSolver > | solid_solver, |
| std::shared_ptr< DirichletBoundaryConditions > | vector_bcs, | ||
| std::shared_ptr< SecondOrderTimeDiscretizedWeakForms > | solid_dynamic_weak_forms, | ||
| ImplicitNewmarkSecondOrderTimeIntegrationRule | time_rule | ||
| ) |
Constructor.
| solid_solver | differentiable solve |
| vector_bcs | Dirichlet boundary conditions that can be applies to vector unknowns |
| solid_dynamic_weak_forms | The weak-forms for time discretized solid mechanics equations |
| time_rule | The specific time-integration rule, typically Implicit Newmark or Quasi-static |
Definition at line 16 of file solid_mechanics_state_advancer.cpp.