LCOV - code coverage report
Current view: top level - include/kernels - PorousFlowPlasticHeatEnergy.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             : #ifndef POROUSFLOWPLASTICHEATENERGY_H
       8             : #define POROUSFLOWPLASTICHEATENERGY_H
       9             : 
      10             : #include "PlasticHeatEnergy.h"
      11             : #include "PorousFlowDictator.h"
      12             : 
      13             : // Forward Declarations
      14             : class PorousFlowPlasticHeatEnergy;
      15             : 
      16             : template <>
      17             : InputParameters validParams<PorousFlowPlasticHeatEnergy>();
      18             : 
      19             : /**
      20             :  * Provides a heat source (J/m^3/s) from plastic deformation:
      21             :  * (1 - porosity) * coeff * stress * plastic_strain_rate
      22             :  */
      23           3 : class PorousFlowPlasticHeatEnergy : public PlasticHeatEnergy
      24             : {
      25             : public:
      26             :   PorousFlowPlasticHeatEnergy(const InputParameters & parameters);
      27             : 
      28             : protected:
      29             :   virtual Real computeQpResidual() override;
      30             :   virtual Real computeQpJacobian() override;
      31             :   virtual Real computeQpOffDiagJacobian(unsigned int jvar) override;
      32             : 
      33             :   /// holds info on the PorousFlow variables
      34             :   const PorousFlowDictator & _dictator;
      35             : 
      36             :   /// whether the porosity uses the volumetric strain at the closest quadpoint
      37             :   const bool _strain_at_nearest_qp;
      38             : 
      39             :   /// the nearest qp to the node
      40             :   const MaterialProperty<unsigned int> * const _nearest_qp;
      41             : 
      42             :   /// porosity at the nodes, but it can depend on grad(variables) which are actually evaluated at the qps
      43             :   const MaterialProperty<Real> & _porosity;
      44             : 
      45             :   /// d(porosity)/d(porous-flow variable) - these derivatives will be wrt variables at the nodes
      46             :   const MaterialProperty<std::vector<Real>> & _dporosity_dvar;
      47             : 
      48             :   /// d(porosity)/d(grad porous-flow variable) - remember these derivatives will be wrt grad(vars) at qps
      49             :   const MaterialProperty<std::vector<RealGradient>> & _dporosity_dgradvar;
      50             : };
      51             : 
      52             : #endif // POROUSFLOWPLASTICHEATENERGY_H

Generated by: LCOV version 1.11