www.mooseframework.org
MatGradSquareCoupled.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 Declarations
18 
19 template <>
20 InputParameters validParams<MatGradSquareCoupled>();
21 
22 /*
23  * This kernel calculates the prefactor * grad_psi * grad_psi in Allen-Cahn equation for phase field
24  * modeling of oxidation psi is the electric field variable. prefactor = 0.5 * d_permitivity/d_phi,
25  * described in [Materials] using [DerivativeParsedMaterials]
26  */
27 
28 class MatGradSquareCoupled : public DerivativeMaterialInterface<JvarMapKernelInterface<Kernel>>
29 {
30 public:
31  MatGradSquareCoupled(const InputParameters & parameters);
32  virtual void initialSetup();
33 
34 protected:
35  virtual Real computeQpResidual();
36  virtual Real computeQpJacobian();
37  virtual Real computeQpOffDiagJacobian(unsigned int jvar);
38 
39 private:
40  const VariableGradient & _grad_elec_potential;
41  const unsigned int _elec_potential_var;
42 
43  const MaterialProperty<Real> & _prefactor;
44  const MaterialProperty<Real> & _dprefactor_dphi;
45  std::vector<const MaterialProperty<Real> *> _dprefactor_darg;
46 };
47 
MatGradSquareCoupled::_prefactor
const MaterialProperty< Real > & _prefactor
Definition: MatGradSquareCoupled.h:43
MatGradSquareCoupled
Definition: MatGradSquareCoupled.h:28
MatGradSquareCoupled::computeQpJacobian
virtual Real computeQpJacobian()
Definition: MatGradSquareCoupled.C:55
MatGradSquareCoupled::MatGradSquareCoupled
MatGradSquareCoupled(const InputParameters &parameters)
Definition: MatGradSquareCoupled.C:29
validParams< MatGradSquareCoupled >
InputParameters validParams< MatGradSquareCoupled >()
Definition: MatGradSquareCoupled.C:16
MatGradSquareCoupled::_dprefactor_darg
std::vector< const MaterialProperty< Real > * > _dprefactor_darg
Definition: MatGradSquareCoupled.h:45
MatGradSquareCoupled::computeQpOffDiagJacobian
virtual Real computeQpOffDiagJacobian(unsigned int jvar)
Definition: MatGradSquareCoupled.C:62
MatGradSquareCoupled::initialSetup
virtual void initialSetup()
Definition: MatGradSquareCoupled.C:43
MatGradSquareCoupled::_elec_potential_var
const unsigned int _elec_potential_var
Definition: MatGradSquareCoupled.h:41
MatGradSquareCoupled::_dprefactor_dphi
const MaterialProperty< Real > & _dprefactor_dphi
Definition: MatGradSquareCoupled.h:44
MatGradSquareCoupled::computeQpResidual
virtual Real computeQpResidual()
Definition: MatGradSquareCoupled.C:49
MatGradSquareCoupled::_grad_elec_potential
const VariableGradient & _grad_elec_potential
Definition: MatGradSquareCoupled.h:40