Smith  0.1
Smith is an implicit thermal structural mechanics simulation code.
thermo_mechanics_with_internal_vars_system.hpp
1 // Copyright (c) Lawrence Livermore National Security, LLC and
2 // other Smith Project Developers. See the top-level LICENSE file for
3 // details.
4 //
5 // SPDX-License-Identifier: (BSD-3-Clause)
6 
7 #pragma once
8 
14 
15 namespace smith {
16 
49 template <typename SolidSystem, typename ThermalSystem, typename InternalVariableSystem, typename ThermoMechMaterial,
50  typename InternalVarEvolution>
51 void setCoupledThermoMechanicsInternalVariableMaterial(std::shared_ptr<SolidSystem> solid_system,
52  std::shared_ptr<ThermalSystem> thermal_system,
53  std::shared_ptr<InternalVariableSystem> internal_variable_system,
54  ThermoMechMaterial thermo_mech_material,
55  InternalVarEvolution internal_var_evolution,
56  const std::string& domain_name)
57 {
58  setCoupledThermoMechanicsMaterial(solid_system, thermal_system, thermo_mech_material, domain_name);
59  setCoupledInternalVariableMaterial(internal_variable_system, solid_system, internal_var_evolution, domain_name);
60 }
61 
62 } // namespace smith
Accelerator functionality.
Definition: smith.cpp:36
void setCoupledInternalVariableMaterial(std::shared_ptr< InternalVariableSystem< dim, StateSpace, StateRule, StateCoupling >> internal_variables, std::shared_ptr< SolidMechanicsSystem< dim, disp_order, DispRule, SolidCoupling >>, const MaterialType &material, const std::string &domain_name)
Register an internal-variable evolution law using solid displacement coupling.
void setCoupledThermoMechanicsMaterial(std::shared_ptr< SolidMechanicsSystem< dim, disp_order_, DispRule, SolidCoupling >> solid, std::shared_ptr< ThermalSystem< dim, temp_order_, TempRule, ThermalCoupling >> thermal, const MaterialType &material, const std::string &domain_name)
Register a coupled thermo-mechanical material integrand on a SolidMechanicsSystem and ThermalSystem t...
void setCoupledThermoMechanicsInternalVariableMaterial(std::shared_ptr< SolidSystem > solid_system, std::shared_ptr< ThermalSystem > thermal_system, std::shared_ptr< InternalVariableSystem > internal_variable_system, ThermoMechMaterial thermo_mech_material, InternalVarEvolution internal_var_evolution, const std::string &domain_name)
Wire a coupled thermo-mechanical internal-variable material across solid, thermal,...
Defines the SolidMechanicsSystem struct and its factory function.
Helpers to wire internal-variable materials to composed solid and internal-variable systems.
Standalone composable system for a first-order internal variable (damage, plasticity,...
Defines the ThermalSystem struct and its factory function.
Helper to wire a coupled thermo-mechanical material to a SolidMechanicsSystem and ThermalSystem.