19 InputParameters params = validParams<Material>();
21 params.addRequiredRangeCheckedParam<Real>(
23 "mat_porosity>=0 & mat_porosity<=1",
24 "The porosity of the material. Should be between 0 and 1. Eg, 0.1");
25 params.addCoupledVar(
"por_change",
27 "An auxillary variable describing porosity changes. "
28 "Porosity = mat_porosity + por_change. If this is not "
29 "provided, zero is used.");
30 params.addRequiredParam<RealTensorValue>(
"mat_permeability",
"The permeability tensor (m^2).");
31 params.addCoupledVar(
"perm_change",
32 "A list of auxillary variable describing permeability "
33 "changes. There must be 9 of these (in 3D), corresponding "
34 "to the xx, xy, xz, yx, yy, yz, zx, zy, zz components "
35 "respectively (in 3D). Permeability = "
36 "mat_permeability*10^(perm_change).");
37 params.addRequiredParam<RealVectorValue>(
39 "Gravitational acceleration (m/s^2) as a vector pointing downwards. Eg (0,0,-10)");
44 : Material(parameters),
45 _material_por(getParam<Real>(
"mat_porosity")),
46 _por_change(coupledValue(
"por_change")),
47 _por_change_old(isCoupled(
"por_change") ? coupledValueOld(
"por_change") : _zero),
48 _material_perm(getParam<RealTensorValue>(
"mat_permeability")),
49 _material_gravity(getParam<RealVectorValue>(
"gravity")),
50 _porosity_old(declareProperty<Real>(
"porosity_old")),
51 _porosity(declareProperty<Real>(
"porosity")),
52 _permeability(declareProperty<RealTensorValue>(
"permeability")),
53 _gravity(declareProperty<RealVectorValue>(
"gravity"))
55 if (isCoupled(
"perm_change") && (coupledComponents(
"perm_change") != LIBMESH_DIM * LIBMESH_DIM))
56 mooseError(LIBMESH_DIM * LIBMESH_DIM,
57 " components of perm_change must be given to a Q2PMaterial. You supplied ",
58 coupledComponents(
"perm_change"),
62 for (
unsigned int i = 0; i < LIBMESH_DIM * LIBMESH_DIM; ++i)
63 _perm_change[i] = (isCoupled(
"perm_change") ? &coupledValue(
"perm_change", i)
76 for (
unsigned int i = 0; i < LIBMESH_DIM; i++)
77 for (
unsigned int j = 0; j < LIBMESH_DIM; j++)