18 InputParameters params = validParams<Material>();
20 params.addCoupledVar(
"disp_r",
"The r displacement");
21 params.addCoupledVar(
"disp_x",
"The x displacement");
22 params.addCoupledVar(
"disp_y",
"The y displacement");
23 params.addCoupledVar(
"disp_z",
"The z displacement");
27 "The displacements appropriate for the simulation geometry and coordinate system");
29 params.addParam<std::string>(
"base_name",
30 "Optional parameter that allows the user to define "
31 "multiple material systems on the same block, "
32 "e.g. for multiple phases");
33 params.addRequiredParam<Real>(
"density",
"Density");
34 params.addClassDescription(
"Creates density material property");
40 : Material(parameters),
42 _disp_r(isCoupled(
"displacements") ? coupledValue(
"displacements", 0)
43 : (isCoupled(
"disp_r") ? coupledValue(
"disp_r") : _zero)),
44 _base_name(isParamValid(
"base_name") ? getParam<std::string>(
"base_name") +
"_" :
""),
45 _orig_density(getParam<Real>(
"density")),
46 _density(declareProperty<Real>(_base_name +
"density"))
49 if (isCoupled(
"displacements"))
55 const unsigned int ndisp = coupledComponents(
"displacements");
57 for (
unsigned int i = 0; i < ndisp; ++i)
58 _grad_disp[i] = &coupledGradient(
"displacements", i);
65 else if (isCoupled(
"disp_x") || isCoupled(
"disp_r"))
68 if (isCoupled(
"disp_r"))
70 if (isCoupled(
"disp_z"))
80 isCoupled(
"disp_x") ? &coupledGradient(
"disp_x")
81 : (isCoupled(
"disp_r") ? &coupledGradient(
"disp_r") : &_grad_zero),
82 isCoupled(
"disp_y") ? &coupledGradient(
"disp_y")
83 : (isCoupled(
"disp_z") ? &coupledGradient(
"disp_z") : &_grad_zero),
84 _coord_system != Moose::COORD_RZ && isCoupled(
"disp_z") ? &coupledGradient(
"disp_z")
113 const Real Axx = (*
_grad_disp[0])[_qp](0) + 1.0;
125 case Moose::COORD_XYZ:
129 case Moose::COORD_RZ:
130 if (_q_point[_qp](0) != 0.0)
131 Azz =
_disp_r[_qp] / _q_point[_qp](0) + 1.0;
134 case Moose::COORD_RSPHERICAL:
135 if (_q_point[_qp](0) != 0.0)
136 Ayy = Azz =
_disp_r[_qp] / _q_point[_qp](0) + 1.0;
140 const Real detF = Axx * Ayy * Azz + Axy * Ayz * Azx + Axz * Ayx * Azy - Azx * Ayy * Axz -
141 Azy * Ayz * Axx - Azz * Ayx * Axy;