23 "Material for storing the global strain values from the scalar variable");
24 params.
addParam<std::string>(
"base_name",
25 "Optional parameter that allows the user to define "
26 "multiple mechanics material systems on the same "
27 "block, i.e. for multiple phases");
28 params.
addCoupledVar(
"scalar_global_strain",
"Scalar variable for global strain");
29 params.
addCoupledVar(
"displacements",
"The name of the displacement variables");
31 "The name of the GlobalStrainUserObject");
39 _base_name(isParamValid(
"base_name") ? getParam<
std::string>(
"base_name") +
"_" :
""),
40 _scalar_global_strain(coupledScalarValue(
"scalar_global_strain")),
41 _global_strain(declareProperty<
RankTwoTensor>(_base_name +
"global_strain")),
43 _periodic_dir(_pst.getPeriodicDirections()),
44 _dim(_mesh.dimension()),
45 _ndisp(coupledComponents(
"displacements"))
61 for (
unsigned int dir = 0; dir <
_dim; ++dir)
63 for (
unsigned int var = 0; var <
_ndisp; ++var)
64 strain(dir, var) = 0.0;
registerMooseObject("SolidMechanicsApp", ComputeGlobalStrain)
ComputeGlobalStrain calculates the global strain tensor from the scalar variables.
const unsigned int _ndisp
Number of displacement variables.
MaterialProperty< RankTwoTensor > & _global_strain
ComputeGlobalStrain(const InputParameters ¶meters)
const VectorValue< bool > & _periodic_dir
virtual void initQpStatefulProperties() override
const VariableValue & _scalar_global_strain
static InputParameters validParams()
virtual void computeQpProperties() override
This class provides interface for extracting the periodic directions, residual, and jacobian values f...
static InputParameters validParams()
void fillFromScalarVariable(const VariableValue &scalar_variable)