www.mooseframework.org
DesorptionFromMatrix.C
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 #include "DesorptionFromMatrix.h"
11 
12 #include <iostream>
13 
14 registerMooseObject("ChemicalReactionsApp", DesorptionFromMatrix);
15 
18 {
20  params.addRequiredCoupledVar(
21  "pressure_var",
22  "Variable representing the porepressure of the fluid adsorbed into the matrix");
23  params.addClassDescription("Mass flow rate from the matrix to the porespace. Add this to "
24  "TimeDerivative kernel to get complete DE for the fluid adsorbed "
25  "in the matrix");
26  return params;
27 }
28 
30  : Kernel(parameters),
31  _pressure_var(coupled("pressure_var")),
32  _mass_rate_from_matrix(getMaterialProperty<Real>("mass_rate_from_matrix")),
33  _dmass_rate_from_matrix_dC(getMaterialProperty<Real>("dmass_rate_from_matrix_dC")),
34  _dmass_rate_from_matrix_dp(getMaterialProperty<Real>("dmass_rate_from_matrix_dp"))
35 {
36 }
37 
38 Real
40 {
42 }
43 
44 Real
46 {
48 }
49 
50 Real
52 {
53  if (jvar != _pressure_var)
54  return 0.0;
56 }
DesorptionFromMatrix(const InputParameters &parameters)
static InputParameters validParams()
Mass flow rate of adsorbed fluid from matrix Add this to TimeDerivative to form the entire DE for des...
registerMooseObject("ChemicalReactionsApp", DesorptionFromMatrix)
virtual Real computeQpJacobian() override
const VariableTestValue & _test
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override
const MaterialProperty< Real > & _dmass_rate_from_matrix_dC
derivative of mass flow rate from matrix wrt concentration
static InputParameters validParams()
unsigned int _i
void addRequiredCoupledVar(const std::string &name, const std::string &doc_string)
unsigned int _j
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const MaterialProperty< Real > & _mass_rate_from_matrix
mass flow rate from matrix = mass flow rate to porespace
void addClassDescription(const std::string &doc_string)
const unsigned int _pressure_var
MOOSE internal variable number corresponding to the porepressure (need this of OffDiagJacobian) ...
virtual Real computeQpResidual() override
const VariablePhiValue & _phi
const MaterialProperty< Real > & _dmass_rate_from_matrix_dp
derivative of mass flow rate from matrix wrt pressure
unsigned int _qp