|
Smith
0.1
Smith is an implicit thermal structural mechanics simulation code.
|
Defines the SystemBase struct for common system functionality. More...
#include <string>#include <vector>#include <memory>#include <utility>#include "field_state.hpp"#include "field_store.hpp"#include "system_solver.hpp"#include "state_advancer.hpp"#include "smith/physics/common.hpp"#include "mfem.hpp"

Go to the source code of this file.
Classes | |
| struct | smith::SystemBase |
| Base struct for physics systems containing common members and helper functions. More... | |
Namespaces | |
| smith | |
| Accelerator functionality. | |
| smith::detail | |
| Internal solid mechanics builder after coupling fields are assembled. | |
Typedefs | |
| template<std::size_t , typename T > | |
| using | smith::detail::always_t = T |
| Helper: given an index and a type, always produces the type (used to repeat a type N times via pack expansion) | |
| template<typename Rule , typename Space , typename... Tail> | |
| using | smith::TimeRuleParams = decltype(detail::time_rule_params_impl< Space, Tail... >(std::make_index_sequence< Rule::num_states >{})) |
| Generate a Parameters<...> type with Rule::num_states copies of Space followed by additional Tail types. Used to build weak form parameter lists that adapt to the time integration rule's arity. | |
Functions | |
| template<typename Space , typename... Tail, std::size_t... Is> | |
| auto | smith::detail::time_rule_params_impl (std::index_sequence< Is... >) -> Parameters< always_t< Is, Space >..., Tail... > |
| Implementation for TimeRuleParams: repeat Space N times, then append Tail... | |
| std::shared_ptr< SystemBase > | smith::makeSystem (std::shared_ptr< FieldStore > field_store, std::shared_ptr< SystemSolver > solver, std::vector< std::shared_ptr< WeakForm >> weak_forms) |
Convenience factory for a plain SystemBase. | |
| template<typename WeakFormT , typename FieldStorePtr , typename... Args, std::size_t... Is> | |
| auto | smith::detail::buildWeakFormWithCouplingImpl (const FieldStorePtr &field_store, const std::string &weak_form_name, const std::string &unknown_field_name, const std::tuple< Args... > &args_tuple, std::index_sequence< Is... >) |
| Expands coupling tuple into trailing weak-form space arguments. | |
| template<typename WeakFormT , typename FieldStorePtr , typename... Args> | |
| auto | smith::detail::buildWeakFormWithCoupling (const FieldStorePtr &field_store, const std::string &weak_form_name, const std::string &unknown_field_name, const Args &... args) |
| Builds weak form using regular args plus final coupling pack argument. | |
Defines the SystemBase struct for common system functionality.
Definition in file system_base.hpp.