Plugins
ug::SmallStrainMechanics::MechOutputWriter< TDomain > Class Template Reference

#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< dimm_evalPointEV
 points, where to get stress-eigenvalues/normalStress More...
 
MathVector< dimm_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...
 

Detailed Description

template<typename TDomain>
class ug::SmallStrainMechanics::MechOutputWriter< TDomain >

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.

Member Typedef Documentation

◆ TBaseElem

template<typename TDomain >
typedef domain_traits<TDomain::dim>::grid_base_object ug::SmallStrainMechanics::MechOutputWriter< TDomain >::TBaseElem
private

base element type of associated domain

Constructor & Destructor Documentation

◆ MechOutputWriter()

template<typename TDomain >
ug::SmallStrainMechanics::MechOutputWriter< TDomain >::MechOutputWriter ( )
inline

constructor

◆ ~MechOutputWriter()

template<typename TDomain >
ug::SmallStrainMechanics::MechOutputWriter< TDomain >::~MechOutputWriter ( )
inline

destructor

Member Function Documentation

◆ eqPlastStrain_elem()

template<typename TDomain >
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().

◆ invariants_kirchhoff_stress_elem()

template<typename TDomain >
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().

◆ material_law()

template<typename TDomain >
void ug::SmallStrainMechanics::MechOutputWriter< TDomain >::material_law ( SmartPtr< IMaterialLaw< TDomain > >  spMatLaw)
inline

◆ next_ips_to_point()

template<typename TDomain >
template<typename TFEGeom >
void ug::SmallStrainMechanics::MechOutputWriter< TDomain >::next_ips_to_point ( vector< size_t > &  vNextIP,
const MathVector< dim > &  point,
const TFEGeom &  geo 
)
private

References ug::VecDistance().

◆ normal_stress_near_point()

template<typename TDomain >
template<typename TFEGeom >
void ug::SmallStrainMechanics::MechOutputWriter< TDomain >::normal_stress_near_point ( const number  time,
TFEGeom &  geo,
const LocalVector u 
)
private

References UG_LOG.

◆ normal_stress_strain_elem()

template<typename TDomain >
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 
)

◆ normal_stresses_at()

template<typename TDomain >
void ug::SmallStrainMechanics::MechOutputWriter< TDomain >::normal_stresses_at ( const number  CoordX,
const number  CoordY,
const number  CoordZ 
)
inline

get normal stresses at point

References dim.

◆ plastIP_elem()

template<typename TDomain >
void ug::SmallStrainMechanics::MechOutputWriter< TDomain >::plastIP_elem ( LocalVector locPlastIP,
TBaseElem elem,
const LocalVector locU,
SmartPtr< TDomain >  dom 
)

◆ post_timestep()

template<typename TDomain >
void ug::SmallStrainMechanics::MechOutputWriter< TDomain >::post_timestep ( const number  time)

◆ post_timestep_elem()

template<typename TDomain >
template<typename TFEGeom >
void ug::SmallStrainMechanics::MechOutputWriter< TDomain >::post_timestep_elem ( const number  time,
SmartPtr< TDomain >  dom,
TFEGeom &  geo,
TBaseElem elem,
const LocalVector u 
)

References ug::ContainsPoint().

◆ postprocess()

template<typename TDomain >
void ug::SmallStrainMechanics::MechOutputWriter< TDomain >::postprocess

◆ pre_timestep()

template<typename TDomain >
void ug::SmallStrainMechanics::MechOutputWriter< TDomain >::pre_timestep ( )
inline

◆ preprocess()

template<typename TDomain >
void ug::SmallStrainMechanics::MechOutputWriter< TDomain >::preprocess

◆ quad_order()

template<typename TDomain >
void ug::SmallStrainMechanics::MechOutputWriter< TDomain >::quad_order ( const int  quadOrder)
inline

◆ stress_eigenvalues_at()

template<typename TDomain >
void ug::SmallStrainMechanics::MechOutputWriter< TDomain >::stress_eigenvalues_at ( const number  CoordX,
const number  CoordY,
const number  CoordZ 
)
inline

get stress eigenvalues at point

References dim.

◆ stress_eigenvalues_near_point()

template<typename TDomain >
template<typename TFEGeom >
void ug::SmallStrainMechanics::MechOutputWriter< TDomain >::stress_eigenvalues_near_point ( const number  time,
TFEGeom &  geo,
const LocalVector u 
)
private

Member Data Documentation

◆ dim

template<typename TDomain >
const int ug::SmallStrainMechanics::MechOutputWriter< TDomain >::dim = TDomain::dim
static

World dimension.

◆ m_bIP_values_written

template<typename TDomain >
bool ug::SmallStrainMechanics::MechOutputWriter< TDomain >::m_bIP_values_written
private

flag indicating, if ip-values are already written

◆ m_evalPointEV

template<typename TDomain >
MathVector<dim> ug::SmallStrainMechanics::MechOutputWriter< TDomain >::m_evalPointEV
private

points, where to get stress-eigenvalues/normalStress

◆ m_evalPointNormStress

template<typename TDomain >
MathVector<dim> ug::SmallStrainMechanics::MechOutputWriter< TDomain >::m_evalPointNormStress
private

◆ m_fileStressEV

template<typename TDomain >
FILE* ug::SmallStrainMechanics::MechOutputWriter< TDomain >::m_fileStressEV
private

output-file for stress eigenvalues

◆ m_normalStress

template<typename TDomain >
bool ug::SmallStrainMechanics::MechOutputWriter< TDomain >::m_normalStress
private

◆ m_quadOrder

template<typename TDomain >
int ug::SmallStrainMechanics::MechOutputWriter< TDomain >::m_quadOrder
private

quadrature rule

◆ m_spMatLaw

template<typename TDomain >
SmartPtr<IMaterialLaw<TDomain> > ug::SmallStrainMechanics::MechOutputWriter< TDomain >::m_spMatLaw
private

material law

◆ m_stressEV

template<typename TDomain >
bool ug::SmallStrainMechanics::MechOutputWriter< TDomain >::m_stressEV
private

flags for stress-eigenvalues / normalStress at specific corner


The documentation for this class was generated from the following files: