LCOV - code coverage report
Current view: top level - include/materials - PorousFlowPorosityHM.h (source / functions) Hit Total Coverage
Test: porous_flow Test Coverage Lines: 1 1 100.0 %
Date: 2017-11-16 18:50:22 Functions: 2 2 100.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 POROUSFLOWPOROSITYHM_H
       9             : #define POROUSFLOWPOROSITYHM_H
      10             : 
      11             : #include "PorousFlowPorosityExponentialBase.h"
      12             : 
      13             : // Forward Declarations
      14             : class PorousFlowPorosityHM;
      15             : 
      16             : template <>
      17             : InputParameters validParams<PorousFlowPorosityHM>();
      18             : 
      19             : /**
      20             :  * Material designed to provide the porosity in hydro-mechanical simulations
      21             :  * biot + (phi0 - biot)*exp(-vol_strain +
      22             :  * (biot-1)*(effective_porepressure-reference_pressure)/solid_bulk)
      23             :  */
      24         126 : class PorousFlowPorosityHM : public PorousFlowPorosityExponentialBase
      25             : {
      26             : public:
      27             :   PorousFlowPorosityHM(const InputParameters & parameters);
      28             : 
      29             : protected:
      30             :   virtual Real atNegInfinityQp() const override;
      31             :   virtual Real atZeroQp() const override;
      32             :   virtual Real decayQp() const override;
      33             :   virtual Real ddecayQp_dvar(unsigned pvar) const override;
      34             :   virtual RealGradient ddecayQp_dgradvar(unsigned pvar) const override;
      35             : 
      36             :   /// porosity at zero strain and zero porepressure
      37             :   const VariableValue & _phi0;
      38             : 
      39             :   /// biot coefficient
      40             :   const Real _biot;
      41             : 
      42             :   /// drained bulk modulus of the porous skeleton
      43             :   const Real _solid_bulk;
      44             : 
      45             :   /// short-hand number (biot-1)/solid_bulk
      46             :   const Real _coeff;
      47             : 
      48             :   /// reference porepressure
      49             :   const VariableValue & _p_reference;
      50             : 
      51             :   /// number of displacement variables
      52             :   const unsigned int _ndisp;
      53             : 
      54             :   /// variable number of the displacements variables
      55             :   std::vector<unsigned int> _disp_var_num;
      56             : 
      57             :   /// strain
      58             :   const MaterialProperty<Real> & _vol_strain_qp;
      59             : 
      60             :   /// d(strain)/(dvar)
      61             :   const MaterialProperty<std::vector<RealGradient>> & _dvol_strain_qp_dvar;
      62             : 
      63             :   /// effective porepressure
      64             :   const MaterialProperty<Real> & _pf;
      65             : 
      66             :   /// d(effective porepressure)/(d porflow variable)
      67             :   const MaterialProperty<std::vector<Real>> & _dpf_dvar;
      68             : };
      69             : 
      70             : #endif // POROUSFLOWPOROSITYHM_H

Generated by: LCOV version 1.11