www.mooseframework.org
PorousFlowDesorpedMassTimeDerivative.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
12 #include "TimeDerivative.h"
13 #include "PorousFlowDictator.h"
14 
16 
17 template <>
19 
24 class PorousFlowDesorpedMassTimeDerivative : public TimeKernel
25 {
26 public:
27  PorousFlowDesorpedMassTimeDerivative(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 
36 
38  const unsigned int _conc_var_number;
39 
41  const VariableValue & _conc;
42 
44  const VariableValue & _conc_old;
45 
47  const MaterialProperty<Real> & _porosity;
48 
50  const MaterialProperty<Real> & _porosity_old;
51 
53  const MaterialProperty<std::vector<Real>> & _dporosity_dvar;
54 
56  const MaterialProperty<std::vector<RealGradient>> & _dporosity_dgradvar;
57 
63  Real computeQpJac(unsigned int jvar) const;
64 };
65 
const VariableValue & _conc_old
Old value of the concentration variable.
const MaterialProperty< std::vector< RealGradient > > & _dporosity_dgradvar
d(porosity)/d(grad PorousFlow variable) - these derivatives will be wrt grad(vars) at qps ...
InputParameters validParams< PorousFlowDesorpedMassTimeDerivative >()
Kernel = (desorped_mass - desorped_mass_old)/dt It is NOT lumped to the nodes.
const MaterialProperty< Real > & _porosity_old
Old value of porosity.
const MaterialProperty< std::vector< Real > > & _dporosity_dvar
d(porosity)/d(PorousFlow variable) - these derivatives will be wrt variables at the qps ...
Real computeQpJac(unsigned int jvar) const
Derivative of residual with respect to variable number jvar This is used by both computeQpJacobian an...
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override
const VariableValue & _conc
The concentration variable.
This holds maps between the nonlinear variables used in a PorousFlow simulation and the variable numb...
const PorousFlowDictator & _dictator
PorousFlowDictator UserObject.
const unsigned int _conc_var_number
The MOOSE variable number of the concentration variable.
const MaterialProperty< Real > & _porosity
Porosity at the qps.
PorousFlowDesorpedMassTimeDerivative(const InputParameters &parameters)