ESyS-Particle  2.3.4
VectorInteractionFieldMaster Class Reference

Class for master part of a vector field which is defined on all particles. More...

#include <VectorInteractionFieldMaster.h>

Inheritance diagram for VectorInteractionFieldMaster:
Collaboration diagram for VectorInteractionFieldMaster:

Public Types

typedef std::pair< esys::lsm::quintuple< Vec3, double, Vec3, double, Vec3 >, Vec3IVecData2
 
typedef std::pair< esys::lsm::triplet< int, int, Vec3 >, Vec3DataWithID
 
typedef std::pair< esys::lsm::quintuple< int, int, Vec3, Vec3, Vec3 >, Vec3DataWithPosID
 

Public Member Functions

 VectorInteractionFieldMaster (TML_Comm *, const string &, const string &, const string &, const string &, const string &, int, int, int, bool)
 
virtual ~VectorInteractionFieldMaster ()
 
virtual void collect ()
 
- Public Member Functions inherited from AFieldMaster
 AFieldMaster (TML_Comm *, const string &, const string &, const string &, int, int, int)
 
virtual ~AFieldMaster ()
 
virtual bool needSave (int)
 
virtual void write ()
 

Protected Member Functions

virtual void writeAsDX ()
 
virtual void writeAsSUM ()
 
virtual void writeAsMAX ()
 
virtual void writeAsRAW_SERIES ()
 
virtual void writeAsRAW2 ()
 
virtual void writeAsRawWithID ()
 
virtual void writeAsRawWithPosID ()
 
void collectFull ()
 
void collectSum ()
 
void collectMax ()
 
void collectFull2 ()
 
void collectFullWithID ()
 
void collectFullWithPosID ()
 
- Protected Member Functions inherited from AFieldMaster
string makeFilename ()
 
virtual void writeAsPOV ()
 
virtual void writeAsSILO ()
 
virtual void writeAsRAW ()
 

Protected Attributes

vector< IVecData2m_data2
 
vector< DataWithIDm_data_with_id
 
vector< DataWithPosIDm_data_with_pos_id
 
vector< pair< Vec3, Vec3 > > m_data
 
vector< Vec3m_sum_vec
 
- Protected Attributes inherited from AFieldMaster
TML_Commm_comm
 
string m_field_name
 
string m_file_name
 
int m_t0
 
int m_tend
 
int m_dt
 
int m_id
 
int m_save_count
 
int m_write_type
 

Detailed Description

Class for master part of a vector field which is defined on all particles.

Author
Steffen Abe $Revision$ $Date$

Member Typedef Documentation

◆ DataWithID

◆ DataWithPosID

◆ IVecData2

Constructor & Destructor Documentation

◆ VectorInteractionFieldMaster()

VectorInteractionFieldMaster::VectorInteractionFieldMaster ( TML_Comm comm,
const string &  fieldname,
const string &  igtype,
const string &  igname,
const string &  filename,
const string &  savetype,
int  t0,
int  tend,
int  dt,
bool  checked 
)

Constructor. Setup master and broadcast parameters to slaves

Parameters
commthe communicator
fieldnamethe name of the field to be saved
igtypethe type of interaction group for which the field is saved
ignamethe name of the interaction group for which the field is saved
filenamethe name of the file to be saved into or the base for the generation of the filenames if the saving format requires multiple files
savetypethe way to save data, currently supported are DX,SUM
t0the first timestep to be saved
tendthe last timestep to be saved
dtthe interval between timesteps to be saving
checkedchoose between "full" and "checked" fields

References TML_Comm::broadcast(), TML_Comm::broadcast_cont(), AFieldMaster::m_comm, and AFieldMaster::m_id.

Here is the call graph for this function:

◆ ~VectorInteractionFieldMaster()

virtual VectorInteractionFieldMaster::~VectorInteractionFieldMaster ( )
inlinevirtual

Member Function Documentation

◆ collect()

◆ collectFull()

void VectorInteractionFieldMaster::collectFull ( )
protected

collect full data set

References TML_Comm::broadcast(), TML_Comm::gather(), esys::lsm::bpu::iter(), AFieldMaster::m_comm, and m_data.

Referenced by collect().

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

◆ collectFull2()

void VectorInteractionFieldMaster::collectFull2 ( )
protected

collect full data set, both particle positions

References TML_Comm::broadcast(), console, TML_Comm::gather(), esys::lsm::bpu::iter(), AFieldMaster::m_comm, m_data2, and Console::XDebug().

