LCOV - code coverage report
Current view: top level - include/materials - PorousFlowRelativePermeabilityBase.h (source / functions) Hit Total Coverage
Test: porous_flow Test Coverage Lines: 1 1 100.0 %
Date: 2017-11-21 14:47:27 Functions: 1 2 50.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /****************************************************************/
       2             : /* MOOSE - Multiphysics Object Oriented Simulation Environment  */
       3             : /*                                                              */
       4             : /*          All contents are licensed under LGPL V2.1           */
       5             : /*             See LICENSE for full restrictions                */
       6             : /****************************************************************/
       7             : 
       8             : #ifndef POROUSFLOWRELATIVEPERMEABILITYBASE_H
       9             : #define POROUSFLOWRELATIVEPERMEABILITYBASE_H
      10             : 
      11             : #include "PorousFlowMaterialBase.h"
      12             : 
      13             : class PorousFlowRelativePermeabilityBase;
      14             : 
      15             : template <>
      16             : InputParameters validParams<PorousFlowRelativePermeabilityBase>();
      17             : 
      18             : /**
      19             :  * Base class for PorousFlow relative permeability materials. All materials
      20             :  * that derive from this class must override relativePermeability() and
      21             :  * dRelativePermeability()
      22             :  */
      23         966 : class PorousFlowRelativePermeabilityBase : public PorousFlowMaterialBase
      24             : {
      25             : public:
      26             :   PorousFlowRelativePermeabilityBase(const InputParameters & parameters);
      27             : 
      28             : protected:
      29             :   virtual void computeQpProperties() override;
      30             : 
      31             :   /**
      32             :    * Effective saturation of fluid phase
      33             :    * @param saturation true saturation
      34             :    * @return effective saturation
      35             :    */
      36             :   virtual Real effectiveSaturation(Real saturation) const;
      37             : 
      38             :   /**
      39             :    * Relative permeability equation (must be overriden in derived class)
      40             :    * @param seff effective saturation
      41             :    * @return relative permeability
      42             :    */
      43             :   virtual Real relativePermeability(Real seff) const = 0;
      44             : 
      45             :   /**
      46             :    * Derivative of relative permeability with respect to effective saturation
      47             :    * @param seff effective saturation
      48             :    * @return derivative of relative permeability wrt effective saturation
      49             :    */
      50             :   virtual Real dRelativePermeability(Real seff) const = 0;
      51             : 
      52             :   /// Relative permeability is multiplied by this quantity
      53             :   const Real _scaling;
      54             : 
      55             :   /// Name of (dummy) saturation primary variable
      56             :   VariableName _saturation_variable_name;
      57             : 
      58             :   /// Saturation material property
      59             :   const MaterialProperty<std::vector<Real>> & _saturation;
      60             : 
      61             :   /// Relative permeability material property
      62             :   MaterialProperty<Real> & _relative_permeability;
      63             : 
      64             :   /// Derivative of relative permeability wrt phase saturation
      65             :   MaterialProperty<Real> & _drelative_permeability_ds;
      66             : 
      67             :   /// Residual saturation of specified phase
      68             :   const Real _s_res;
      69             : 
      70             :   /// Sum of residual saturations over all phases
      71             :   const Real _sum_s_res;
      72             : 
      73             :   /// Derivative of effective saturation with respect to saturation
      74             :   const Real _dseff_ds;
      75             : };
      76             : 
      77             : #endif // POROUSFLOWRELATIVEPERMEABILITYBASE_H

Generated by: LCOV version 1.11