https://mooseframework.inl.gov
MatDiffusionBase.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
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 "GenericKernelGrad.h"
13 #include "JvarMapInterface.h"
15 
25 template <typename T, bool is_ad>
27  : public DerivativeMaterialInterface<JvarMapKernelInterface<GenericKernelGrad<is_ad>>>
28 {
29 public:
31 
32  MatDiffusionBaseTempl(const InputParameters & parameters);
33 
34 protected:
36 
39 
42 
44 };
45 
46 template <typename T>
47 class MatDiffusionBase : public MatDiffusionBaseTempl<T, false>
48 {
49 public:
51 
52  MatDiffusionBase(const InputParameters & parameters);
53 
55 
56 protected:
57  virtual void initialSetup() override;
58  virtual RealGradient precomputeQpJacobian() override;
59  virtual Real computeQpOffDiagJacobian(unsigned int jvar) override;
61 
64 
66  std::vector<const MaterialProperty<T> *> _ddiffusivity_darg;
67 
69  const bool _is_coupled;
70 
72  unsigned int _v_var;
73 
84 };
virtual RealGradient precomputeQpCJacobian()
virtual RealGradient precomputeQpJacobian() override
const MaterialProperty< T > & _ddiffusivity_dc
diffusion coefficient derivative w.r.t. the kernel variable
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
This class template implements a diffusion kernel with a mobility that can vary spatially and can dep...
virtual GenericRealVectorValue< is_ad > precomputeQpResidual() override
Moose::GenericType< VariableGradient, is_ad > GenericVariableGradient
Definition: MooseTypes.h:711
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
MatDiffusionBase(const InputParameters &parameters)
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override
static InputParameters validParams()
static InputParameters validParams()
virtual void initialSetup() override
Moose::GenericType< RealVectorValue, is_ad > GenericRealVectorValue
Definition: MooseTypes.h:697
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
std::vector< const MaterialProperty< T > * > _ddiffusivity_darg
diffusion coefficient derivatives w.r.t. coupled variables
Interface class ("Veneer") to provide generator methods for derivative material property names...
MatDiffusionBaseTempl(const InputParameters &parameters)
const GenericMaterialProperty< T, is_ad > & _diffusivity
diffusion coefficient
const bool _is_coupled
is the kernel used in a coupled form?
unsigned int _v_var
int label for the Concentration
const GenericVariableGradient< is_ad > & _grad_v
Gradient of the concentration.