www.mooseframework.org
PorousFlowPermeabilityBase.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 
12 template <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 
23 template <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 addPrivateParam(const std::string &name, const T &value)
PorousFlowPermeabilityBaseTempl(const InputParameters &parameters)
void mooseError(Args &&... args)
T & set(const std::string &name, bool quiet_mode=false)
Base class Material designed to provide the permeability tensor.
TensorValue< Real > RealTensorValue
Base class for all PorousFlow vector materials.
void addClassDescription(const std::string &doc_string)