https://mooseframework.inl.gov
Loading...
Searching...
No Matches
PorousFlowPermeabilityBase.C
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
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
12template <bool is_ad>
15{
17 params.addClassDescription("Base class for material permeability");
18 params.addPrivateParam<std::string>("pf_material_type", "permeability");
19 params.set<bool>("at_nodes") = false;
20 return params;
21}
22
23template <bool is_ad>
25 const InputParameters & parameters)
26 : PorousFlowMaterialVectorBase(parameters),
27 _permeability_qp(declareGenericProperty<RealTensorValue, is_ad>("PorousFlow_permeability_qp")),
28 _dpermeability_qp_dvar(
29 is_ad ? nullptr
30 : &declareProperty<std::vector<RealTensorValue>>("dPorousFlow_permeability_qp_dvar")),
31 _dpermeability_qp_dgradvar(is_ad ? nullptr
32 : &declareProperty<std::vector<std::vector<RealTensorValue>>>(
33 "dPorousFlow_permeability_qp_dgradvar"))
34{
35 if (_nodal_material == true)
36 mooseError("PorousFlowPermeability classes are only defined for at_nodes = false");
37}
38
void mooseError(Args &&... args)
void addPrivateParam(const std::string &name, const T &value)
void addClassDescription(const std::string &doc_string)
T & set(const std::string &name, bool quiet_mode=false)
Base class for all PorousFlow vector materials.
Base class Material designed to provide the permeability tensor.
PorousFlowPermeabilityBaseTempl(const InputParameters &parameters)