www.mooseframework.org
Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
ACGrGrPoly Class Reference

This kernel calculates the residual for grain growth for a single phase, poly-crystal system. More...

#include <ACGrGrPoly.h>

Inheritance diagram for ACGrGrPoly:
[legend]

Public Member Functions

 ACGrGrPoly (const InputParameters &parameters)
 
virtual void initialSetup ()
 

Static Public Member Functions

static InputParameters validParams ()
 

Protected Types

enum  PFFunctionType
 

Protected Member Functions

virtual Real computeDFDOP (PFFunctionType type)
 
virtual Real computeQpOffDiagJacobian (unsigned int jvar)
 
virtual Real precomputeQpResidual ()
 
virtual Real precomputeQpJacobian ()
 

Protected Attributes

const MaterialProperty< Real > & _gamma
 
const unsigned int _op_num
 
std::vector< const VariableValue * > _vals
 
std::vector< unsigned int > _vals_var
 
const MaterialProperty< Real > & _mu
 
const MaterialProperty< Real > & _L
 Mobility. More...
 
const MaterialProperty< Real > & _dLdop
 Mobility derivative w.r.t. order parameter. More...
 
std::vector< const MaterialProperty< Real > * > _dLdarg
 Mobility derivative w.r.t coupled variables. More...
 

Detailed Description

This kernel calculates the residual for grain growth for a single phase, poly-crystal system.

A single material property gamma_asymm is used for the prefactor of the cross-terms between order parameters.

Definition at line 23 of file ACGrGrPoly.h.

Member Enumeration Documentation

enum ACBulk::PFFunctionType
protectedinherited

Definition at line 35 of file ACBulk.h.

Constructor & Destructor Documentation

ACGrGrPoly::ACGrGrPoly ( const InputParameters &  parameters)

Definition at line 18 of file ACGrGrPoly.C.

19  : ACGrGrBase(parameters), _gamma(getMaterialProperty<Real>("gamma_asymm"))
20 {
21 }
ACGrGrBase(const InputParameters &parameters)
Definition: ACGrGrBase.C:19
const MaterialProperty< Real > & _gamma
Definition: ACGrGrPoly.h:32

Member Function Documentation

Real ACGrGrPoly::computeDFDOP ( PFFunctionType  type)
protectedvirtual

Implements ACBulk< Real >.

Definition at line 24 of file ACGrGrPoly.C.

25 {
26  // Sum all other order parameters
27  Real SumEtaj = 0.0;
28  for (unsigned int i = 0; i < _op_num; ++i)
29  SumEtaj += (*_vals[i])[_qp] * (*_vals[i])[_qp];
30 
31  // Calculate either the residual or Jacobian of the grain growth free energy
32  switch (type)
33  {
34  case Residual:
35  {
36  return _mu[_qp] *
37  (_u[_qp] * _u[_qp] * _u[_qp] - _u[_qp] + 2.0 * _gamma[_qp] * _u[_qp] * SumEtaj);
38  }
39 
40  case Jacobian:
41  {
42  return _mu[_qp] *
43  (_phi[_j][_qp] * (3.0 * _u[_qp] * _u[_qp] - 1.0 + 2.0 * _gamma[_qp] * SumEtaj));
44  }
45 
46  default:
47  mooseError("Invalid type passed in");
48  }
49 }
const unsigned int _op_num
Definition: ACGrGrBase.h:29
const MaterialProperty< Real > & _mu
Definition: ACGrGrBase.h:34
std::vector< const VariableValue * > _vals
Definition: ACGrGrBase.h:31
const MaterialProperty< Real > & _gamma
Definition: ACGrGrPoly.h:32
Real ACGrGrPoly::computeQpOffDiagJacobian ( unsigned int  jvar)
protectedvirtual

Reimplemented from ACBulk< Real >.

Definition at line 52 of file ACGrGrPoly.C.

53 {
54  for (unsigned int i = 0; i < _op_num; ++i)
55  if (jvar == _vals_var[i])
56  {
57  // Derivative of SumEtaj
58  const Real dSumEtaj = 2.0 * (*_vals[i])[_qp] * _phi[_j][_qp];
59  const Real dDFDOP = _mu[_qp] * 2.0 * _gamma[_qp] * _u[_qp] * dSumEtaj;
60 
61  return _L[_qp] * _test[_i][_qp] * dDFDOP;
62  }
63 
64  return 0.0;
65 }
const unsigned int _op_num
Definition: ACGrGrBase.h:29
const MaterialProperty< Real > & _L
Mobility.
Definition: ACBulk.h:44
std::vector< unsigned int > _vals_var
Definition: ACGrGrBase.h:32
const MaterialProperty< Real > & _mu
Definition: ACGrGrBase.h:34
std::vector< const VariableValue * > _vals
Definition: ACGrGrBase.h:31
const MaterialProperty< Real > & _gamma
Definition: ACGrGrPoly.h:32
virtual void ACBulk< Real >::initialSetup ( )
virtualinherited
virtual Real ACBulk< Real >::precomputeQpJacobian ( )
protectedvirtualinherited
virtual Real ACBulk< Real >::precomputeQpResidual ( )
protectedvirtualinherited
static InputParameters ACBulk< Real >::validParams ( )
staticinherited

Member Data Documentation

std::vector<const MaterialProperty<Real > *> ACBulk< Real >::_dLdarg
protectedinherited

Mobility derivative w.r.t coupled variables.

Definition at line 50 of file ACBulk.h.

const MaterialProperty<Real >& ACBulk< Real >::_dLdop
protectedinherited

Mobility derivative w.r.t. order parameter.

Definition at line 47 of file ACBulk.h.

const MaterialProperty<Real>& ACGrGrPoly::_gamma
protected

Definition at line 32 of file ACGrGrPoly.h.

Referenced by computeDFDOP(), and computeQpOffDiagJacobian().

const MaterialProperty<Real >& ACBulk< Real >::_L
protectedinherited
const MaterialProperty<Real>& ACGrGrBase::_mu
protectedinherited
const unsigned int ACGrGrBase::_op_num
protectedinherited
std::vector<const VariableValue *> ACGrGrBase::_vals
protectedinherited
std::vector<unsigned int> ACGrGrBase::_vals_var
protectedinherited

The documentation for this class was generated from the following files: