Considers cleavage plane anisotropy in the crack propagation. More...
#include <ACInterfaceCleavageFracture.h>
Public Types | |
| typedef DerivativeMaterialPropertyNameInterface::SymbolName | SymbolName |
Public Member Functions | |
| ACInterfaceCleavageFracture (const InputParameters ¶meters) | |
| virtual void | initialSetup () |
| const GenericMaterialProperty< U, is_ad > & | getDefaultMaterialProperty (const std::string &name) |
| const GenericMaterialProperty< U, is_ad > & | getDefaultMaterialPropertyByName (const std::string &name) |
| void | validateDerivativeMaterialPropertyBase (const std::string &base) |
| const MaterialPropertyName | derivativePropertyName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) const |
| const MaterialPropertyName | derivativePropertyNameFirst (const MaterialPropertyName &base, const SymbolName &c1) const |
| const MaterialPropertyName | derivativePropertyNameSecond (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2) const |
| const MaterialPropertyName | derivativePropertyNameThird (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2, const SymbolName &c3) const |
| GenericMaterialProperty< U, is_ad > & | declarePropertyDerivative (const std::string &base, const std::vector< VariableName > &c) |
| GenericMaterialProperty< U, is_ad > & | declarePropertyDerivative (const std::string &base, const std::vector< SymbolName > &c) |
| GenericMaterialProperty< U, is_ad > & | declarePropertyDerivative (const std::string &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="") |
| GenericMaterialProperty< U, is_ad > & | declarePropertyDerivative (const std::string &base, const std::vector< VariableName > &c) |
| GenericMaterialProperty< U, is_ad > & | declarePropertyDerivative (const std::string &base, const std::vector< SymbolName > &c) |
| GenericMaterialProperty< U, is_ad > & | declarePropertyDerivative (const std::string &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="") |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const std::vector< VariableName > &c) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const std::vector< SymbolName > &c) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="") |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const SymbolName &c1, unsigned int v2, unsigned int v3=libMesh::invalid_uint) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, unsigned int v1, unsigned int v2=libMesh::invalid_uint, unsigned int v3=libMesh::invalid_uint) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const std::vector< VariableName > &c) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const std::vector< SymbolName > &c) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="") |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const SymbolName &c1, unsigned int v2, unsigned int v3=libMesh::invalid_uint) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, unsigned int v1, unsigned int v2=libMesh::invalid_uint, unsigned int v3=libMesh::invalid_uint) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const std::vector< VariableName > &c) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="") |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const std::vector< VariableName > &c) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="") |
| void | validateCoupling (const MaterialPropertyName &base, const std::vector< VariableName > &c, bool validate_aux=true) |
| void | validateCoupling (const MaterialPropertyName &base, const VariableName &c1="", const VariableName &c2="", const VariableName &c3="") |
| void | validateCoupling (const MaterialPropertyName &base, const std::vector< VariableName > &c, bool validate_aux=true) |
| void | validateCoupling (const MaterialPropertyName &base, const VariableName &c1="", const VariableName &c2="", const VariableName &c3="") |
| void | validateNonlinearCoupling (const MaterialPropertyName &base, const VariableName &c1="", const VariableName &c2="", const VariableName &c3="") |
| void | validateNonlinearCoupling (const MaterialPropertyName &base, const VariableName &c1="", const VariableName &c2="", const VariableName &c3="") |
| const MaterialPropertyName | propertyName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) const |
| const MaterialPropertyName | propertyName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) const |
| const MaterialPropertyName | propertyNameFirst (const MaterialPropertyName &base, const SymbolName &c1) const |
| const MaterialPropertyName | propertyNameFirst (const MaterialPropertyName &base, const SymbolName &c1) const |
| const MaterialPropertyName | propertyNameSecond (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2) const |
| const MaterialPropertyName | propertyNameSecond (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2) const |
| const MaterialPropertyName | propertyNameThird (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2, const SymbolName &c3) const |
| const MaterialPropertyName | propertyNameThird (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2, const SymbolName &c3) const |
Static Public Member Functions | |
| static InputParameters | validParams () |
Protected Member Functions | |
| virtual Real | computeQpResidual () |
| virtual Real | computeQpJacobian () |
| Real | betaNablaPsi () |
| term with beta penalty | |
| virtual Real | computeQpOffDiagJacobian (unsigned int jvar) |
| RealGradient | gradL () |
| RealGradient | gradKappa () |
| RealGradient | nablaLPsi () |
| the \( \nabla(L\psi) \) term | |
| RealGradient | kappaNablaLPsi () |
| the \( \kappa\nabla(L\psi) \) term | |
Protected Attributes | |
| const Real | _beta_penalty |
| penalty for damage on planes not normal to the weak (favoured) cleavage plane (Clayton & Knap, 2015) | |
| const RealVectorValue | _cleavage_plane_normal |
| Plane normal to the weak cleavage plane: M in (Clayton & Knap, 2015) | |
| const MaterialProperty< Real > & | _L |
| Mobility. | |
| const MaterialProperty< Real > & | _kappa |
| Interfacial parameter. | |
| const bool | _variable_L |
| flag set if L is a function of non-linear variables in args | |
| const MaterialProperty< Real > & | _dkappadop |
| kappa derivative w.r.t. order parameter | |
| std::vector< const MaterialProperty< Real > * > | _dkappadarg |
| kappa derivative w.r.t. other coupled variables | |
| std::vector< const VariableGradient * > | _gradarg |
| Gradients for all coupled variables. | |
| const MaterialProperty< Real > & | _dLdop |
| Mobility derivatives w.r.t. order parameter. | |
| const MaterialProperty< Real > & | _d2Ldop2 |
| std::vector< const MaterialProperty< Real > * > | _dLdarg |
| Mobility derivative w.r.t. other coupled variables. | |
| std::vector< const MaterialProperty< Real > * > | _d2Ldargdop |
| std::vector< std::vector< const MaterialProperty< Real > * > > | _d2Ldarg2 |
Private Member Functions | |
| bool | haveMaterialProperty (const std::string &prop_name) |
| std::vector< VariableName > | buildVariableVector (const VariableName &c1, const VariableName &c2, const VariableName &c3) |
| void | validateCouplingHelper (const MaterialPropertyName &base, const std::vector< VariableName > &c, const System &system, std::vector< VariableName > &missing) |
| bool | isNotObjectVariable (const VariableName &name) |
Private Attributes | |
| FEProblemBase & | _dmi_fe_problem |
Considers cleavage plane anisotropy in the crack propagation.
Definition at line 16 of file ACInterfaceCleavageFracture.h.
| ACInterfaceCleavageFracture::ACInterfaceCleavageFracture | ( | const InputParameters & | parameters | ) |
Definition at line 31 of file ACInterfaceCleavageFracture.C.
|
protected |
term with beta penalty
Definition at line 39 of file ACInterfaceCleavageFracture.C.
Referenced by computeQpResidual().
|
protectedvirtual |
dsum is the derivative \( \frac\partial{\partial \eta} \left( \nabla (L\psi) \right) \)
compute the derivative of the gradient of the mobility
Reimplemented from ACInterface.
Definition at line 52 of file ACInterfaceCleavageFracture.C.
|
protectedvirtualinherited |
Reimplemented in ACInterface2DMultiPhase1, and ACInterface2DMultiPhase2.
Definition at line 128 of file ACInterface.C.
|
protectedvirtual |
Reimplemented from ACInterface.
Definition at line 46 of file ACInterfaceCleavageFracture.C.
|
protectedinherited |
|
protectedinherited |
Definition at line 73 of file ACInterface.C.
Referenced by ACInterface::computeQpJacobian(), computeQpJacobian(), ACInterface::computeQpOffDiagJacobian(), and ACInterface::nablaLPsi().
|
virtualinherited |
Reimplemented in ACInterfaceChangedVariable.
Definition at line 66 of file ACInterface.C.
|
protectedinherited |
the \( \kappa\nabla(L\psi) \) term
Definition at line 94 of file ACInterface.C.
Referenced by ACInterface::computeQpJacobian(), computeQpJacobian(), ACInterface::computeQpResidual(), and computeQpResidual().
|
protectedinherited |
the \( \nabla(L\psi) \) term
Definition at line 82 of file ACInterface.C.
Referenced by ACInterface2DMultiPhase1::computeQpJacobian(), ACInterface2DMultiPhase2::computeQpJacobian(), ACInterface2DMultiPhase1::computeQpOffDiagJacobian(), ACInterface2DMultiPhase2::computeQpOffDiagJacobian(), ACInterface2DMultiPhase1::computeQpResidual(), and ACInterface::kappaNablaLPsi().
|
static |
Definition at line 17 of file ACInterfaceCleavageFracture.C.
|
protected |
penalty for damage on planes not normal to the weak (favoured) cleavage plane (Clayton & Knap, 2015)
Definition at line 32 of file ACInterfaceCleavageFracture.h.
Referenced by betaNablaPsi(), computeQpJacobian(), and computeQpResidual().
|
protected |
Plane normal to the weak cleavage plane: M in (Clayton & Knap, 2015)
Definition at line 35 of file ACInterfaceCleavageFracture.h.
Referenced by betaNablaPsi(), and computeQpJacobian().
|
protectedinherited |
Definition at line 61 of file ACInterface.h.
Referenced by ACInterface::ACInterface(), ACInterface::computeQpOffDiagJacobian(), ACInterface2DMultiPhase1::computeQpOffDiagJacobian(), and ACInterface2DMultiPhase2::computeQpOffDiagJacobian().
|
protectedinherited |
Definition at line 60 of file ACInterface.h.
Referenced by ACInterface::ACInterface(), ACInterface::computeQpJacobian(), ACInterface2DMultiPhase1::computeQpJacobian(), ACInterface2DMultiPhase2::computeQpJacobian(), computeQpJacobian(), ACInterface::computeQpOffDiagJacobian(), ACInterface2DMultiPhase1::computeQpOffDiagJacobian(), and ACInterface2DMultiPhase2::computeQpOffDiagJacobian().
|
protectedinherited |
Definition at line 52 of file ACInterface.h.
Referenced by ACInterface::computeQpJacobian(), ACInterface2DMultiPhase1::computeQpJacobian(), ACInterface2DMultiPhase2::computeQpJacobian(), and computeQpJacobian().
|
protectedinherited |
kappa derivative w.r.t. other coupled variables
Definition at line 65 of file ACInterface.h.
Referenced by ACInterface::ACInterface(), and ACInterface::computeQpOffDiagJacobian().
|
protectedinherited |
kappa derivative w.r.t. order parameter
Definition at line 56 of file ACInterface.h.
Referenced by ACInterface::computeQpJacobian(), computeQpJacobian(), and ACInterface::computeQpOffDiagJacobian().
|
protectedinherited |
Mobility derivative w.r.t. other coupled variables.
Definition at line 59 of file ACInterface.h.
Referenced by ACInterface::ACInterface(), ACInterface::computeQpOffDiagJacobian(), ACInterface2DMultiPhase1::computeQpOffDiagJacobian(), ACInterface2DMultiPhase2::computeQpOffDiagJacobian(), and ACInterface::gradL().
|
protectedinherited |
Mobility derivatives w.r.t. order parameter.
Definition at line 51 of file ACInterface.h.
Referenced by ACInterface::computeQpJacobian(), ACInterface2DMultiPhase1::computeQpJacobian(), ACInterface2DMultiPhase2::computeQpJacobian(), computeQpJacobian(), and ACInterface::gradL().
|
protectedinherited |
Gradients for all coupled variables.
Definition at line 68 of file ACInterface.h.
Referenced by ACInterface::ACInterface(), ACInterface::computeQpJacobian(), ACInterface2DMultiPhase1::computeQpJacobian(), ACInterface2DMultiPhase2::computeQpJacobian(), computeQpJacobian(), ACInterface::computeQpOffDiagJacobian(), ACInterface2DMultiPhase1::computeQpOffDiagJacobian(), ACInterface2DMultiPhase2::computeQpOffDiagJacobian(), and ACInterface::gradL().
|
protectedinherited |
Interfacial parameter.
Definition at line 45 of file ACInterface.h.
Referenced by betaNablaPsi(), ACInterface::computeQpJacobian(), ACInterface2DMultiPhase2::computeQpJacobian(), computeQpJacobian(), ACInterface::computeQpOffDiagJacobian(), ACInterface2DMultiPhase2::computeQpOffDiagJacobian(), and ACInterface::kappaNablaLPsi().
|
protectedinherited |
Mobility.
Definition at line 43 of file ACInterface.h.
Referenced by betaNablaPsi(), ACInterface::computeQpJacobian(), computeQpJacobian(), ACInterface::computeQpOffDiagJacobian(), and ACInterface::nablaLPsi().
|
protectedinherited |
flag set if L is a function of non-linear variables in args
Definition at line 48 of file ACInterface.h.
Referenced by ACInterface::computeQpJacobian(), ACInterface2DMultiPhase1::computeQpJacobian(), ACInterface2DMultiPhase2::computeQpJacobian(), computeQpJacobian(), ACInterface::computeQpOffDiagJacobian(), ACInterface2DMultiPhase1::computeQpOffDiagJacobian(), ACInterface2DMultiPhase2::computeQpOffDiagJacobian(), and ACInterface::nablaLPsi().