30 std::map<std::pair<unsigned int, unsigned int>, std::pair<ConstraintType, const Function *>>;
61 "Type of each constraint: strain, stress, or none. The types are specified in the "
62 "column-major order, and there must be 9 entries in total.");
64 "targets",
"Functions giving the targets to hit for constraint types that are not none.");
75 this->paramError(
"constraint_types",
76 "Number of constraint types must equal ",
83 const std::vector<FunctionName> & fnames = parameters.
get<std::vector<FunctionName>>(
"targets");
86 unsigned int fcount = 0;
94 if (fcount >= fnames.size())
97 "Number of target functions must equal the number of non-none constraint "
101 const Function *
const f = &this->getFunctionByName(fnames[fcount++]);
102 _cmap[{i, j}] = {ctype,
f};
107 if (fcount != fnames.size())
110 "Number of target functions must equal the number of non-none constraint types. ",
112 " are provided, but ",
Real f(Real x)
Test function for Brents method.
Interface for objects that use the homogenization constraint.
HomogenizationInterface(const InputParameters ¶meters)
static InputParameters validParams()
Homogenization::ConstraintMap _cmap
Constraint map.
const Homogenization::ConstraintMap & cmap() const
Get the constraint map.
const MultiMooseEnum constraintType("strain stress none")
std::map< std::pair< unsigned int, unsigned int >, std::pair< ConstraintType, const Function * > > ConstraintMap
ConstraintType
Constraint type: stress/PK stress or strain/deformation gradient.
static constexpr std::size_t dim