|
Smith
0.1
Smith is an implicit thermal structural mechanics simulation code.
|
Defines the SolidMechanicsSystem struct and its factory function. More...
#include <algorithm>#include "smith/differentiable_numerics/field_store.hpp"#include "smith/differentiable_numerics/nonlinear_block_solver.hpp"#include "smith/differentiable_numerics/dirichlet_boundary_conditions.hpp"#include "smith/differentiable_numerics/state_advancer.hpp"#include "smith/differentiable_numerics/multiphysics_time_integrator.hpp"#include "smith/differentiable_numerics/time_integration_rule.hpp"#include "smith/physics/functional_weak_form.hpp"#include "smith/differentiable_numerics/differentiable_physics.hpp"#include "smith/physics/weak_form.hpp"#include "smith/differentiable_numerics/system_base.hpp"#include "smith/differentiable_numerics/coupling_params.hpp"

Go to the source code of this file.
Classes | |
| struct | smith::SolidMechanicsSystem< dim, order, DisplacementTimeRule, Coupling > |
| System struct for solid dynamics with configurable time integration. More... | |
| struct | smith::SolidMechanicsOptions |
| Optional auxiliary systems and outputs for solid mechanics. More... | |
Namespaces | |
| smith | |
| Accelerator functionality. | |
| smith::detail | |
| Internal solid mechanics builder after coupling fields are assembled. | |
Functions | |
| template<int dim, int order, typename DisplacementTimeRule > | |
| auto | smith::registerSolidMechanicsFields (std::shared_ptr< FieldStore > field_store, const SolidMechanicsOptions &options=SolidMechanicsOptions{}) |
| Register all solid mechanics fields into a FieldStore. More... | |
| bool | smith::detail::hasRegisteredStressOutput (const std::shared_ptr< FieldStore > &field_store) |
| Return true when stress output fields were registered during phase 1. | |
| std::shared_ptr< SystemSolver > | smith::detail::makeCycleZeroSolver (std::shared_ptr< SystemSolver > solver, const Mesh &mesh) |
| Build a cycle-zero solver from the main solver when possible, else use fallback defaults. | |
| template<int dim, int order, typename DisplacementTimeRule , typename Coupling > | |
| requires detail::is_coupling_packs_v< Coupling > auto | smith::detail::buildSolidMechanicsSystemImpl (std::shared_ptr< FieldStore > field_store, const Coupling &coupling, std::shared_ptr< SystemSolver > solver, const SolidMechanicsOptions &options, bool has_stress_output) |
| Internal solid builder after public registration and coupling collection. | |
| template<typename SelfFields > | |
| smith::requires (detail::has_time_rule_v< SelfFields >) auto buildSolidMechanicsSystem(std | |
| Build a SolidMechanicsSystem from already-registered field packs. More... | |
| template<typename SelfFields , typename... PFs> | |
| smith::requires (detail::has_time_rule_v< SelfFields >) auto buildSolidMechanicsSystem(std | |
| Build a SolidMechanicsSystem from registered self fields plus coupled physics fields. More... | |
| template<typename SelfFields , typename... PFs, typename... ParamSpaces> | |
| smith::requires (detail::has_time_rule_v< SelfFields >) auto buildSolidMechanicsSystem(std | |
| Build a SolidMechanicsSystem from registered self fields, coupled physics fields, and parameter fields. More... | |
| template<int dim, int order, typename DisplacementTimeRule = ImplicitNewmarkSecondOrderTimeIntegrationRule, typename... ParamSpaces> | |
| auto | smith::buildSolidMechanicsSystem (const NonlinearSolverOptions &nonlinear_opts, const LinearSolverOptions &linear_opts, const SolidMechanicsOptions &options, std::shared_ptr< smith::Mesh > mesh, FieldType< ParamSpaces >... params) |
| Build a SolidMechanicsSystem from solver options and a mesh, registering parameter fields inline. More... | |
Defines the SolidMechanicsSystem struct and its factory function.
Definition in file solid_mechanics_system.hpp.