LCOV - code coverage report
Current view: top level - include/materials - PorousFlowVariableBase.h (source / functions) Hit Total Coverage
Test: porous_flow Test Coverage Lines: 0 1 0.0 %
Date: 2017-11-21 14:47:27 Functions: 0 2 0.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 POROUSFLOWVARIABLEBASE_H
       9             : #define POROUSFLOWVARIABLEBASE_H
      10             : 
      11             : #include "DerivativeMaterialInterface.h"
      12             : #include "PorousFlowMaterial.h"
      13             : 
      14             : class PorousFlowVariableBase;
      15             : 
      16             : template <>
      17             : InputParameters validParams<PorousFlowVariableBase>();
      18             : 
      19             : /**
      20             :  * Base class for thermophysical variable materials, which assemble materials for
      21             :  * primary variables such as porepressure and saturation at the nodes
      22             :  * and quadpoints for all phases as required
      23             :  */
      24           0 : class PorousFlowVariableBase : public DerivativeMaterialInterface<PorousFlowMaterial>
      25             : {
      26             : public:
      27             :   PorousFlowVariableBase(const InputParameters & parameters);
      28             : 
      29             : protected:
      30             :   virtual void initQpStatefulProperties() override;
      31             :   virtual void computeQpProperties() override;
      32             : 
      33             :   /// Number of phases
      34             :   const unsigned int _num_phases;
      35             : 
      36             :   /// Number of components
      37             :   const unsigned int _num_components;
      38             : 
      39             :   /// Number of PorousFlow variables
      40             :   const unsigned int _num_pf_vars;
      41             : 
      42             :   /// Computed nodal or quadpoint values of porepressure of the phases
      43             :   MaterialProperty<std::vector<Real>> & _porepressure;
      44             : 
      45             :   /// d(porepressure)/d(PorousFlow variable)
      46             :   MaterialProperty<std::vector<std::vector<Real>>> & _dporepressure_dvar;
      47             : 
      48             :   /// Grad(p) at the quadpoints
      49             :   MaterialProperty<std::vector<RealGradient>> * const _gradp_qp;
      50             : 
      51             :   /// d(grad porepressure)/d(grad PorousFlow variable) at the quadpoints
      52             :   MaterialProperty<std::vector<std::vector<Real>>> * const _dgradp_qp_dgradv;
      53             : 
      54             :   /// d(grad porepressure)/d(PorousFlow variable) at the quadpoints
      55             :   MaterialProperty<std::vector<std::vector<RealGradient>>> * const _dgradp_qp_dv;
      56             : 
      57             :   /// Computed nodal or qp saturation of the phases
      58             :   MaterialProperty<std::vector<Real>> & _saturation;
      59             : 
      60             :   /// d(saturation)/d(PorousFlow variable)
      61             :   MaterialProperty<std::vector<std::vector<Real>>> & _dsaturation_dvar;
      62             : 
      63             :   /// Grad(s) at the quadpoints
      64             :   MaterialProperty<std::vector<RealGradient>> * const _grads_qp;
      65             : 
      66             :   /// d(grad saturation)/d(grad PorousFlow variable) at the quadpoints
      67             :   MaterialProperty<std::vector<std::vector<Real>>> * const _dgrads_qp_dgradv;
      68             : 
      69             :   /// d(grad saturation)/d(PorousFlow variable) at the quadpoints
      70             :   MaterialProperty<std::vector<std::vector<RealGradient>>> * const _dgrads_qp_dv;
      71             : };
      72             : 
      73             : #endif // POROUSFLOWVARIABLEBASE_H

Generated by: LCOV version 1.11