13 #include "metaphysicl/raw_type.h" 25 "The rank two material tensor name");
28 "index_i >= 0 & index_i <= 2",
29 "The index i of ij for the tensor to output (0, 1, 2)");
32 "index_j >= 0 & index_j <= 2",
33 "The index j of ij for the tensor to output (0, 1, 2)");
34 params.
addParam<
unsigned int>(
"selected_qp",
"Evaluate the tensor at this specific quadpoint");
42 _tensor(getGenericMaterialProperty<
RankTwoTensor, is_ad>(
"rank_two_tensor")),
43 _i(getParam<unsigned
int>(
"index_i")),
44 _j(getParam<unsigned
int>(
"index_j")),
45 _has_selected_qp(isParamValid(
"selected_qp")),
46 _selected_qp(_has_selected_qp ? getParam<unsigned
int>(
"selected_qp") : 0)
54 unsigned int qp = _qp;
57 if (_selected_qp >= _q_point.size())
59 Threads::spin_mutex::scoped_lock lock(Threads::spin_mtx);
60 mooseError(
"RankTwoAux. selected_qp specified as ",
62 " but there are only ",
64 " quadpoints in the element");
void mooseError(Args &&... args)
virtual Real computeValue()
registerMooseObject("SolidMechanicsApp", RankTwoAux)
RankTwoAuxTempl(const InputParameters ¶meters)
static InputParameters validParams()
static InputParameters validParams()
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void ErrorVector unsigned int
RankTwoAux is designed to take the data in the RankTwoTensor material property, for example stress or...