ESyS-Particle  2.3.4
esys::lsm::InteractionToStressConverter Class Reference

#include <InteractionToStressConverter.h>

Collaboration diagram for esys::lsm::InteractionToStressConverter:

Public Types

typedef StressTensorCollection< ContactPtTensorCalculatorStressTensCollection
 
typedef StressTensCollection::StressCalculator StressTensorCalculator
 

Public Member Functions

 InteractionToStressConverter (const BoundingBox &box, double gridSpacing)
 
void addRaw2Interactions (std::istream &iStream)
 
void writeVtkUnstructuredXml (std::ostream &oStream)
 
void writeVtkUnstructuredXmlGridInformation (std::ostream &oStream)
 
void writeVtkStructuredXml (std::ostream &oStream)
 
StressTensorPtrGridgetTensorIrregularGrid ()
 
void calcTensorIrregularGrid ()
 
TensorGridgetTensorRegularGrid ()
 
void calcTensorRegularGrid ()
 
DoubleGridgetDevRegularGrid ()
 
void calcDevRegularGrid ()
 
void writeFlatStructured (std::ostream &oStream)
 
void writeFlatUnstructured (std::ostream &oStream)
 
void writeUnstructuredDx (std::ostream &oStream)
 
double getMaxRadius ()
 

Protected Member Functions

double getRealDevStress (const Tensor &stressTensor) const
 
double getNormDevStress (const Tensor &stressTensor) const
 
bool is3d () const
 

Private Attributes

double m_gridSpacing
 
BoundingBox m_bBox
 
StressTensorCalculator m_stressCalculator
 
StressTensCollection m_stressTensorCollection
 
TensorGrid m_regTensorGrid
 
DoubleGrid m_regDevStressGrid
 
StressTensorPtrGrid m_irrStressTensorGrid
 

Member Typedef Documentation

◆ StressTensCollection

◆ StressTensorCalculator

Constructor & Destructor Documentation

◆ InteractionToStressConverter()

esys::lsm::InteractionToStressConverter::InteractionToStressConverter ( const BoundingBox box,
double  gridSpacing 
)

Member Function Documentation

◆ addRaw2Interactions()

void esys::lsm::InteractionToStressConverter::addRaw2Interactions ( std::istream &  iStream)

Reads RAW2 interaction data from the specified stream and converts it to stress tensor values (unstructured grid of tensors).

References esys::lsm::StressTensorCollection< TmplStressTensorCalculator >::addContactIterators(), esys::lsm::ContactCollection::addInteractions(), esys::lsm::ContactCollection::getContactIteratorIterator(), and m_stressTensorCollection.

Referenced by main().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ calcDevRegularGrid()

void esys::lsm::InteractionToStressConverter::calcDevRegularGrid ( )

◆ calcTensorIrregularGrid()

◆ calcTensorRegularGrid()

void esys::lsm::InteractionToStressConverter::calcTensorRegularGrid ( )

◆ getDevRegularGrid()

DoubleGrid & esys::lsm::InteractionToStressConverter::getDevRegularGrid ( )

Converts irregular grid of average particle stress tensor data a regular grid using the volume of intersection between a sphere and the box formed by a grid-cell.

