Smith  0.1
Smith is an implicit thermal structural mechanics simulation code.
Classes | Namespaces | Functions
thermal_system.hpp File Reference

Defines the ThermalSystem struct and its factory function. More...

#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/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"
Include dependency graph for thermal_system.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  smith::ThermalSystem< dim, temp_order, TemperatureTimeRule, Coupling >
 Container for a thermal system with configurable time integration. More...
 
struct  smith::ThermalOptions
 

Namespaces

 smith
 Accelerator functionality.
 
 smith::detail
 Internal solid mechanics builder after coupling fields are assembled.
 

Functions

template<int dim, int temp_order, typename TemperatureTimeRule >
auto smith::registerThermalFields (std::shared_ptr< FieldStore > field_store, const ThermalOptions &=ThermalOptions{})
 Register all thermal fields into a FieldStore. More...
 
template<int dim, int temp_order, typename TemperatureTimeRule , typename Coupling >
requires detail::is_coupling_packs_v< Coupling > auto smith::detail::buildThermalSystemImpl (std::shared_ptr< FieldStore > field_store, const Coupling &coupling, std::shared_ptr< SystemSolver > solver, const ThermalOptions &)
 Internal thermal builder after coupling fields are assembled.
 
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 temp_order, typename TemperatureTimeRule = QuasiStaticFirstOrderTimeIntegrationRule, typename... ParamSpaces>
auto smith::buildThermalSystem (const NonlinearSolverOptions &nonlinear_opts, const LinearSolverOptions &linear_opts, const ThermalOptions &options, std::shared_ptr< smith::Mesh > mesh, FieldType< ParamSpaces >... params)
 Build a ThermalSystem from solver options and a mesh, registering parameter fields inline. More...
 

Detailed Description

Defines the ThermalSystem struct and its factory function.

Definition in file thermal_system.hpp.