https://mooseframework.inl.gov
Loading...
Searching...
No Matches
ACBarrierFunction.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 "ACGrGrBase.h"
13#include "ADGrainGrowthBase.h"
14
20template <bool is_ad>
21using ACBarrierFunctionBase = typename std::conditional<is_ad, ADGrainGrowthBase, ACGrGrBase>::type;
22
23template <bool is_ad>
25{
26public:
28
29 ACBarrierFunctionTempl(const InputParameters & parameters);
30
31protected:
32 const NonlinearVariableName _uname;
33 const MaterialPropertyName _gamma_name;
36
37 using ACBarrierFunctionBase<is_ad>::_op_num;
38 using ACBarrierFunctionBase<is_ad>::_qp;
39 using ACBarrierFunctionBase<is_ad>::_vals;
40 using ACBarrierFunctionBase<is_ad>::_u;
41};
42
44{
45public:
46 ACBarrierFunction(const InputParameters & parameters);
47
48protected:
49 virtual Real computeDFDOP(PFFunctionType type);
50 virtual Real computeQpOffDiagJacobian(unsigned int jvar);
51
52 unsigned int _n_eta;
54
55 const std::vector<VariableName> _vname;
56 std::vector<const MaterialProperty<Real> *> _d2mudvardeta;
57 const JvarMap & _vmap;
58
59private:
60 Real calculateF0();
61};
62
64{
65public:
67
68protected:
69 virtual ADReal computeDFDOP();
70};
typename std::conditional< is_ad, ADGrainGrowthBase, ACGrGrBase >::type ACBarrierFunctionBase
Several kernels use a material property called mu.
DualNumber< Real, DNDerivativeType, true > ADReal
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
const GenericMaterialProperty< Real, is_ad > & _dmudvar
static InputParameters validParams()
const NonlinearVariableName _uname
const GenericMaterialProperty< Real, is_ad > & _gamma
const MaterialPropertyName _gamma_name
virtual Real computeQpOffDiagJacobian(unsigned int jvar)
const MaterialProperty< Real > & _d2mudvar2
const JvarMap & _vmap
std::vector< const MaterialProperty< Real > * > _d2mudvardeta
const std::vector< VariableName > _vname
virtual Real computeDFDOP(PFFunctionType type)
virtual ADReal computeDFDOP()