www.mooseframework.org
PorousFlowRelativePermeabilityBase.h
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 
10 #pragma once
11 
12 #include "PorousFlowMaterialBase.h"
13 
15 
16 template <>
18 
25 {
26 public:
27  PorousFlowRelativePermeabilityBase(const InputParameters & parameters);
28 
29 protected:
30  virtual void computeQpProperties() override;
31 
37  virtual Real effectiveSaturation(Real saturation) const;
38 
44  virtual Real relativePermeability(Real seff) const = 0;
45 
51  virtual Real dRelativePermeability(Real seff) const = 0;
52 
54  const Real _scaling;
55 
57  const MaterialProperty<std::vector<Real>> & _saturation;
58 
60  MaterialProperty<Real> & _relative_permeability;
61 
63  MaterialProperty<Real> & _drelative_permeability_ds;
64 
66  const Real _s_res;
67 
69  const Real _sum_s_res;
70 
72  const Real _dseff_ds;
73 };
74 
PorousFlowRelativePermeabilityBase::relativePermeability
virtual Real relativePermeability(Real seff) const =0
Relative permeability equation (must be overriden in derived class)
PorousFlowRelativePermeabilityBase::_s_res
const Real _s_res
Residual saturation of specified phase.
Definition: PorousFlowRelativePermeabilityBase.h:66
PorousFlowRelativePermeabilityBase::_drelative_permeability_ds
MaterialProperty< Real > & _drelative_permeability_ds
Derivative of relative permeability wrt phase saturation.
Definition: PorousFlowRelativePermeabilityBase.h:63
PorousFlowRelativePermeabilityBase::dRelativePermeability
virtual Real dRelativePermeability(Real seff) const =0
Derivative of relative permeability with respect to effective saturation.
PorousFlowRelativePermeabilityBase::_sum_s_res
const Real _sum_s_res
Sum of residual saturations over all phases.
Definition: PorousFlowRelativePermeabilityBase.h:69
PorousFlowRelativePermeabilityBase
Base class for PorousFlow relative permeability materials.
Definition: PorousFlowRelativePermeabilityBase.h:24
PorousFlowRelativePermeabilityBase::computeQpProperties
virtual void computeQpProperties() override
Definition: PorousFlowRelativePermeabilityBase.C:59
PorousFlowRelativePermeabilityBase::_dseff_ds
const Real _dseff_ds
Derivative of effective saturation with respect to saturation.
Definition: PorousFlowRelativePermeabilityBase.h:72
PorousFlowRelativePermeabilityBase::PorousFlowRelativePermeabilityBase
PorousFlowRelativePermeabilityBase(const InputParameters &parameters)
Definition: PorousFlowRelativePermeabilityBase.C:34
PorousFlowRelativePermeabilityBase::_saturation
const MaterialProperty< std::vector< Real > > & _saturation
Saturation material property.
Definition: PorousFlowRelativePermeabilityBase.h:57
PorousFlowRelativePermeabilityBase::_scaling
const Real _scaling
Relative permeability is multiplied by this quantity.
Definition: PorousFlowRelativePermeabilityBase.h:54
PorousFlowRelativePermeabilityBase::_relative_permeability
MaterialProperty< Real > & _relative_permeability
Relative permeability material property.
Definition: PorousFlowRelativePermeabilityBase.h:60
PorousFlowMaterialBase.h
validParams< PorousFlowRelativePermeabilityBase >
InputParameters validParams< PorousFlowRelativePermeabilityBase >()
Definition: PorousFlowRelativePermeabilityBase.C:14
PorousFlowRelativePermeabilityBase::effectiveSaturation
virtual Real effectiveSaturation(Real saturation) const
Effective saturation of fluid phase.
Definition: PorousFlowRelativePermeabilityBase.C:88
PorousFlowMaterialBase
Base class for all PorousFlow materials that provide phase-dependent properties.
Definition: PorousFlowMaterialBase.h:27