19 "This component is designed to compute the gradient of the objective function concerning " 20 "specific properties. It achieves this by computing the inner product of the property " 21 "derivative obtained a material property and the strain resulting from the forward " 24 "stress_derivative_name",
"The name of the stress derivative material property");
26 "adjoint_strain_name",
"Name of the strain property in the adjoint problem");
33 _base_name(isParamValid(
"base_name") ? getParam<
std::string>(
"base_name") +
"_" :
""),
35 getParam<MaterialPropertyName>(
"stress_derivative_name"))),
37 getParam<MaterialPropertyName>(
"adjoint_strain_name")))
registerMooseObject("OptimizationApp", AdjointStrainSymmetricStressGradInnerProduct)
virtual Real computeQpInnerProduct() override
Used to compute the inner product at a certain quadrature point.
This object calculates the double contraction between the stress derivative and the adjoint strain ma...
AdjointStrainSymmetricStressGradInnerProduct(const InputParameters ¶meters)
const MaterialProperty< RankTwoTensor > & _adjoint_strain
Holds adjoint strain at current quadrature points.
unsigned int _qp
Quadrature point index.
static InputParameters validParams()
const MaterialProperty< SymmetricRankTwoTensor > & _stress_derivative
Holds stress derivative at current quadrature points.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static InputParameters validParams()