LCOV - code coverage report
Current view: top level - include/kernels - PorousFlowFullySaturatedDarcyBase.h (source / functions) Hit Total Coverage
Test: porous_flow Test Coverage Lines: 1 1 100.0 %
Date: 2017-11-18 13:30:36 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 POROUSBASEFULLYSATURATEDDARCYBASE_H
       9             : #define POROUSBASEFULLYSATURATEDDARCYBASE_H
      10             : 
      11             : #include "Kernel.h"
      12             : #include "PorousFlowDictator.h"
      13             : 
      14             : class PorousFlowFullySaturatedDarcyBase;
      15             : 
      16             : template <>
      17             : InputParameters validParams<PorousFlowFullySaturatedDarcyBase>();
      18             : 
      19             : /**
      20             :  * Darcy advective flux for a fully-saturated,
      21             :  * single phase, single component fluid.
      22             :  * No upwinding or relative-permeability is used.
      23             :  */
      24          28 : class PorousFlowFullySaturatedDarcyBase : public Kernel
      25             : {
      26             : public:
      27             :   PorousFlowFullySaturatedDarcyBase(const InputParameters & parameters);
      28             : 
      29             : protected:
      30             :   virtual Real computeQpResidual() override;
      31             :   virtual Real computeQpJacobian() override;
      32             :   virtual Real computeQpOffDiagJacobian(unsigned int jvar) override;
      33             : 
      34             :   /**
      35             :    * The mobility of the fluid = density / viscosity
      36             :    */
      37             :   virtual Real mobility() const;
      38             : 
      39             :   /**
      40             :    * The derivative of the mobility with respect to the porous-flow variable pvar
      41             :    * @param pvar Take the derivative with respect to this porous-flow variable
      42             :    */
      43             :   virtual Real dmobility(unsigned pvar) const;
      44             : 
      45             :   /// If true then the mobility contains the fluid density, otherwise it doesn't
      46             :   const bool _multiply_by_density;
      47             : 
      48             :   /// Permeability of porous material
      49             :   const MaterialProperty<RealTensorValue> & _permeability;
      50             : 
      51             :   /// d(permeabiity)/d(porous-flow variable)
      52             :   const MaterialProperty<std::vector<RealTensorValue>> & _dpermeability_dvar;
      53             : 
      54             :   /// d(permeabiity)/d(grad(porous-flow variable))
      55             :   const MaterialProperty<std::vector<std::vector<RealTensorValue>>> & _dpermeability_dgradvar;
      56             : 
      57             :   /// Fluid density for each phase (at the qp)
      58             :   const MaterialProperty<std::vector<Real>> & _density;
      59             : 
      60             :   /// Derivative of the fluid density for each phase wrt PorousFlow variables (at the qp)
      61             :   const MaterialProperty<std::vector<std::vector<Real>>> & _ddensity_dvar;
      62             : 
      63             :   /// Viscosity of the fluid at the qp
      64             :   const MaterialProperty<std::vector<Real>> & _viscosity;
      65             : 
      66             :   /// Derivative of the fluid viscosity  wrt PorousFlow variables
      67             :   const MaterialProperty<std::vector<std::vector<Real>>> & _dviscosity_dvar;
      68             : 
      69             :   /// Quadpoint pore pressure in each phase
      70             :   const MaterialProperty<std::vector<Real>> & _pp;
      71             : 
      72             :   /// Gradient of the pore pressure in each phase
      73             :   const MaterialProperty<std::vector<RealGradient>> & _grad_p;
      74             : 
      75             :   /// Derivative of Grad porepressure in each phase wrt grad(PorousFlow variables)
      76             :   const MaterialProperty<std::vector<std::vector<Real>>> & _dgrad_p_dgrad_var;
      77             : 
      78             :   /// Derivative of Grad porepressure in each phase wrt PorousFlow variables
      79             :   const MaterialProperty<std::vector<std::vector<RealGradient>>> & _dgrad_p_dvar;
      80             : 
      81             :   /// PorousFlow UserObject
      82             :   const PorousFlowDictator & _porousflow_dictator;
      83             : 
      84             :   /// Gravity pointing downwards
      85             :   const RealVectorValue _gravity;
      86             : };
      87             : 
      88             : #endif // POROUSBASEFULLYSATURATEDDARCYBASE_H

Generated by: LCOV version 1.11