13 #include "Conversion.h"
14 #include "FEProblem.h"
15 #include "MooseMesh.h"
36 paramError(
"property",
"variable_base and property must be vectors of the same size");
39 unsigned int dim = _mesh->dimension();
41 const std::vector<char> suffix = {
'x',
'y',
'z'};
43 for (
unsigned int gr = 0; gr <
_grain_num; ++gr)
44 for (
unsigned int val = 0; val <
_num_var; ++val)
45 for (
unsigned int x = 0; x < dim; ++x)
47 std::string var_name =
_var_name_base[val] + Moose::stringify(gr) +
"_" + suffix[x];
49 InputParameters params = _factory.getValidParams(
"MaterialStdVectorRealGradientAux");
50 params.set<AuxVariableName>(
"variable") = var_name;
51 params.set<MaterialPropertyName>(
"property") =
_prop[val];
52 params.set<
unsigned int>(
"component") = x;
53 params.set<
unsigned int>(
"index") = gr;
54 params.set<
bool>(
"use_displaced_mesh") = getParam<bool>(
"use_displaced_mesh");
56 std::string aux_kernel_name = var_name;
57 _problem->addAuxKernel(
"MaterialStdVectorRealGradientAux", aux_kernel_name, params);