www.mooseframework.org
PorousFlowPermeabilityConstFromVar.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
11 
13 
14 template <>
15 InputParameters
17 {
18  InputParameters params = validParams<PorousFlowPermeabilityBase>();
19  params.addRequiredCoupledVar("perm_xx", "The xx component of the permeability tensor");
20  params.addRequiredCoupledVar("perm_yy", "The yy component of the permeability tensor");
21  params.addRequiredCoupledVar("perm_zz", "The zz component of the permeability tensor");
22  params.addCoupledVar("perm_xy", 0.0, "The xy component of the permeability tensor");
23  params.addCoupledVar("perm_xz", 0.0, "The xz component of the permeability tensor");
24  params.addCoupledVar("perm_yx", 0.0, "The yx component of the permeability tensor");
25  params.addCoupledVar("perm_yz", 0.0, "The yz component of the permeability tensor");
26  params.addCoupledVar("perm_zx", 0.0, "The zx component of the permeability tensor");
27  params.addCoupledVar("perm_zy", 0.0, "The zy component of the permeability tensor");
28  params.addClassDescription(
29  "This Material calculates the permeability tensor given by the input variables");
30  return params;
31 }
32 
34  const InputParameters & parameters)
35  : PorousFlowPermeabilityBase(parameters),
36  _perm_xx(coupledValue("perm_xx")),
37  _perm_xy(coupledValue("perm_xy")),
38  _perm_xz(coupledValue("perm_xz")),
39  _perm_yx(coupledValue("perm_yx")),
40  _perm_yy(coupledValue("perm_yy")),
41  _perm_yz(coupledValue("perm_yz")),
42  _perm_zx(coupledValue("perm_zx")),
43  _perm_zy(coupledValue("perm_zy")),
44  _perm_zz(coupledValue("perm_zz"))
45 {
46 }
47 
48 void
50 {
51  RealTensorValue permeability(_perm_xx[_qp],
52  _perm_xy[_qp],
53  _perm_xz[_qp],
54  _perm_yx[_qp],
55  _perm_yy[_qp],
56  _perm_yz[_qp],
57  _perm_zx[_qp],
58  _perm_zy[_qp],
59  _perm_zz[_qp]);
60 
61  _permeability_qp[_qp] = permeability;
62  _dpermeability_qp_dvar[_qp].resize(_num_var, RealTensorValue());
63  _dpermeability_qp_dgradvar[_qp].resize(LIBMESH_DIM);
64 
65  for (unsigned int i = 0; i < LIBMESH_DIM; ++i)
66  _dpermeability_qp_dgradvar[_qp][i].resize(_num_var, RealTensorValue());
67 }
PorousFlowPermeabilityConstFromVar::_perm_yz
const VariableValue & _perm_yz
Definition: PorousFlowPermeabilityConstFromVar.h:43
PorousFlowPermeabilityConstFromVar::PorousFlowPermeabilityConstFromVar
PorousFlowPermeabilityConstFromVar(const InputParameters &parameters)
Definition: PorousFlowPermeabilityConstFromVar.C:33
PorousFlowPermeabilityBase
Base class Material designed to provide the permeability tensor.
Definition: PorousFlowPermeabilityBase.h:22
PorousFlowPermeabilityBase::_dpermeability_qp_dvar
MaterialProperty< std::vector< RealTensorValue > > & _dpermeability_qp_dvar
d(quadpoint permeability)/d(PorousFlow variable)
Definition: PorousFlowPermeabilityBase.h:32
validParams< PorousFlowPermeabilityConstFromVar >
InputParameters validParams< PorousFlowPermeabilityConstFromVar >()
Definition: PorousFlowPermeabilityConstFromVar.C:16
PorousFlowPermeabilityConstFromVar.h
PorousFlowPermeabilityConstFromVar::computeQpProperties
void computeQpProperties() override
Definition: PorousFlowPermeabilityConstFromVar.C:49
PorousFlowPermeabilityBase::_permeability_qp
MaterialProperty< RealTensorValue > & _permeability_qp
Quadpoint permeability.
Definition: PorousFlowPermeabilityBase.h:29
PorousFlowPermeabilityConstFromVar::_perm_zz
const VariableValue & _perm_zz
Definition: PorousFlowPermeabilityConstFromVar.h:46
validParams< PorousFlowPermeabilityBase >
InputParameters validParams< PorousFlowPermeabilityBase >()
Definition: PorousFlowPermeabilityBase.C:14
PorousFlowPermeabilityConstFromVar::_perm_xz
const VariableValue & _perm_xz
Definition: PorousFlowPermeabilityConstFromVar.h:40
registerMooseObject
registerMooseObject("PorousFlowApp", PorousFlowPermeabilityConstFromVar)
PorousFlowPermeabilityConstFromVar::_perm_yy
const VariableValue & _perm_yy
Definition: PorousFlowPermeabilityConstFromVar.h:42
PorousFlowPermeabilityConstFromVar::_perm_zx
const VariableValue & _perm_zx
Definition: PorousFlowPermeabilityConstFromVar.h:44
PorousFlowMaterialVectorBase::_num_var
const unsigned int _num_var
Number of PorousFlow variables.
Definition: PorousFlowMaterialVectorBase.h:36
PorousFlowPermeabilityBase::_dpermeability_qp_dgradvar
MaterialProperty< std::vector< std::vector< RealTensorValue > > > & _dpermeability_qp_dgradvar
d(quadpoint permeability)/d(grad(PorousFlow variable))
Definition: PorousFlowPermeabilityBase.h:35
PorousFlowPermeabilityConstFromVar::_perm_xx
const VariableValue & _perm_xx
Permeability components.
Definition: PorousFlowPermeabilityConstFromVar.h:38
PorousFlowPermeabilityConstFromVar::_perm_xy
const VariableValue & _perm_xy
Definition: PorousFlowPermeabilityConstFromVar.h:39
PorousFlowPermeabilityConstFromVar::_perm_zy
const VariableValue & _perm_zy
Definition: PorousFlowPermeabilityConstFromVar.h:45
PorousFlowPermeabilityConstFromVar::_perm_yx
const VariableValue & _perm_yx
Definition: PorousFlowPermeabilityConstFromVar.h:41
PorousFlowPermeabilityConstFromVar
Material to provide permeability taken from a variable.
Definition: PorousFlowPermeabilityConstFromVar.h:29