|
Smith
0.1
Smith is an implicit thermal structural mechanics simulation code.
|
Base struct for physics systems containing common members and helper functions. More...
#include <system_base.hpp>
Public Member Functions | |
| SystemBase ()=default | |
| Construct an empty system shell. | |
| SystemBase (std::shared_ptr< FieldStore > fs, std::shared_ptr< SystemSolver > sol=nullptr, std::vector< std::shared_ptr< WeakForm >> wfs={}) | |
| Construct a system from a field store, solver, and weak forms. More... | |
| virtual std::vector< FieldState > | solve (const TimeInfo &time_info) const |
| Solve the system using the internal weak_forms and solver. More... | |
| virtual std::vector< ReactionState > | computeReactions (const TimeInfo &time_info, const std::vector< FieldState > &states_for_reactions) const |
| Compute reactions after solving the main state. More... | |
Public Attributes | |
| std::vector< std::shared_ptr< WeakForm > > | weak_forms |
| Weak forms solved together by this system. | |
| std::shared_ptr< FieldStore > | field_store |
| Field store managing the system's fields. | |
| std::shared_ptr< SystemSolver > | solver |
| The solver for the system. | |
| std::vector< std::shared_ptr< SystemBase > > | cycle_zero_systems |
| std::vector< std::shared_ptr< SystemBase > > | post_solve_systems |
| Optional systems solved after main state update. | |
| std::vector< std::string > | solve_result_field_names |
| Optional per-weak-form fields to solve/update instead of reaction fields. | |
| std::vector< std::vector< std::string > > | solve_input_field_names |
| Optional per-weak-form input field ordering used during solve. | |
Base struct for physics systems containing common members and helper functions.
Definition at line 52 of file system_base.hpp.
|
inlineexplicit |
Construct a system from a field store, solver, and weak forms.
| fs | Field store shared by all weak forms. |
| sol | Solver used for solve. |
| wfs | Weak forms owned by this system. |
Definition at line 76 of file system_base.hpp.
|
virtual |
Compute reactions after solving the main state.
| time_info | Current time information. |
| states_for_reactions | The fields configured for reaction computation. |
Definition at line 74 of file system_base.cpp.
|
virtual |
Solve the system using the internal weak_forms and solver.
| time_info | Current time information. |
Definition at line 13 of file system_base.cpp.
| std::vector<std::shared_ptr<SystemBase> > smith::SystemBase::cycle_zero_systems |
Optional startup solves executed before first timestep. Each entry is solved independently; cycle-zero solves do not couple across subsystems.
Definition at line 60 of file system_base.hpp.