18 params.
addClassDescription(
"Computes cost sensitivity needed for multimaterial SIMP method.");
21 "DerivativeParsedMaterial for cost of materials.");
27 _base_name(isParamValid(
"base_name") ? getParam<
std::string>(
"base_name") +
"_" :
""),
28 _sensitivity(declareProperty<
Real>(_base_name +
"cost_sensitivity")),
29 _design_density(coupledValue(
"design_density")),
30 _design_density_name(coupledName(
"design_density", 0)),
31 _dcostdrho(getMaterialPropertyDerivativeByName<
Real>(getParam<MaterialPropertyName>(
"cost"),
32 _design_density_name)),
33 _cost(getMaterialPropertyByName<
Real>(getParam<MaterialPropertyName>(
"cost")))
const MaterialProperty< Real > & _dcostdrho
Derivative of the cost with respect to the pseudo-density variable.
static InputParameters validParams()
virtual void computeQpProperties() override
const MaterialProperty< Real > & _cost
Cost material property.
static InputParameters validParams()
MaterialProperty< Real > & _sensitivity
The cost sensitivity material generated by this object.
const VariableValue & _design_density
Pseudo-density variable.
Computes the cost sensitivity for SIMP optimization algorithms that consider a cost constraint...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
CostSensitivity(const InputParameters ¶meters)
registerMooseObject("OptimizationApp", CostSensitivity)
const Elem *const & _current_elem