LCOV - code coverage report
Current view: top level - include/materials - PorousFlowRelativePermeabilityVG.h (source / functions) Hit Total Coverage
Test: porous_flow Test Coverage Lines: 1 1 100.0 %
Date: 2017-11-17 17:48:31 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 POROUSFLOWRELATIVEPERMEABILITYVG_H
       9             : #define POROUSFLOWRELATIVEPERMEABILITYVG_H
      10             : 
      11             : #include "PorousFlowRelativePermeabilityBase.h"
      12             : #include "PorousFlowVanGenuchten.h"
      13             : 
      14             : class PorousFlowRelativePermeabilityVG;
      15             : 
      16             : template <>
      17             : InputParameters validParams<PorousFlowRelativePermeabilityVG>();
      18             : 
      19             : /**
      20             :  * Material to calculate van Genuchten-type relative permeability
      21             :  * of an arbitrary phase given the saturation and exponent of that phase.
      22             :  *
      23             :  * From van Genuchten, M. Th., A closed for equation for predicting the
      24             :  * hydraulic conductivity of unsaturated soils, Soil Sci. Soc., 44, 892-898 (1980)
      25             :  *
      26             :  * Optionally this relative permeability may be smoothed with a cubic near seff=1
      27             :  * The relative permeability is a cubic for seff>_cut.  The cubic is chosen so
      28             :  * that the derivative is zero for seff=1, and that the derivative and value matches
      29             :  * the van Genuchten expression for seff=_cut.
      30             :  */
      31          30 : class PorousFlowRelativePermeabilityVG : public PorousFlowRelativePermeabilityBase
      32             : {
      33             : public:
      34             :   PorousFlowRelativePermeabilityVG(const InputParameters & parameters);
      35             : 
      36             : protected:
      37             :   virtual Real relativePermeability(Real seff) const override;
      38             :   virtual Real dRelativePermeability(Real seff) const override;
      39             : 
      40             :   /// van Genuchten exponent m for the specified phase
      41             :   const Real _m;
      42             : 
      43             :   /// start of cubic smoothing
      44             :   const Real _cut;
      45             : 
      46             :   /// Parameter of the cubic
      47             :   const Real _cub0;
      48             :   /// Parameter of the cubic
      49             :   const Real _cub1;
      50             :   /// Parameter of the cubic
      51             :   const Real _cub2;
      52             :   /// Parameter of the cubic
      53             :   const Real _cub3;
      54             : };
      55             : 
      56             : #endif // POROUSFLOWRELATIVEPERMEABILITYVG_H

Generated by: LCOV version 1.11