Referenced by collect().

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

◆ collectFullWithID()

void VectorInteractionFieldMaster::collectFullWithID ( )
protected

collect data and <pid1,pid2,pos> info

References TML_Comm::broadcast(), COLL_TYPE_FULL_WITH_ID, console, TML_Comm::gather(), esys::lsm::bpu::iter(), AFieldMaster::m_comm, m_data_with_id, and Console::XDebug().

Referenced by collect().

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

◆ collectFullWithPosID()

void VectorInteractionFieldMaster::collectFullWithPosID ( )
protected

collect data and <pid1,pid2,pos1,pos2,ipos> info

References TML_Comm::broadcast(), COLL_TYPE_FULL_WITH_POS_ID, console, TML_Comm::gather(), esys::lsm::bpu::iter(), AFieldMaster::m_comm, m_data_with_pos_id, and Console::XDebug().

Referenced by collect().

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

◆ collectMax()

void VectorInteractionFieldMaster::collectMax ( )
protected

◆ collectSum()

void VectorInteractionFieldMaster::collectSum ( )
protected

collect sum of values only

References TML_Comm::broadcast(), TML_Comm::gather(), esys::lsm::bpu::iter(), AFieldMaster::m_comm, m_sum_vec, and AFieldMaster::m_write_type.

Referenced by collect().

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

◆ writeAsDX()

void VectorInteractionFieldMaster::writeAsDX ( )
protectedvirtual

write data out as OpenDX compatible file

Todo:
desciption

Reimplemented from AFieldMaster.

References esys::lsm::bpu::iter(), m_data, AFieldMaster::m_field_name, and AFieldMaster::makeFilename().

Here is the call graph for this function:

◆ writeAsMAX()

virtual void VectorInteractionFieldMaster::writeAsMAX ( )
inlineprotectedvirtual

Reimplemented from AFieldMaster.

◆ writeAsRAW2()

void VectorInteractionFieldMaster::writeAsRAW2 ( )
protectedvirtual

write data as pos1,pos2,value groups

Reimplemented from AFieldMaster.

References console, Console::Error(), esys::lsm::bpu::iter(), m_data2, AFieldMaster::makeFilename(), and Console::XDebug().

Here is the call graph for this function:

◆ writeAsRAW_SERIES()

virtual void VectorInteractionFieldMaster::writeAsRAW_SERIES ( )
inlineprotectedvirtual

Reimplemented from AFieldMaster.

◆ writeAsRawWithID()

void VectorInteractionFieldMaster::writeAsRawWithID ( )
protectedvirtual

write data as pid1,pid2,ipos,value groups

Reimplemented from AFieldMaster.

References console, Console::Error(), esys::lsm::bpu::iter(), m_data_with_id, AFieldMaster::makeFilename(), and Console::XDebug().

Here is the call graph for this function:

◆ writeAsRawWithPosID()

void VectorInteractionFieldMaster::writeAsRawWithPosID ( )
protectedvirtual

write data as pid1,pid2,ipos,value groups

Reimplemented from AFieldMaster.

References console, Console::Error(), esys::lsm::bpu::iter(), m_data_with_id, m_data_with_pos_id, AFieldMaster::makeFilename(), and Console::XDebug().

Here is the call graph for this function:

◆ writeAsSUM()

void VectorInteractionFieldMaster::writeAsSUM ( )
protectedvirtual

sum data and write them out into a single continuous file

Reimplemented from AFieldMaster.

References esys::lsm::bpu::iter(), AFieldMaster::m_file_name, and m_sum_vec.

Here is the call graph for this function:

Member Data Documentation

◆ m_data

vector<pair<Vec3,Vec3> > VectorInteractionFieldMaster::m_data
protected

Referenced by collectFull(), and writeAsDX().

◆ m_data2

vector<IVecData2> VectorInteractionFieldMaster::m_data2
protected

Referenced by collectFull2(), and writeAsRAW2().

◆ m_data_with_id

vector<DataWithID> VectorInteractionFieldMaster::m_data_with_id
protected

◆ m_data_with_pos_id

vector<DataWithPosID> VectorInteractionFieldMaster::m_data_with_pos_id
protected

◆ m_sum_vec

vector<Vec3> VectorInteractionFieldMaster::m_sum_vec
protected

Referenced by collectSum(), and writeAsSUM().


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