Plugins
|
#include <mech_output_writer.h>
Public Member Functions | |
void | eqPlastStrain_elem (LocalVector &locEqPlastStrain, TBaseElem *elem, const LocalVector &locU, SmartPtr< TDomain > dom) |
get the equivalent plastic strain More... | |
void | invariants_kirchhoff_stress_elem (LocalVector &locInvarKirchhoffStress, TBaseElem *elem, const LocalVector &u, SmartPtr< TDomain > dom) |
get the invariants of the kirchhoff stress tensor using the vector of unknowns u More... | |
void | material_law (SmartPtr< IMaterialLaw< TDomain > > spMatLaw) |
MechOutputWriter () | |
constructor More... | |
void | normal_stress_strain_elem (LocalVector &locSigma, LocalVector &locEps, LocalVector &locStressFunc, LocalVector &locStrainFunc, TBaseElem *elem, const LocalVector &locU, SmartPtr< TDomain > dom) |
get some normalized values of the Cauchy-stress and strain tensor More... | |
void | normal_stresses_at (const number CoordX, const number CoordY, const number CoordZ) |
get normal stresses at point More... | |
void | plastIP_elem (LocalVector &locPlastIP, TBaseElem *elem, const LocalVector &locU, SmartPtr< TDomain > dom) |
marks the integration point, where a plastic evolution occurs More... | |
void | post_timestep (const number time) |
template<typename TFEGeom > | |
void | post_timestep_elem (const number time, SmartPtr< TDomain > dom, TFEGeom &geo, TBaseElem *elem, const LocalVector &u) |
void | postprocess () |
void | pre_timestep () |
void | preprocess () |
void | quad_order (const int quadOrder) |
void | stress_eigenvalues_at (const number CoordX, const number CoordY, const number CoordZ) |
get stress eigenvalues at point More... | |
~MechOutputWriter () | |
destructor More... | |
Static Public Attributes | |
static const int | dim = TDomain::dim |
World dimension. More... | |
Private Types | |
typedef domain_traits< TDomain::dim >::grid_base_object | TBaseElem |
base element type of associated domain More... | |
Private Member Functions | |
template<typename TFEGeom > | |
void | next_ips_to_point (vector< size_t > &vNextIP, const MathVector< dim > &point, const TFEGeom &geo) |
template<typename TFEGeom > | |
void | normal_stress_near_point (const number time, TFEGeom &geo, const LocalVector &u) |
template<typename TFEGeom > | |
void | stress_eigenvalues_near_point (const number time, TFEGeom &geo, const LocalVector &u) |
Private Attributes | |
bool | m_bIP_values_written |
flag indicating, if ip-values are already written More... | |
MathVector< dim > | m_evalPointEV |
points, where to get stress-eigenvalues/normalStress More... | |
MathVector< dim > | m_evalPointNormStress |
FILE * | m_fileStressEV |
output-file for stress eigenvalues More... | |
bool | m_normalStress |
int | m_quadOrder |
quadrature rule More... | |
SmartPtr< IMaterialLaw< TDomain > > | m_spMatLaw |
material law More... | |
bool | m_stressEV |
flags for stress-eigenvalues / normalStress at specific corner More... | |
This class delivers some functions to write/visualize some output data like e.g. normal components of the stress-tensor, the maximal eigenvalue of the stress tensor at a given point or the equivalent plastic strain tensor.
|
private |
base element type of associated domain
|
inline |
constructor
|
inline |
destructor
void ug::SmallStrainMechanics::MechOutputWriter< TDomain >::eqPlastStrain_elem | ( | LocalVector & | locEqPlastStrain, |
TBaseElem * | elem, | ||
const LocalVector & | locU, | ||
SmartPtr< TDomain > | dom | ||
) |
get the equivalent plastic strain
compute the equivalent plastic strain elementwise (see Simo/Hughes p. 90 for the definition)
References ug::CollectNeighbors(), ug::ContainsPoint(), dim, grid(), ug::LFEID::LAGRANGE, ug::NHT_VERTEX_NEIGHBORS, ug::DimFEGeometry< TWorldDim, TRefDim >::num_ip(), UG_CATCH_THROW, and ug::DimFEGeometry< TWorldDim, TRefDim >::update().
Referenced by ug::SmallStrainMechanics::equiv_plast_strain().
void ug::SmallStrainMechanics::MechOutputWriter< TDomain >::invariants_kirchhoff_stress_elem | ( | LocalVector & | locInvarKirchhoffStress, |
TBaseElem * | elem, | ||
const LocalVector & | u, | ||
SmartPtr< TDomain > | dom | ||
) |
get the invariants of the kirchhoff stress tensor using the vector of unknowns u
compute the invariants of the kirchhoff stress tensor per element
References ug::CollectNeighbors(), ug::ContainsPoint(), ug::Determinant(), dim, grid(), ug::LFEID::LAGRANGE, ug::MatAdd(), ug::MatIdentity(), ug::MatMultiply(), ug::MatScale(), ug::NHT_VERTEX_NEIGHBORS, ug::Trace(), UG_CATCH_THROW, and ug::DimFEGeometry< TWorldDim, TRefDim >::update().
Referenced by ug::SmallStrainMechanics::invariants_kirchhoff_stress().
|
inline |
|
private |
References ug::VecDistance().
|
private |
References UG_LOG.
void ug::SmallStrainMechanics::MechOutputWriter< TDomain >::normal_stress_strain_elem | ( | LocalVector & | locSigma, |
LocalVector & | locEps, | ||
LocalVector & | locStressFunc, | ||
LocalVector & | locStrainFunc, | ||
TBaseElem * | elem, | ||
const LocalVector & | locU, | ||
SmartPtr< TDomain > | dom | ||
) |
get some normalized values of the Cauchy-stress and strain tensor
References ug::CollectNeighbors(), ug::ContainsPoint(), dim, grid(), ug::LFEID::LAGRANGE, ug::MatDeviatorTrace(), ug::MatFrobeniusNorm(), ug::NHT_VERTEX_NEIGHBORS, ug::DimFEGeometry< TWorldDim, TRefDim >::num_ip(), UG_CATCH_THROW, UG_LOG, and ug::DimFEGeometry< TWorldDim, TRefDim >::update().
Referenced by ug::SmallStrainMechanics::normal_stresses_strains().
|
inline |
get normal stresses at point
References dim.
void ug::SmallStrainMechanics::MechOutputWriter< TDomain >::plastIP_elem | ( | LocalVector & | locPlastIP, |
TBaseElem * | elem, | ||
const LocalVector & | locU, | ||
SmartPtr< TDomain > | dom | ||
) |
marks the integration point, where a plastic evolution occurs
count how many integration points are plastified
References ug::CollectNeighbors(), ug::ContainsPoint(), dim, grid(), ug::LFEID::LAGRANGE, ug::MatFrobeniusNorm(), ug::NHT_VERTEX_NEIGHBORS, ug::DimFEGeometry< TWorldDim, TRefDim >::num_ip(), UG_CATCH_THROW, and ug::DimFEGeometry< TWorldDim, TRefDim >::update().
Referenced by ug::SmallStrainMechanics::plast_ip().
void ug::SmallStrainMechanics::MechOutputWriter< TDomain >::post_timestep | ( | const number | time | ) |
void ug::SmallStrainMechanics::MechOutputWriter< TDomain >::post_timestep_elem | ( | const number | time, |
SmartPtr< TDomain > | dom, | ||
TFEGeom & | geo, | ||
TBaseElem * | elem, | ||
const LocalVector & | u | ||
) |
References ug::ContainsPoint().
void ug::SmallStrainMechanics::MechOutputWriter< TDomain >::postprocess |
|
inline |
void ug::SmallStrainMechanics::MechOutputWriter< TDomain >::preprocess |
|
inline |
|
inline |
get stress eigenvalues at point
References dim.
|
private |
References ug::CalculateEigenvalues(), dim, ug::MatMultiplyMTM(), and UG_LOG.
|
static |
World dimension.
|
private |
flag indicating, if ip-values are already written
|
private |
points, where to get stress-eigenvalues/normalStress
|
private |
|
private |
output-file for stress eigenvalues
|
private |
|
private |
quadrature rule
|
private |
material law
|
private |
flags for stress-eigenvalues / normalStress at specific corner