v0.14.0 |
#include <users_modules/fracture_mechanics/src/CrackFrontElement.hpp>
Public Member Functions | |
MoFEMErrorCode | getElementOptions () |
CrackFrontSingularBase (MoFEM::Interface &m_field, const bool &set_singular_coordinates, const Range &crack_front_nodes, const Range &crack_front_nodes_edges, const Range &crack_front_elements, PetscBool add_singularity) | |
CrackFrontSingularBase (MoFEM::Interface &m_field) | |
virtual | ~CrackFrontSingularBase ()=default |
MoFEMErrorCode | operator() () |
MoFEMErrorCode | getSpaceBaseAndOrderOnElement () |
template<typename E , typename B > | |
MoFEMErrorCode | getSpaceBaseAndOrderOnElementImpl (TwoType< E, B >) |
template<typename E > | |
MoFEMErrorCode | getSpaceBaseAndOrderOnElementImpl (TwoType< E, VolumeElementForcesAndSourcesCore >) |
Partial specialization for volume elements. More... | |
MoFEMErrorCode | calculateHOJacobian () |
template<typename E > | |
MoFEMErrorCode | calculateHOJacobianImpl (TwoType< E, VolumeElementForcesAndSourcesCore >) |
Partial specialization for volume element. More... | |
int | getRule (int order) |
template<typename E , typename B > | |
int | getRuleImpl (TwoType< E, B >, int order) |
MoFEMErrorCode | setGaussPts (int order) |
Generate specific user integration quadrature. More... | |
template<typename E , typename B > | |
int | setGaussPtsImpl (TwoType< E, B >, int order) |
int | getRuleImpl (TwoType< NonlinearElasticElement::MyVolumeFE, VolumeElementForcesAndSourcesCore >, int order) |
MoFEMErrorCode | setGaussPtsImpl (TwoType< NonlinearElasticElement::MyVolumeFE, VolumeElementForcesAndSourcesCore >, int order) |
int | getRuleImpl (TwoType< NonlinearElasticElement::MyVolumeFE, VolumeElementForcesAndSourcesCore >, int order) |
MoFEMErrorCode | setGaussPtsImpl (TwoType< NonlinearElasticElement::MyVolumeFE, VolumeElementForcesAndSourcesCore >, int order) |
Public Attributes | |
Range | crackFrontNodes |
Range | crackFrontNodesEdges |
Range | crackFrontElements |
MatrixDouble | sJac |
MatrixDouble | invSJac |
MatrixDouble | singularDisp |
MatrixDouble | singularRefCoords |
VectorDouble | detS |
bool | singularElement |
bool | singularEdges [6] |
bool | singularNodes [4] |
bool | setSingularCoordinates |
PetscBool | addSingularity |
PetscBool | refineIntegration |
int | refinementLevels |
Private Attributes | |
const bool & | setSingularCoordinatesPriv |
MatrixDouble | refCoords |
MatrixDouble | refGaussCoords |
Use idea from [10] to approximate singularity at crack tip. The idea is to shift mid noted to quarter edge length to crack tip on edges adjacent to crack front.
Definition at line 35 of file CrackFrontElement.hpp.
|
inline |
Definition at line 53 of file CrackFrontElement.hpp.
|
inline |
Definition at line 69 of file CrackFrontElement.hpp.
|
virtualdefault |
|
inline |
Definition at line 146 of file CrackFrontElement.hpp.
|
inline |
MoFEMErrorCode FractureMechanics::CrackFrontSingularBase< ELEMENT, BASE_ELEMENT >::getElementOptions |
Definition at line 361 of file CrackFrontElement.hpp.
|
inline |
Definition at line 326 of file CrackFrontElement.hpp.
|
inline |
Definition at line 331 of file CrackFrontElement.hpp.
int FractureMechanics::CrackFrontSingularBase< NonlinearElasticElement::MyVolumeFE, VolumeElementForcesAndSourcesCore >::getRuleImpl | ( | TwoType< NonlinearElasticElement::MyVolumeFE, VolumeElementForcesAndSourcesCore > | , |
int | order | ||
) |
Definition at line 59 of file CrackFrontElement.cpp.
int FractureMechanics::CrackFrontSingularBase< NonlinearElasticElement::MyVolumeFE, VolumeElementForcesAndSourcesCore >::getRuleImpl | ( | TwoType< NonlinearElasticElement::MyVolumeFE, VolumeElementForcesAndSourcesCore > | , |
int | order | ||
) |
|
inline |
Definition at line 103 of file CrackFrontElement.hpp.
|
inline |
Definition at line 108 of file CrackFrontElement.hpp.
|
inline |
|
inline |
Definition at line 74 of file CrackFrontElement.hpp.
|
inline |
Generate specific user integration quadrature.
Element is refined at the crack top and quadrature is set to each of sub-tets.
Definition at line 342 of file CrackFrontElement.hpp.
|
inline |
Definition at line 348 of file CrackFrontElement.hpp.
Definition at line 69 of file CrackFrontElement.cpp.
MoFEMErrorCode FractureMechanics::CrackFrontSingularBase< NonlinearElasticElement::MyVolumeFE, VolumeElementForcesAndSourcesCore >::setGaussPtsImpl | ( | TwoType< NonlinearElasticElement::MyVolumeFE, VolumeElementForcesAndSourcesCore > | , |
int | order | ||
) |
PetscBool FractureMechanics::CrackFrontSingularBase< ELEMENT, BASE_ELEMENT >::addSingularity |
Definition at line 99 of file CrackFrontElement.hpp.
Range FractureMechanics::CrackFrontSingularBase< ELEMENT, BASE_ELEMENT >::crackFrontElements |
Definition at line 39 of file CrackFrontElement.hpp.
Range FractureMechanics::CrackFrontSingularBase< ELEMENT, BASE_ELEMENT >::crackFrontNodes |
Definition at line 37 of file CrackFrontElement.hpp.
Range FractureMechanics::CrackFrontSingularBase< ELEMENT, BASE_ELEMENT >::crackFrontNodesEdges |
Definition at line 38 of file CrackFrontElement.hpp.
VectorDouble FractureMechanics::CrackFrontSingularBase< ELEMENT, BASE_ELEMENT >::detS |
Definition at line 45 of file CrackFrontElement.hpp.
MatrixDouble FractureMechanics::CrackFrontSingularBase< ELEMENT, BASE_ELEMENT >::invSJac |
Definition at line 42 of file CrackFrontElement.hpp.
|
private |
Definition at line 355 of file CrackFrontElement.hpp.
|
private |
Definition at line 356 of file CrackFrontElement.hpp.
PetscBool FractureMechanics::CrackFrontSingularBase< ELEMENT, BASE_ELEMENT >::refineIntegration |
Definition at line 100 of file CrackFrontElement.hpp.
int FractureMechanics::CrackFrontSingularBase< ELEMENT, BASE_ELEMENT >::refinementLevels |
Definition at line 101 of file CrackFrontElement.hpp.
bool FractureMechanics::CrackFrontSingularBase< ELEMENT, BASE_ELEMENT >::setSingularCoordinates |
Definition at line 68 of file CrackFrontElement.hpp.
|
private |
Definition at line 353 of file CrackFrontElement.hpp.
MatrixDouble FractureMechanics::CrackFrontSingularBase< ELEMENT, BASE_ELEMENT >::singularDisp |
Definition at line 43 of file CrackFrontElement.hpp.
bool FractureMechanics::CrackFrontSingularBase< ELEMENT, BASE_ELEMENT >::singularEdges[6] |
Definition at line 48 of file CrackFrontElement.hpp.
bool FractureMechanics::CrackFrontSingularBase< ELEMENT, BASE_ELEMENT >::singularElement |
Definition at line 47 of file CrackFrontElement.hpp.
bool FractureMechanics::CrackFrontSingularBase< ELEMENT, BASE_ELEMENT >::singularNodes[4] |
Definition at line 49 of file CrackFrontElement.hpp.
MatrixDouble FractureMechanics::CrackFrontSingularBase< ELEMENT, BASE_ELEMENT >::singularRefCoords |
Definition at line 44 of file CrackFrontElement.hpp.
MatrixDouble FractureMechanics::CrackFrontSingularBase< ELEMENT, BASE_ELEMENT >::sJac |
Definition at line 41 of file CrackFrontElement.hpp.