www.mooseframework.org
MatReaction.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 "Kernel.h"
13 #include "JvarMapInterface.h"
14 #include "DerivativeMaterialInterface.h"
15 
16 // Forward Declaration
17 class MatReaction;
18 
19 template <>
20 InputParameters validParams<MatReaction>();
21 
26 class MatReaction : public DerivativeMaterialInterface<JvarMapKernelInterface<Kernel>>
27 {
28 public:
29  MatReaction(const InputParameters & parameters);
30  virtual void initialSetup();
31 
32 protected:
33  virtual Real computeQpResidual();
34  virtual Real computeQpJacobian();
35  virtual Real computeQpOffDiagJacobian(unsigned int jvar);
36 
38  const bool _is_coupled;
39 
46  std::string _v_name;
47  const VariableValue & _v;
48  unsigned int _v_var;
49 
51  const MaterialProperty<Real> & _L;
52 
54  VariableName _eta_name;
55 
57  const MaterialProperty<Real> & _dLdop;
58 
60  const MaterialProperty<Real> & _dLdv;
61 
63  const unsigned int _nvar;
64 
66  std::vector<const MaterialProperty<Real> *> _dLdarg;
67 };
68 
MatReaction
This kernel adds to the residual a contribution of where is a material property and is a variable ...
Definition: MatReaction.h:26
MatReaction::computeQpJacobian
virtual Real computeQpJacobian()
Definition: MatReaction.C:62
MatReaction::_v_var
unsigned int _v_var
Definition: MatReaction.h:48
MatReaction::_nvar
const unsigned int _nvar
number of coupled variables
Definition: MatReaction.h:63
MatReaction::_dLdv
const MaterialProperty< Real > & _dLdv
Reaction rate derivative w.r.t. the variable being added by this kernel.
Definition: MatReaction.h:60
MatReaction::initialSetup
virtual void initialSetup()
Definition: MatReaction.C:50
MatReaction::computeQpResidual
virtual Real computeQpResidual()
Definition: MatReaction.C:56
MatReaction::_dLdop
const MaterialProperty< Real > & _dLdop
Reaction rate derivative w.r.t. order parameter.
Definition: MatReaction.h:57
MatReaction::_dLdarg
std::vector< const MaterialProperty< Real > * > _dLdarg
Reaction rate derivatives w.r.t. other coupled variables.
Definition: MatReaction.h:66
MatReaction::MatReaction
MatReaction(const InputParameters &parameters)
Definition: MatReaction.C:28
MatReaction::_L
const MaterialProperty< Real > & _L
Reaction rate.
Definition: MatReaction.h:51
MatReaction::_v
const VariableValue & _v
Definition: MatReaction.h:47
validParams< MatReaction >
InputParameters validParams< MatReaction >()
Definition: MatReaction.C:16
MatReaction::_v_name
std::string _v_name
Kernel variable (can be nonlinear or coupled variable) (For constrained Allen-Cahn problems,...
Definition: MatReaction.h:46
MatReaction::computeQpOffDiagJacobian
virtual Real computeQpOffDiagJacobian(unsigned int jvar)
Definition: MatReaction.C:71
MatReaction::_eta_name
VariableName _eta_name
name of the order parameter (needed to retrieve the derivative material properties)
Definition: MatReaction.h:54
MatReaction::_is_coupled
const bool _is_coupled
is the kernel used in a coupled form?
Definition: MatReaction.h:38