13#include "libmesh/point.h"
47 template <
typename T,
typename T2>
182template <
typename T,
typename T2>
186 for (
const auto & t1 : table)
189 for (
const auto & t2 : t1.second.second)
190 if (t1.first +
'_' + t2 == out)
195 setup(it->second, t1.second.first);
199 mooseError(
"Internal error. The permitted tensor shortcuts must be keys in the "
200 "'_rank_two_cartesian_component_table'.");
204 auto prefix = t1.first +
'_';
205 if (out.substr(0, prefix.length()) == prefix)
207 setup(out.substr(prefix.length()), t1.second.first);
const std::string & type() const
void mooseError(Args &&... args) const
static std::map< std::string, std::string > _rank_two_cartesian_component_table
Moose::CoordinateSystemType _coord_system
bool _cylindrical_axis_point2_valid
const bool _lk_h_off_jac
Whether to use the off diagonal scalar jacobian for the homogenization system.
bool _cylindrical_axis_point1_valid
booleans used to determine if cylindrical axis points are passed
std::set< SubdomainID > _subdomain_ids
set generated from the passed in vector of subdomain names
MultiMooseEnum _material_output_order
const bool _lk_large_kinematics
Simplified flag for small/large deformations, Lagrangian kernel system.
void actGatherActionParameters()
void actLagrangianKernelStrain()
std::vector< FunctionName > _targets
void actSubdomainChecks()
bool _lk_homogenization
Flag indicating if the homogenization system is present for new kernels.
LKFormulation
New kernel system kinematics types.
virtual InputParameters getKernelParameters(std::string type)
const LKFormulation _lk_formulation
bool setupOutput(std::string out, T table, T2 setup)
Helper function to decode generate_outputs options using a "table" of scalar output quantities and a ...
Point _cylindrical_axis_point1
points used to determine axis of rotation for cylindrical stress/strain quantities
std::vector< AuxVariableName > _diag_save_in
std::vector< VariableName > _coupled_displacements
Coupled displacement variables.
void actEigenstrainNames()
const OutOfPlaneDirection _out_of_plane_direction
bool _spherical_center_point_valid
booleans used to determine if spherical center point is passed
std::set< SubdomainID > _subdomain_id_union
set generated from the combined block restrictions of all SolidMechanics/Master action blocks
enum QuasiStaticSolidMechanicsPhysics::Strain _strain
void actOutputGeneration()
const std::string _homogenization_strain_name
Point _cylindrical_axis_point2
std::vector< std::string > _generate_output
output materials to generate scalar stress/strain tensor quantities
const bool _auto_eigenstrain
automatically gather names of eigenstrain tensors provided by simulation objects
const bool _compatibility_mode
OLD-compat shim: auto-configures the Lagrangian kernel system to reproduce StressDivergenceTensors + ...
const bool _lagrangian_kernels
New or old kernel system. True if new_system = true OR compatibility_mode = true.
PlanarFormulation
use an out of plane stress/strain formulation
std::vector< MaterialPropertyName > _eigenstrain_names
enum QuasiStaticSolidMechanicsPhysics::PlanarFormulation _planar_formulation
MultiMooseEnum _constraint_types
const std::string _base_name
base name for the current master action block
static InputParameters validParams()
enum QuasiStaticSolidMechanicsPhysics::StrainAndIncrement _strain_and_increment
std::vector< VariableName > _displacements
displacement variables
bool _use_displaced_mesh
use displaced mesh (true unless _strain is SMALL)
unsigned int _ndisp
Number of displacement variables.
MultiMooseEnum _material_output_family
std::vector< AuxVariableName > _save_in
residual debugging
void actStressDivergenceTensorsStrain()
static const std::map< unsigned int, std::string > _order_mapper
StrainAndIncrement
strain formulation
std::string remapCompatOutputProp(const std::string &prop_name) const
Apply compatibility_mode remapping to a property name pulled from the _rank_two_* output tables: in c...
std::vector< SubdomainName > _subdomain_names
if this vector is not empty the variables, kernels and materials are restricted to these subdomains
const bool _lk_locking
Simplified volumetric locking correction flag for new kernels.
virtual std::string getKernelType()
void verifyOrderAndFamilyOutputs()
Point _spherical_center_point
center point for spherical stress/strain quantities
const std::string _integrator_name
void setup(EquationSystems &systems, Mesh &mesh, GetPot &args)