ESyS-Particle  2.3.4
Frac Class Reference

#include <Frac.h>

Collaboration diagram for Frac:

Public Member Functions

 Frac (const Graph &, const Graph &)
 
void writeMassRatio (ostream &, double)
 
int writeAllMass (ostream &, double, int, bool with_tag=false)
 
void writeAsVtk (const string &, float, const Graph &, bool)
 
pair< double, double > getSplitAbrasion (Graph &, double, double)
 

Private Member Functions

map< int, Vec3get_move_vectors (const Graph &)
 
map< int, double > get_grain_mass (const Graph &)
 

Private Attributes

multimap< int, int > m_old_grain_map
 
multimap< int, int > m_new_grain_to_particle_map
 
map< int, int > m_new_grain_map
 
map< int, set< int > > m_grain_to_grain_map
 
map< int, int > m_tag_map
 
map< int, double > m_old_grain_mass_map
 
map< int, double > m_new_grain_mass_map
 

Constructor & Destructor Documentation

◆ Frac()

Member Function Documentation

◆ get_grain_mass()

map< int, double > Frac::get_grain_mass ( const Graph g)
private

get mass of new grain fragments

Parameters
gthe graph from which the masses are taken

References Graph::getVertexData(), esys::lsm::bpu::iter(), m_new_grain_map, m_old_grain_map, and pdata::mass.

Referenced by writeAsVtk().

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

◆ get_move_vectors()

map< int, Vec3 > Frac::get_move_vectors ( const Graph g)
private

calculate the vectors for "exploding" the grain -> get centers of the new fragment

Parameters
gthe graph from which the positions are taken

References Graph::getVertexData(), esys::lsm::bpu::iter(), m_new_grain_map, m_old_grain_map, pdata::mass, and pdata::pos.

Referenced by writeAsVtk().

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

◆ getSplitAbrasion()

pair< double, double > Frac::getSplitAbrasion ( Graph orig,
double  ratio,
double  minmass 
)

References Graph::getVertexData(), Graph::isEdge(), m_grain_to_grain_map, m_new_grain_mass_map, m_new_grain_to_particle_map, m_old_grain_mass_map, and pdata::rad.

Referenced by main().

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

◆ writeAllMass()

int Frac::writeAllMass ( ostream &  ost,
double  minmass,
int  count,
bool  with_tag = false 
)

write out all fragment masses

References esys::lsm::bpu::iter(), m_grain_to_grain_map, m_new_grain_mass_map, m_old_grain_mass_map, and m_tag_map.

Referenced by main().

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

◆ writeAsVtk()

void Frac::writeAsVtk ( const string &  basefilename,
float  exp,
const Graph g_new,
bool  fakevec 
)

output fractured particles as VTK-XML files. The particles are "exploded", i.e. the fragments are moved out from the center for better visibility.

Parameters
basefilenamethe base filename, i.e. the files will be called basfilename.0.xml, basefilename.1.xml...
expthe relative amount by which the new fragments are moved
g_new
fakevec

References get_grain_mass(), get_move_vectors(), Graph::getVertexData(), esys::lsm::bpu::iter(), m_grain_to_grain_map, m_new_grain_map, m_old_grain_map, pdata::pos, and pdata::rad.

Referenced by main().

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

◆ writeMassRatio()

void Frac::writeMassRatio ( ostream &  ost,
double  minmass 
)

References m_grain_to_grain_map, m_new_grain_mass_map, and m_old_grain_mass_map.

Referenced by main().

Here is the caller graph for this function:

Member Data Documentation

◆ m_grain_to_grain_map

map<int,set<int> > Frac::m_grain_to_grain_map
private

◆ m_new_grain_map

map<int,int> Frac::m_new_grain_map
private

◆ m_new_grain_mass_map

map<int,double> Frac::m_new_grain_mass_map
private

◆ m_new_grain_to_particle_map

multimap<int,int> Frac::m_new_grain_to_particle_map
private

Referenced by Frac(), and getSplitAbrasion().

◆ m_old_grain_map

multimap<int,int> Frac::m_old_grain_map
private

◆ m_old_grain_mass_map

map<int,double> Frac::m_old_grain_mass_map
private

◆ m_tag_map

map<int,int> Frac::m_tag_map
private

Referenced by Frac(), and writeAllMass().


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