https://mooseframework.inl.gov
PorousFlowPorosityBase.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 
10 #include "PorousFlowPorosityBase.h"
11 
12 template <bool is_ad>
15 {
17  params.addPrivateParam<std::string>("pf_material_type", "porosity");
18  params.addClassDescription("Base class Material for porosity");
19  return params;
20 }
21 
22 template <bool is_ad>
24  : PorousFlowMaterialVectorBase(parameters),
25  _porosity(_nodal_material ? declareGenericProperty<Real, is_ad>("PorousFlow_porosity_nodal")
26  : declareGenericProperty<Real, is_ad>("PorousFlow_porosity_qp")),
27  _dporosity_dvar(is_ad ? nullptr
28  : _nodal_material
29  ? &declareProperty<std::vector<Real>>("dPorousFlow_porosity_nodal_dvar")
30  : &declareProperty<std::vector<Real>>("dPorousFlow_porosity_qp_dvar")),
31  _dporosity_dgradvar(
32  is_ad ? nullptr
33  : _nodal_material
34  ? &declareProperty<std::vector<RealGradient>>("dPorousFlow_porosity_nodal_dgradvar")
35  : &declareProperty<std::vector<RealGradient>>("dPorousFlow_porosity_qp_dgradvar"))
36 {
37 }
38 
void addPrivateParam(const std::string &name, const T &value)
PorousFlowPorosityBaseTempl(const InputParameters &parameters)
Base class for all PorousFlow vector materials.
static InputParameters validParams()
Base class Material designed to provide the porosity.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void addClassDescription(const std::string &doc_string)