LCOV - code coverage report
Current view: top level - include/auxkernels - PorousFlowPropertyAux.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 POROUSFLOWPROPERTYAUX_H
       9             : #define POROUSFLOWPROPERTYAUX_H
      10             : 
      11             : #include "AuxKernel.h"
      12             : #include "PorousFlowDictator.h"
      13             : 
      14             : class PorousFlowPropertyAux;
      15             : 
      16             : template <>
      17             : InputParameters validParams<PorousFlowPropertyAux>();
      18             : 
      19             : /**
      20             :  * Provides a simple interface to PorousFlow material properties.
      21             :  * Note that as all properties are in materials, only elemental
      22             :  * AuxVariables can be used
      23             :  */
      24         137 : class PorousFlowPropertyAux : public AuxKernel
      25             : {
      26             : public:
      27             :   PorousFlowPropertyAux(const InputParameters & parameters);
      28             : 
      29             : protected:
      30             :   virtual Real computeValue();
      31             : 
      32             : private:
      33             :   /// Pressure of each phase (at the qps)
      34             :   const MaterialProperty<std::vector<Real>> * _pressure;
      35             : 
      36             :   /// Saturation of each phase (at the qps)
      37             :   const MaterialProperty<std::vector<Real>> * _saturation;
      38             : 
      39             :   /// Temperature of the fluid (at the qps)
      40             :   const MaterialProperty<Real> * _temperature;
      41             : 
      42             :   /// Fluid density of each phase (at the qps)
      43             :   const MaterialProperty<std::vector<Real>> * _fluid_density;
      44             : 
      45             :   /// Viscosity of each phase
      46             :   const MaterialProperty<std::vector<Real>> * _fluid_viscosity;
      47             : 
      48             :   /// Mass fraction of each component in each phase
      49             :   const MaterialProperty<std::vector<std::vector<Real>>> * _mass_fractions;
      50             : 
      51             :   /// Relative permeability of each phase
      52             :   const MaterialProperty<std::vector<Real>> * _relative_permeability;
      53             : 
      54             :   /// Enthalpy of each phase
      55             :   const MaterialProperty<std::vector<Real>> * _enthalpy;
      56             : 
      57             :   /// Internal energy of each phase
      58             :   const MaterialProperty<std::vector<Real>> * _internal_energy;
      59             : 
      60             :   /// PorousFlow Dictator UserObject
      61             :   const PorousFlowDictator & _dictator;
      62             : 
      63             :   /// enum of properties
      64             :   const enum class PropertyEnum {
      65             :     PRESSURE,
      66             :     SATURATION,
      67             :     TEMPERATURE,
      68             :     DENSITY,
      69             :     VISCOSITY,
      70             :     MASS_FRACTION,
      71             :     RELPERM,
      72             :     ENTHALPY,
      73             :     INTERNAL_ENERGY
      74             :   } _property_enum;
      75             : 
      76             :   /// Phase index
      77             :   unsigned int _phase;
      78             : 
      79             :   /// Fluid omponent index
      80             :   unsigned int _fluid_component;
      81             : };
      82             : 
      83             : #endif // POROUSFLOWPROPERTYAUX_H

Generated by: LCOV version 1.11