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

#include <PhaseFieldFractureMechanicsOffDiag.h>

Inheritance diagram for PhaseFieldFractureMechanicsOffDiag:
[legend]

Public Member Functions

 PhaseFieldFractureMechanicsOffDiag (const InputParameters &parameters)
 

Static Public Member Functions

static InputParameters validParams ()
 

Protected Member Functions

Real computeQpResidual () override
 
Real computeQpJacobian () override
 
virtual Real computeQpOffDiagJacobian (unsigned int jvar) override
 

Protected Attributes

const std::string _base_name
 
const unsigned int _component
 
const bool _c_coupled
 
const unsigned int _c_var
 
const MaterialProperty< RankTwoTensor > & _d_stress_dc
 

Detailed Description

Definition at line 27 of file PhaseFieldFractureMechanicsOffDiag.h.

Constructor & Destructor Documentation

◆ PhaseFieldFractureMechanicsOffDiag()

PhaseFieldFractureMechanicsOffDiag::PhaseFieldFractureMechanicsOffDiag ( const InputParameters &  parameters)

Definition at line 34 of file PhaseFieldFractureMechanicsOffDiag.C.

36  : DerivativeMaterialInterface<Kernel>(parameters),
37  _base_name(isParamValid("base_name") ? getParam<std::string>("base_name") + "_" : ""),
38  _component(getParam<unsigned int>("component")),
39  _c_coupled(isCoupled("c")),
40  _c_var(_c_coupled ? coupled("c") : 0),
42  getMaterialPropertyDerivative<RankTwoTensor>(_base_name + "stress", getVar("c", 0)->name()))
43 {
44 }

Member Function Documentation

◆ computeQpJacobian()

Real PhaseFieldFractureMechanicsOffDiag::computeQpJacobian ( )
inlineoverrideprotected

Definition at line 37 of file PhaseFieldFractureMechanicsOffDiag.h.

37 { return 0.0; }

◆ computeQpOffDiagJacobian()

Real PhaseFieldFractureMechanicsOffDiag::computeQpOffDiagJacobian ( unsigned int  jvar)
overrideprotectedvirtual

Definition at line 47 of file PhaseFieldFractureMechanicsOffDiag.C.

48 {
49  if (_c_coupled && jvar == _c_var)
50  {
51  Real val = 0.0;
52  for (unsigned int k = 0; k < 3; ++k)
53  val += _d_stress_dc[_qp](_component, k) * _grad_test[_i][_qp](k);
54  return val * _phi[_j][_qp];
55  }
56 
57  // Returns if coupled variable is not c (damage variable)
58  return 0.0;
59 }

◆ computeQpResidual()

Real PhaseFieldFractureMechanicsOffDiag::computeQpResidual ( )
inlineoverrideprotected

Definition at line 35 of file PhaseFieldFractureMechanicsOffDiag.h.

35 { return 0.0; }

◆ validParams()

InputParameters PhaseFieldFractureMechanicsOffDiag::validParams ( )
static

Definition at line 17 of file PhaseFieldFractureMechanicsOffDiag.C.

18 {
19  InputParameters params = Kernel::validParams();
20  params.addClassDescription("Stress divergence kernel for phase-field fracture: Computes off "
21  "diagonal damage dependent Jacobian components. To be used with "
22  "StressDivergenceTensors or DynamicStressDivergenceTensors.");
23  params.addParam<std::string>("base_name", "Material property base name");
24  params.addRequiredParam<unsigned int>("component",
25  "An integer corresponding to the direction "
26  "the variable this kernel acts in. (0 for x, "
27  "1 for y, 2 for z)");
28  params.addCoupledVar(
29  "c",
30  "Phase field damage variable: Used to indicate calculation of Off Diagonal Jacobian term");
31  return params;
32 }

Member Data Documentation

◆ _base_name

const std::string PhaseFieldFractureMechanicsOffDiag::_base_name
protected

Definition at line 41 of file PhaseFieldFractureMechanicsOffDiag.h.

◆ _c_coupled

const bool PhaseFieldFractureMechanicsOffDiag::_c_coupled
protected

Definition at line 44 of file PhaseFieldFractureMechanicsOffDiag.h.

Referenced by computeQpOffDiagJacobian().

◆ _c_var

const unsigned int PhaseFieldFractureMechanicsOffDiag::_c_var
protected

Definition at line 45 of file PhaseFieldFractureMechanicsOffDiag.h.

Referenced by computeQpOffDiagJacobian().

◆ _component

const unsigned int PhaseFieldFractureMechanicsOffDiag::_component
protected

Definition at line 42 of file PhaseFieldFractureMechanicsOffDiag.h.

Referenced by computeQpOffDiagJacobian().

◆ _d_stress_dc

const MaterialProperty<RankTwoTensor>& PhaseFieldFractureMechanicsOffDiag::_d_stress_dc
protected

Definition at line 46 of file PhaseFieldFractureMechanicsOffDiag.h.

Referenced by computeQpOffDiagJacobian().


The documentation for this class was generated from the following files:
PhaseFieldFractureMechanicsOffDiag::_d_stress_dc
const MaterialProperty< RankTwoTensor > & _d_stress_dc
Definition: PhaseFieldFractureMechanicsOffDiag.h:46
PhaseFieldFractureMechanicsOffDiag::_c_coupled
const bool _c_coupled
Definition: PhaseFieldFractureMechanicsOffDiag.h:44
PhaseFieldFractureMechanicsOffDiag::_c_var
const unsigned int _c_var
Definition: PhaseFieldFractureMechanicsOffDiag.h:45
validParams
InputParameters validParams()
name
const std::string name
Definition: Setup.h:21
PhaseFieldFractureMechanicsOffDiag::_component
const unsigned int _component
Definition: PhaseFieldFractureMechanicsOffDiag.h:42
PhaseFieldFractureMechanicsOffDiag::_base_name
const std::string _base_name
Definition: PhaseFieldFractureMechanicsOffDiag.h:41