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

Calculates an Extra-Stress tensor that lies in the plane of an interface defined by the gradient of an order parameter. More...

#include <ComputeInterfaceStress.h>

Inheritance diagram for ComputeInterfaceStress:
[legend]

Public Member Functions

 ComputeInterfaceStress (const InputParameters &parameters)
 

Protected Member Functions

virtual void computeQpProperties () override
 

Protected Attributes

const VariableGradient & _grad_v
 
const Real _stress
 
MaterialProperty< RankTwoTensor > & _planar_stress
 

Detailed Description

Calculates an Extra-Stress tensor that lies in the plane of an interface defined by the gradient of an order parameter.

Definition at line 22 of file ComputeInterfaceStress.h.

Constructor & Destructor Documentation

ComputeInterfaceStress::ComputeInterfaceStress ( const InputParameters &  parameters)

Definition at line 32 of file ComputeInterfaceStress.C.

33  : Material(parameters),
34  _grad_v(coupledGradient("v")),
35  _stress(getParam<Real>("stress") / getParam<Real>("op_range")),
37  declareProperty<RankTwoTensor>(getParam<MaterialPropertyName>("planar_stress_name")))
38 {
39 }
const VariableGradient & _grad_v
MaterialProperty< RankTwoTensor > & _planar_stress

Member Function Documentation

void ComputeInterfaceStress::computeQpProperties ( )
overrideprotectedvirtual

Definition at line 42 of file ComputeInterfaceStress.C.

43 {
44  auto & S = _planar_stress[_qp];
45 
46  // no interface, return zero stress
47  const Real grad_norm_sq = _grad_v[_qp].norm_sq();
48  if (grad_norm_sq < libMesh::TOLERANCE)
49  {
50  S.zero();
51  return;
52  }
53 
54  const Real nx = _grad_v[_qp](0);
55  const Real ny = _grad_v[_qp](1);
56  const Real nz = _grad_v[_qp](2);
57  const Real s = _stress / std::sqrt(grad_norm_sq);
58 
59  S(0, 0) = (ny * ny + nz * nz) * s;
60  S(1, 0) = S(0, 1) = -nx * ny * s;
61  S(1, 1) = (nx * nx + nz * nz) * s;
62  S(2, 0) = S(0, 2) = -nx * nz * s;
63  S(2, 1) = S(1, 2) = -ny * nz * s;
64  S(2, 2) = (nx * nx + ny * ny) * s;
65 }
const VariableGradient & _grad_v
MaterialProperty< RankTwoTensor > & _planar_stress

Member Data Documentation

const VariableGradient& ComputeInterfaceStress::_grad_v
protected

Definition at line 30 of file ComputeInterfaceStress.h.

Referenced by computeQpProperties().

MaterialProperty<RankTwoTensor>& ComputeInterfaceStress::_planar_stress
protected

Definition at line 33 of file ComputeInterfaceStress.h.

Referenced by computeQpProperties().

const Real ComputeInterfaceStress::_stress
protected

Definition at line 31 of file ComputeInterfaceStress.h.

Referenced by computeQpProperties().


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