Parameters
bBox- regular grid is restricted to this bounding box (all irregular point data are considered even if they are outside this bounding box. But the regular grid cells are contained in the box.
gridSpacing- distance between regular grid points (x, y and z dimensions).

References calcDevRegularGrid(), m_regDevStressGrid, and esys::lsm::CartesianGrid< TmplValue >::size().

Referenced by writeFlatStructured().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getMaxRadius()

double esys::lsm::InteractionToStressConverter::getMaxRadius ( )

References esys::lsm::StressTensor::getRad(), getTensorIrregularGrid(), and esys::lsm::CartesianGrid< TmplValue >::getValueIterator().

Referenced by calcTensorRegularGrid().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getNormDevStress()

double esys::lsm::InteractionToStressConverter::getNormDevStress ( const Tensor stressTensor) const
protected

References esys::lsm::Tensor::getEigenvalues(), and is3d().

Referenced by writeVtkUnstructuredXml(), and writeVtkUnstructuredXmlGridInformation().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getRealDevStress()

double esys::lsm::InteractionToStressConverter::getRealDevStress ( const Tensor stressTensor) const
protected

References esys::lsm::Tensor::getEigenvalues(), and is3d().

Referenced by calcDevRegularGrid(), writeFlatUnstructured(), writeUnstructuredDx(), writeVtkStructuredXml(), writeVtkUnstructuredXml(), and writeVtkUnstructuredXmlGridInformation().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getTensorIrregularGrid()

StressTensorPtrGrid & esys::lsm::InteractionToStressConverter::getTensorIrregularGrid ( )

References calcTensorIrregularGrid(), m_irrStressTensorGrid, and esys::lsm::CartesianGrid< TmplValue >::size().

Referenced by calcTensorRegularGrid(), and getMaxRadius().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getTensorRegularGrid()

TensorGrid & esys::lsm::InteractionToStressConverter::getTensorRegularGrid ( )

Converts irregular grid of average particle stress tensors (\sigma_{ij}) to a regular grid.

Parameters
bBox- regular grid is restricted to this bounding box (all irregular point data are considered even if they are outside this bounding box.
gridSpacing- distance between regular grid points (x, y and z dimensions).

References calcTensorRegularGrid(), m_regTensorGrid, and esys::lsm::CartesianGrid< TmplValue >::size().

Referenced by calcDevRegularGrid(), writeVtkStructuredXml(), and writeVtkUnstructuredXmlGridInformation().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ is3d()

bool esys::lsm::InteractionToStressConverter::is3d ( ) const
protected

References esys::lsm::ParticleData::is3d().

Referenced by calcTensorRegularGrid(), getNormDevStress(), and getRealDevStress().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ writeFlatStructured()

void esys::lsm::InteractionToStressConverter::writeFlatStructured ( std::ostream &  oStream)

Writes "x y z \sigma_{max}-\sigma_{min})" records to the specifed file. The irregular point data is converted to a regular grid specified by bBox and gridSpacing parameters.

See also
getRegularGrid

References esys::lsm::CartesianGrid< TmplValue >::getCellIterator(), and getDevRegularGrid().

Referenced by main().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ writeFlatUnstructured()

void esys::lsm::InteractionToStressConverter::writeFlatUnstructured ( std::ostream &  oStream)

Writes "x y z r \sigma_{max}-\sigma_{min})" records to the specifed file. An (x,y,z) value is the centre point of the spherical particle of radius r.

See also
getRegularGrid

References esys::lsm::StressTensorCollection< TmplStressTensorCalculator >::getIterator(), getRealDevStress(), esys::lsm::ForwardIterator< TmplIteratable >::hasNext(), m_stressTensorCollection, and esys::lsm::ForwardIterator< TmplIteratable >::next().

Referenced by main().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ writeUnstructuredDx()

void esys::lsm::InteractionToStressConverter::writeUnstructuredDx ( std::ostream &  oStream)

Writes open-dx format file of unstructured point data (\sigma_{max}-\sigma_{min}) to the specified stream.

Parameters
oStreamData is written to this stream.

References esys::lsm::StressTensorCollection< TmplStressTensorCalculator >::getIterator(), getRealDevStress(), esys::lsm::ForwardIterator< TmplIteratable >::hasNext(), m_stressTensorCollection, esys::lsm::ForwardIterator< TmplIteratable >::next(), and esys::lsm::StressTensorCollection< TmplStressTensorCalculator >::size().

Here is the call graph for this function:

◆ writeVtkStructuredXml()

◆ writeVtkUnstructuredXml()

void esys::lsm::InteractionToStressConverter::writeVtkUnstructuredXml ( std::ostream &  oStream)

◆ writeVtkUnstructuredXmlGridInformation()

void esys::lsm::InteractionToStressConverter::writeVtkUnstructuredXmlGridInformation ( std::ostream &  oStream)

Member Data Documentation

◆ m_bBox

BoundingBox esys::lsm::InteractionToStressConverter::m_bBox
private

◆ m_gridSpacing

double esys::lsm::InteractionToStressConverter::m_gridSpacing
private

◆ m_irrStressTensorGrid

StressTensorPtrGrid esys::lsm::InteractionToStressConverter::m_irrStressTensorGrid
private

◆ m_regDevStressGrid

DoubleGrid esys::lsm::InteractionToStressConverter::m_regDevStressGrid
private

◆ m_regTensorGrid

TensorGrid esys::lsm::InteractionToStressConverter::m_regTensorGrid
private

◆ m_stressCalculator

StressTensorCalculator esys::lsm::InteractionToStressConverter::m_stressCalculator
private

◆ m_stressTensorCollection

StressTensCollection esys::lsm::InteractionToStressConverter::m_stressTensorCollection
private

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