v0.14.0 |
Volume Length Quality. More...
#include <tools/src/VolumeLengthQuality.hpp>
Public Member Functions | |
VolumeLengthQuality (VolumeLengthQualityType type, double alpha, double gamma) | |
MoFEMErrorCode | getMaterialOptions () |
MoFEMErrorCode | getEdgesFromElemCoords () |
MoFEMErrorCode | calculateLrms () |
Calculate mean element edge length. More... | |
MoFEMErrorCode | calculateQ () |
Calculate Q. More... | |
virtual MoFEMErrorCode | calculateP_PiolaKirchhoffI (const NonlinearElasticElement::BlockData block_data, boost::shared_ptr< const NumeredEntFiniteElement > fe_ptr) |
Volume Length Quality. More... | |
VolumeLengthQuality (VolumeLengthQualityType type, double alpha, double gamma) | |
MoFEMErrorCode | getMaterialOptions () |
MoFEMErrorCode | getEdgesFromElemCoords () |
MoFEMErrorCode | calculateLrms () |
Calculate mean element edge length. More... | |
MoFEMErrorCode | calculateQ () |
Calculate Q. More... | |
virtual MoFEMErrorCode | calculateP_PiolaKirchhoffI (const NonlinearElasticElement::BlockData block_data, boost::shared_ptr< const NumeredEntFiniteElement > fe_ptr) |
Volume Length Quality. More... | |
Public Member Functions inherited from NonlinearElasticElement::FunctionsToCalculatePiolaKirchhoffI< TYPE > | |
FunctionsToCalculatePiolaKirchhoffI () | |
virtual | ~FunctionsToCalculatePiolaKirchhoffI ()=default |
MoFEMErrorCode | calculateC_CauchyDeformationTensor () |
MoFEMErrorCode | calculateE_GreenStrain () |
MoFEMErrorCode | calculateS_PiolaKirchhoffII () |
virtual MoFEMErrorCode | calculateCauchyStress (const BlockData block_data, boost::shared_ptr< const NumeredEntFiniteElement > fe_ptr) |
Function overload to implement user material. More... | |
virtual MoFEMErrorCode | setUserActiveVariables (int &nb_active_variables) |
add additional active variables More... | |
virtual MoFEMErrorCode | setUserActiveVariables (VectorDouble &activeVariables) |
Add additional independent variables More complex physical models depend on gradient of defamation and some additional variables. For example can depend on temperature. This function adds additional independent variables to the model. More... | |
virtual MoFEMErrorCode | calculateElasticEnergy (const BlockData block_data, boost::shared_ptr< const NumeredEntFiniteElement > fe_ptr) |
Calculate elastic energy density. More... | |
virtual MoFEMErrorCode | calculatesIGma_EshelbyStress (const BlockData block_data, boost::shared_ptr< const NumeredEntFiniteElement > fe_ptr) |
Calculate Eshelby stress. More... | |
virtual MoFEMErrorCode | getDataOnPostProcessor (std::map< std::string, std::vector< VectorDouble >> &field_map, std::map< std::string, std::vector< MatrixDouble >> &grad_map) |
Do operations when pre-process. More... | |
Public Attributes | |
int | tYpe |
double | aLpha |
double | gAmma |
FTensor::Index< 'i', 3 > | i |
FTensor::Index< 'j', 3 > | j |
FTensor::Index< 'k', 3 > | k |
VectorDouble | coordsEdges |
double | lrmsSquared0 |
VectorDouble | deltaChi |
ublas::vector< TYPE > | deltaX |
ublas::matrix< TYPE > | Q |
ublas::matrix< TYPE > | dXdChiT |
TYPE | lrmsSquared |
TYPE | q |
TYPE | b |
TYPE | detF |
TYPE | currentVolume |
TYPE | tMp |
Public Attributes inherited from NonlinearElasticElement::FunctionsToCalculatePiolaKirchhoffI< TYPE > | |
FTensor::Index< 'i', 3 > | i |
FTensor::Index< 'j', 3 > | j |
FTensor::Index< 'k', 3 > | k |
double | lambda |
double | mu |
MatrixBoundedArray< TYPE, 9 > | F |
MatrixBoundedArray< TYPE, 9 > | C |
MatrixBoundedArray< TYPE, 9 > | E |
MatrixBoundedArray< TYPE, 9 > | S |
MatrixBoundedArray< TYPE, 9 > | invF |
MatrixBoundedArray< TYPE, 9 > | P |
MatrixBoundedArray< TYPE, 9 > | sIGma |
MatrixBoundedArray< TYPE, 9 > | h |
MatrixBoundedArray< TYPE, 9 > | H |
MatrixBoundedArray< TYPE, 9 > | invH |
MatrixBoundedArray< TYPE, 9 > | sigmaCauchy |
FTensor::Tensor2< FTensor::PackPtr< TYPE *, 0 >, 3, 3 > | t_F |
FTensor::Tensor2< FTensor::PackPtr< TYPE *, 0 >, 3, 3 > | t_C |
FTensor::Tensor2< FTensor::PackPtr< TYPE *, 0 >, 3, 3 > | t_E |
FTensor::Tensor2< FTensor::PackPtr< TYPE *, 0 >, 3, 3 > | t_S |
FTensor::Tensor2< FTensor::PackPtr< TYPE *, 0 >, 3, 3 > | t_invF |
FTensor::Tensor2< FTensor::PackPtr< TYPE *, 0 >, 3, 3 > | t_P |
FTensor::Tensor2< FTensor::PackPtr< TYPE *, 0 >, 3, 3 > | t_sIGma |
FTensor::Tensor2< FTensor::PackPtr< TYPE *, 0 >, 3, 3 > | t_h |
FTensor::Tensor2< FTensor::PackPtr< TYPE *, 0 >, 3, 3 > | t_H |
FTensor::Tensor2< FTensor::PackPtr< TYPE *, 0 >, 3, 3 > | t_invH |
FTensor::Tensor2< FTensor::PackPtr< TYPE *, 0 >, 3, 3 > | t_sigmaCauchy |
TYPE | J |
TYPE | eNergy |
TYPE | detH |
TYPE | detF |
int | gG |
Gauss point number. More... | |
CommonData * | commonDataPtr |
MoFEM::VolumeElementForcesAndSourcesCore::UserDataOperator * | opPtr |
pointer to finite element tetrahedral operator More... | |
Additional Inherited Members | |
Static Protected Member Functions inherited from NonlinearElasticElement::FunctionsToCalculatePiolaKirchhoffI< TYPE > | |
static auto | resizeAndSet (MatrixBoundedArray< TYPE, 9 > &m) |
Volume Length Quality.
Definition at line 32 of file VolumeLengthQuality.hpp.
|
inline |
Definition at line 45 of file VolumeLengthQuality.hpp.
|
inline |
Definition at line 45 of file VolumeLengthQuality.hpp.
|
inline |
Calculate mean element edge length.
\[ \Delta \boldsymbol\chi = \boldsymbol\chi^1 - \boldsymbol\chi^2 \]
\[ \Delta X = \mathbf{F} \Delta \boldsymbol\chi \]
\[ l_\textrm{rms} = \sqrt{\frac{1}{6} \sum_{i=0}^6 l_i^2 } = L_\textrm{rms}dl_\textrm{rms} \]
Definition at line 128 of file VolumeLengthQuality.hpp.
|
inline |
Calculate mean element edge length.
\[ \Delta \boldsymbol\chi = \boldsymbol\chi^1 - \boldsymbol\chi^2 \]
\[ \Delta X = \mathbf{F} \Delta \boldsymbol\chi \]
\[ l_\textrm{rms} = \sqrt{\frac{1}{6} \sum_{i=0}^6 l_i^2 } = L_\textrm{rms}dl_\textrm{rms} \]
Definition at line 128 of file VolumeLengthQuality.hpp.
|
inlinevirtual |
Volume Length Quality.
Based on: Three‐dimensional brittle fracture: configurational‐force‐driven crack propagation International Journal for Numerical Methods in Engineering 97 (7), 531-550
\[ \mathcal{B}(a)=\frac{a}{2(1-\gamma)}-\ln{(a-\gamma)} \]
\[ q = q_0 b, \quad q_0 = 6\sqrt{2}\frac{V_0}{L^3_\textrm{rms}}, \quad b = \frac{\textrm{det}(\mathbf{F})}{\textrm{d}l^3_\textrm{rms}} \]
\[ \mathbf{P} = \mathcal{B}(a)\mathbf{Q}, \]
where \(a\) depending on problem could be \(q\) or \(b\).
Reimplemented from NonlinearElasticElement::FunctionsToCalculatePiolaKirchhoffI< TYPE >.
Definition at line 205 of file VolumeLengthQuality.hpp.
|
inlinevirtual |
Volume Length Quality.
Based on: Three‐dimensional brittle fracture: configurational‐force‐driven crack propagation International Journal for Numerical Methods in Engineering 97 (7), 531-550
\[ \mathcal{B}(a)=\frac{a}{2(1-\gamma)}-\ln{(a-\gamma)} \]
\[ q = q_0 b, \quad q_0 = 6\sqrt{2}\frac{V_0}{L^3_\textrm{rms}}, \quad b = \frac{\textrm{det}(\mathbf{F})}{\textrm{d}l^3_\textrm{rms}} \]
\[ \mathbf{P} = \mathcal{B}(a)\mathbf{Q}, \]
where \(a\) depending on problem could be \(q\) or \(b\).
Reimplemented from NonlinearElasticElement::FunctionsToCalculatePiolaKirchhoffI< TYPE >.
Definition at line 205 of file VolumeLengthQuality.hpp.
|
inline |
Calculate Q.
\[ \mathbf{Q} = \mathbf{F}^{-\mathsf{T}} - \frac{1}{2} \frac{1}{l^2_\textrm{rms}} \sum_i^6 \Delta\mathbf{X}_i \Delta\boldsymbol\chi_i^\mathsf{T} \]
Definition at line 172 of file VolumeLengthQuality.hpp.
|
inline |
Calculate Q.
\[ \mathbf{Q} = \mathbf{F}^{-\mathsf{T}} - \frac{1}{2} \frac{1}{l^2_\textrm{rms}} \sum_i^6 \Delta\mathbf{X}_i \Delta\boldsymbol\chi_i^\mathsf{T} \]
Definition at line 172 of file VolumeLengthQuality.hpp.
|
inline |
Get coordinates of edges using cannonical element numeration
Definition at line 81 of file VolumeLengthQuality.hpp.
|
inline |
Get coordinates of edges using cannonical element numeration
Definition at line 81 of file VolumeLengthQuality.hpp.
|
inline |
Definition at line 52 of file VolumeLengthQuality.hpp.
|
inline |
Definition at line 52 of file VolumeLengthQuality.hpp.
double VolumeLengthQuality< TYPE >::aLpha |
Definition at line 38 of file VolumeLengthQuality.hpp.
TYPE VolumeLengthQuality< TYPE >::b |
Definition at line 77 of file VolumeLengthQuality.hpp.
VectorDouble VolumeLengthQuality< TYPE >::coordsEdges |
Definition at line 71 of file VolumeLengthQuality.hpp.
TYPE VolumeLengthQuality< TYPE >::currentVolume |
Definition at line 77 of file VolumeLengthQuality.hpp.
VectorDouble VolumeLengthQuality< TYPE >::deltaChi |
Definition at line 73 of file VolumeLengthQuality.hpp.
ublas::vector< TYPE > VolumeLengthQuality< TYPE >::deltaX |
Definition at line 75 of file VolumeLengthQuality.hpp.
TYPE VolumeLengthQuality< TYPE >::detF |
Definition at line 77 of file VolumeLengthQuality.hpp.
ublas::matrix< TYPE > VolumeLengthQuality< TYPE >::dXdChiT |
Definition at line 76 of file VolumeLengthQuality.hpp.
double VolumeLengthQuality< TYPE >::gAmma |
Definition at line 39 of file VolumeLengthQuality.hpp.
FTensor::Index< 'i', 3 > VolumeLengthQuality< TYPE >::i |
Definition at line 41 of file VolumeLengthQuality.hpp.
FTensor::Index< 'j', 3 > VolumeLengthQuality< TYPE >::j |
Definition at line 42 of file VolumeLengthQuality.hpp.
FTensor::Index< 'k', 3 > VolumeLengthQuality< TYPE >::k |
Definition at line 43 of file VolumeLengthQuality.hpp.
TYPE VolumeLengthQuality< TYPE >::lrmsSquared |
Definition at line 77 of file VolumeLengthQuality.hpp.
double VolumeLengthQuality< TYPE >::lrmsSquared0 |
Definition at line 72 of file VolumeLengthQuality.hpp.
ublas::matrix< TYPE > VolumeLengthQuality< TYPE >::Q |
Definition at line 76 of file VolumeLengthQuality.hpp.
TYPE VolumeLengthQuality< TYPE >::q |
Definition at line 77 of file VolumeLengthQuality.hpp.
TYPE VolumeLengthQuality< TYPE >::tMp |
Definition at line 77 of file VolumeLengthQuality.hpp.
int VolumeLengthQuality< TYPE >::tYpe |
Definition at line 37 of file VolumeLengthQuality.hpp.