LCOV - code coverage report
Current view: top level - include/materials - PorousFlowJoiner.h (source / functions) Hit Total Coverage
Test: porous_flow Test Coverage Lines: 1 1 100.0 %
Date: 2017-11-18 13:30:36 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 POROUSFLOWJOINER_H
       9             : #define POROUSFLOWJOINER_H
      10             : 
      11             : #include "PorousFlowMaterialVectorBase.h"
      12             : 
      13             : // Forward Declarations
      14             : class PorousFlowJoiner;
      15             : 
      16             : template <>
      17             : InputParameters validParams<PorousFlowJoiner>();
      18             : 
      19             : /**
      20             :  * Material designed to form a std::vector of property
      21             :  * and derivatives of these wrt the nonlinear variables
      22             :  * from the individual phase properties.
      23             :  *
      24             :  * Old values are included if include_old=true
      25             :  * Values at the quadpoint or the nodes are formed depending on _at_qps
      26             :  *
      27             :  * Properties can be viscosities, densities, thermal conductivities , etc
      28             :  * and the user specifies the property they are interested
      29             :  * in using the pf_prop string.
      30             :  *
      31             :  * Also, using d(property)/dP, d(property)/dS, etc, and
      32             :  * dP/dvar, dS/dvar, etc, the matrix of derivatives of property
      33             :  * with respect to the nonlinear Variables,  var, are computed.
      34             :  *
      35             :  * Only values at the nodes are used - not at the quadpoints
      36             :  */
      37        4014 : class PorousFlowJoiner : public PorousFlowMaterialVectorBase
      38             : {
      39             : public:
      40             :   PorousFlowJoiner(const InputParameters & parameters);
      41             : 
      42             : protected:
      43             :   virtual void initQpStatefulProperties() override;
      44             :   virtual void computeQpProperties() override;
      45             : 
      46             :   /// Name of (dummy) pressure variable
      47             :   const VariableName _pressure_variable_name;
      48             : 
      49             :   /// Name of (dummy) saturation variable
      50             :   const VariableName _saturation_variable_name;
      51             : 
      52             :   /// Name of (dummy) temperature variable
      53             :   const VariableName _temperature_variable_name;
      54             : 
      55             :   /// Name of (dummy) mass fraction variable
      56             :   const VariableName _mass_fraction_variable_name;
      57             : 
      58             :   /// Name of material property to be joined
      59             :   const std::string _pf_prop;
      60             : 
      61             :   /// Whether to include old variables
      62             :   const bool _include_old;
      63             : 
      64             :   /// Derivatives of porepressure variable wrt PorousFlow variables at the qps or nodes
      65             :   const MaterialProperty<std::vector<std::vector<Real>>> & _dporepressure_dvar;
      66             : 
      67             :   /// Derivatives of saturation variable wrt PorousFlow variables at the qps or nodes
      68             :   const MaterialProperty<std::vector<std::vector<Real>>> & _dsaturation_dvar;
      69             : 
      70             :   /// Derivatives of temperature variable wrt PorousFlow variables at the qps or nodes
      71             :   const MaterialProperty<std::vector<Real>> & _dtemperature_dvar;
      72             : 
      73             :   /// computed property of the phase
      74             :   MaterialProperty<std::vector<Real>> & _property;
      75             : 
      76             :   /// d(property)/d(PorousFlow variable)
      77             :   MaterialProperty<std::vector<std::vector<Real>>> & _dproperty_dvar;
      78             : 
      79             :   /// property of each phase
      80             :   std::vector<const MaterialProperty<Real> *> _phase_property;
      81             : 
      82             :   /// d(property of each phase)/d(pressure)
      83             :   std::vector<const MaterialProperty<Real> *> _dphase_property_dp;
      84             : 
      85             :   /// d(property of each phase)/d(saturation)
      86             :   std::vector<const MaterialProperty<Real> *> _dphase_property_ds;
      87             : 
      88             :   /// d(property of each phase)/d(temperature)
      89             :   std::vector<const MaterialProperty<Real> *> _dphase_property_dt;
      90             : };
      91             : 
      92             : #endif // POROUSFLOWJOINER_H

Generated by: LCOV version 1.11