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

#include <ComputeSurfaceTensionKKS.h>

Inheritance diagram for ComputeSurfaceTensionKKS:
[legend]

Public Member Functions

 ComputeSurfaceTensionKKS (const InputParameters &parameters)
 

Static Public Member Functions

static InputParameters validParams ()
 

Protected Member Functions

virtual void computeQpProperties () override
 

Protected Attributes

const VariableValue & _v
 Order parameter. More...
 
const VariableGradient & _grad_v
 Gradient of order parameter. More...
 
const MaterialProperty< Real > & _kappa
 Material property for gradient energy coefficient. More...
 
const MaterialProperty< Real > & _g
 Material property for barrier function. More...
 
Real _w
 double well height parameter More...
 
MaterialProperty< RankTwoTensor > & _planar_stress
 

Detailed Description

Definition at line 22 of file ComputeSurfaceTensionKKS.h.

Constructor & Destructor Documentation

◆ ComputeSurfaceTensionKKS()

ComputeSurfaceTensionKKS::ComputeSurfaceTensionKKS ( const InputParameters &  parameters)

Definition at line 34 of file ComputeSurfaceTensionKKS.C.

35  : Material(parameters),
36  _v(coupledValue("v")),
37  _grad_v(coupledGradient("v")),
38  _kappa(getMaterialProperty<Real>("kappa_name")),
39  _g(getMaterialProperty<Real>("g")),
40  _w(getParam<Real>("w")),
42  declareProperty<RankTwoTensor>(getParam<MaterialPropertyName>("planar_stress_name")))
43 {
44 }

Member Function Documentation

◆ computeQpProperties()

void ComputeSurfaceTensionKKS::computeQpProperties ( )
overrideprotectedvirtual

Definition at line 47 of file ComputeSurfaceTensionKKS.C.

48 {
49  auto & S = _planar_stress[_qp];
50  S.zero();
51 
52  // compute norm square of the order parameter gradient
53  const Real grad_norm_sq = _grad_v[_qp].norm_sq();
54 
55  const Real nx = _grad_v[_qp](0);
56  const Real ny = _grad_v[_qp](1);
57  const Real nz = _grad_v[_qp](2);
58  Real fsum = _w * _g[_qp] + 0.5 * _kappa[_qp] * grad_norm_sq;
59 
60  S(0, 0) += fsum - _kappa[_qp] * nx * nx;
61  S(0, 1) += -_kappa[_qp] * nx * ny;
62  S(1, 1) += fsum - _kappa[_qp] * ny * ny;
63  S(0, 2) += -_kappa[_qp] * nx * nz;
64  S(1, 2) += -_kappa[_qp] * ny * nz;
65  S(2, 2) += fsum - _kappa[_qp] * nz * nz;
66 
67  // fill in symmetrically
68  S(1, 0) = S(0, 1);
69  S(2, 0) = S(0, 2);
70  S(2, 1) = S(1, 2);
71 }

◆ validParams()

InputParameters ComputeSurfaceTensionKKS::validParams ( )
static

Definition at line 18 of file ComputeSurfaceTensionKKS.C.

19 {
20  InputParameters params = Material::validParams();
21  params.addClassDescription(
22  "Surface tension of an interface defined by the gradient of an order parameter");
23  params.addCoupledVar("v",
24  "Order parameter that defines the interface, assumed to vary from 0 to 1.");
25  params.addParam<MaterialPropertyName>("kappa_name", "kappa_op", "Gradient energy coefficient");
26  params.addParam<MaterialPropertyName>("g", "g", "Barrier Function Material that provides g(eta)");
27  params.addRequiredParam<Real>("w", "Double well height parameter");
28  params.addParam<MaterialPropertyName>("planar_stress_name",
29  "extra_stress",
30  "Material property name for the interfacial planar stress");
31  return params;
32 }

Member Data Documentation

◆ _g

const MaterialProperty<Real>& ComputeSurfaceTensionKKS::_g
protected

Material property for barrier function.

Definition at line 40 of file ComputeSurfaceTensionKKS.h.

Referenced by computeQpProperties().

◆ _grad_v

const VariableGradient& ComputeSurfaceTensionKKS::_grad_v
protected

Gradient of order parameter.

Definition at line 35 of file ComputeSurfaceTensionKKS.h.

Referenced by computeQpProperties().

◆ _kappa

const MaterialProperty<Real>& ComputeSurfaceTensionKKS::_kappa
protected

Material property for gradient energy coefficient.

Definition at line 38 of file ComputeSurfaceTensionKKS.h.

Referenced by computeQpProperties().

◆ _planar_stress

MaterialProperty<RankTwoTensor>& ComputeSurfaceTensionKKS::_planar_stress
protected

Definition at line 44 of file ComputeSurfaceTensionKKS.h.

Referenced by computeQpProperties().

◆ _v

const VariableValue& ComputeSurfaceTensionKKS::_v
protected

Order parameter.

Definition at line 33 of file ComputeSurfaceTensionKKS.h.

◆ _w

Real ComputeSurfaceTensionKKS::_w
protected

double well height parameter

Definition at line 42 of file ComputeSurfaceTensionKKS.h.

Referenced by computeQpProperties().


The documentation for this class was generated from the following files:
ComputeSurfaceTensionKKS::_g
const MaterialProperty< Real > & _g
Material property for barrier function.
Definition: ComputeSurfaceTensionKKS.h:40
ComputeSurfaceTensionKKS::_w
Real _w
double well height parameter
Definition: ComputeSurfaceTensionKKS.h:42
ComputeSurfaceTensionKKS::_v
const VariableValue & _v
Order parameter.
Definition: ComputeSurfaceTensionKKS.h:33
ComputeSurfaceTensionKKS::_planar_stress
MaterialProperty< RankTwoTensor > & _planar_stress
Definition: ComputeSurfaceTensionKKS.h:44
ComputeSurfaceTensionKKS::_kappa
const MaterialProperty< Real > & _kappa
Material property for gradient energy coefficient.
Definition: ComputeSurfaceTensionKKS.h:38
validParams
InputParameters validParams()
ComputeSurfaceTensionKKS::_grad_v
const VariableGradient & _grad_v
Gradient of order parameter.
Definition: ComputeSurfaceTensionKKS.h:35