ESyS-Particle  2.3.4
ParticleFieldMaster.h
Go to the documentation of this file.
1 // //
3 // Copyright (c) 2003-2017 by The University of Queensland //
4 // Centre for Geoscience Computing //
5 // http://earth.uq.edu.au/centre-geoscience-computing //
6 // //
7 // Primary Business: Brisbane, Queensland, Australia //
8 // Licensed under the Open Software License version 3.0 //
9 // http://www.apache.org/licenses/LICENSE-2.0 //
10 // //
12 
13 #ifndef __PARTICLEFIELDMASTER_H
14 #define __PARTICLEFIELDMASTER_H
15 
16 //--- project includes ---
17 #include "FieldMaster.h"
18 #include "vec3.h"
19 
20 //--- STL includes ---
21 #include <map>
22 
23 using std::map;
24 
25 class TML_Comm;
26 
36 {
37  protected:
38  map<int,double> m_save_map;
39  map<int,double> m_rad_map;
40  map<int,Vec3> m_pos_map;
41  virtual void writeAsDX();
42  virtual void writeAsPOV();
43  virtual void writeAsSILO();
44  virtual void writeAsSUM();
45  virtual void writeAsMAX();
46  virtual void writeAsRAW_SERIES();
47  virtual void writeAsRawWithPosID();
48 
49  void collectFull();
50  void collectSum();
51 
52  public:
53  ScalarParticleFieldMaster(TML_Comm*,const string&,const string&,const string&,int,int,int);
54  ScalarParticleFieldMaster(TML_Comm*,const string&,const string&,const string&,int,int,int,int,int);
56 
57  virtual void collect();
58  };
59 
69 {
70  protected:
71  map<int,Vec3> m_save_map;
72  map<int,Vec3> m_pos_map;
73  virtual void writeAsDX();
74  virtual void writeAsPOV();
75  virtual void writeAsSILO();
76  virtual void writeAsSUM();
77  virtual void writeAsMAX();
78  virtual void writeAsRAW_SERIES();
79  virtual void writeAsRAW2();
80  virtual void writeAsRawWithID();
81 
82  public:
83  VectorParticleFieldMaster(TML_Comm*,const string&,const string&,const string&,int,int,int);
84  VectorParticleFieldMaster(TML_Comm*,const string&,const string&,const string&,int,int,int,int,int);
86 
87  void collect();
88 };
89 
90 #endif //__PARTICLEFIELDMASTER_H
VectorParticleFieldMaster::writeAsRAW_SERIES
virtual void writeAsRAW_SERIES()
Definition: ParticleFieldMaster.cpp:607
WRITE_TYPE_SUM
@ WRITE_TYPE_SUM
Definition: field_const.h:19
ScalarParticleFieldMaster::writeAsMAX
virtual void writeAsMAX()
Definition: ParticleFieldMaster.cpp:317
field_const.h
VectorParticleFieldMaster::m_pos_map
map< int, Vec3 > m_pos_map
Definition: ParticleFieldMaster.h:72
WRITE_TYPE_MAX
@ WRITE_TYPE_MAX
Definition: field_const.h:20
ScalarParticleFieldMaster::writeAsRAW_SERIES
virtual void writeAsRAW_SERIES()
Definition: ParticleFieldMaster.cpp:342
ScalarParticleFieldMaster::writeAsRawWithPosID
virtual void writeAsRawWithPosID()
Definition: ParticleFieldMaster.cpp:363
AFieldMaster
Abstract base class for master part of field.
Definition: FieldMaster.h:40
VectorParticleFieldMaster::writeAsMAX
virtual void writeAsMAX()
Definition: ParticleFieldMaster.cpp:585
AFieldMaster::m_field_name
string m_field_name
Definition: FieldMaster.h:46
VectorParticleFieldMaster::writeAsPOV
virtual void writeAsPOV()
Definition: ParticleFieldMaster.cpp:498
VectorParticleFieldMaster::writeAsSILO
virtual void writeAsSILO()
Definition: ParticleFieldMaster.cpp:505
AFieldMaster::makeFilename
string makeFilename()
Definition: FieldMaster.cpp:89
Console::Error
Console & Error()
set verbose level of next message to "err"
VectorParticleFieldMaster::writeAsRawWithID
virtual void writeAsRawWithID()
Definition: ParticleFieldMaster.cpp:653
AFieldMaster::m_file_name
string m_file_name
Definition: FieldMaster.h:47
ScalarParticleFieldMaster::~ScalarParticleFieldMaster
virtual ~ScalarParticleFieldMaster()
Definition: ParticleFieldMaster.h:55
VectorParticleFieldMaster::writeAsRAW2
virtual void writeAsRAW2()
Definition: ParticleFieldMaster.cpp:627
ScalarParticleFieldMaster::collect
virtual void collect()
Definition: ParticleFieldMaster.cpp:81
VectorParticleFieldMaster::writeAsDX
virtual void writeAsDX()
Definition: ParticleFieldMaster.cpp:464
VectorParticleFieldMaster::collect
void collect()
Definition: ParticleFieldMaster.cpp:433
ScalarParticleFieldMaster
Class for master part of a scalar field which is defined on all particles.
Definition: ParticleFieldMaster.h:36
cmax
VEC3_INLINE Vec3 cmax(const Vec3 &v1, const Vec3 &v2)
Definition: vec3.hpp:231
Vec3::X
VEC3_INLINE double & X()
Definition: vec3.h:119
ScalarParticleFieldMaster::collectFull
void collectFull()
Definition: ParticleFieldMaster.cpp:97
VectorParticleFieldMaster::VectorParticleFieldMaster
VectorParticleFieldMaster(TML_Comm *, const string &, const string &, const string &, int, int, int)
Definition: ParticleFieldMaster.cpp:400
ScalarParticleFieldMaster::writeAsDX
virtual void writeAsDX()
Definition: ParticleFieldMaster.cpp:158
AFieldMaster::m_write_type
int m_write_type
Definition: FieldMaster.h:51
Vec3::Z
VEC3_INLINE double & Z()
Definition: vec3.h:121
VectorParticleFieldMaster::~VectorParticleFieldMaster
virtual ~VectorParticleFieldMaster()
Definition: ParticleFieldMaster.h:85
NULL
#define NULL
Definition: t_list.h:17
ScalarParticleFieldMaster::ScalarParticleFieldMaster
ScalarParticleFieldMaster(TML_Comm *, const string &, const string &, const string &, int, int, int)
Definition: ParticleFieldMaster.cpp:47
VectorParticleFieldMaster::m_save_map
map< int, Vec3 > m_save_map
Definition: ParticleFieldMaster.h:71
ScalarParticleFieldMaster::m_save_map
map< int, double > m_save_map
Definition: ParticleFieldMaster.h:38
ScalarParticleFieldMaster::writeAsSILO
virtual void writeAsSILO()
Definition: ParticleFieldMaster.cpp:237
VectorParticleFieldMaster
Class for master part of a vector field which is defined on all particles.
Definition: ParticleFieldMaster.h:69
ParticleFieldMaster.h
Vec3::Y
VEC3_INLINE double & Y()
Definition: vec3.h:120
comm.h
Vec3
Definition: vec3.h:47
openSiloFile
DBfile * openSiloFile(const string &filename)
Definition: frame_silo.cpp:105
esys::lsm::bpu::iter
boost::python::object iter(const boost::python::object &pyOb)
Definition: Util.h:25
TML_Comm
abstract base class for communicator
Definition: comm.h:47
FieldMaster.h
TML_Comm::broadcast
void broadcast(T)
Definition: comm_coll.hpp:23
ScalarParticleFieldMaster::m_pos_map
map< int, Vec3 > m_pos_map
Definition: ParticleFieldMaster.h:40
cmin
VEC3_INLINE Vec3 cmin(const Vec3 &v1, const Vec3 &v2)
Definition: vec3.hpp:240
TML_Comm::broadcast_cont
void broadcast_cont(const T &)
Definition: comm_coll.hpp:46
Vec3::norm2
VEC3_INLINE double norm2() const
Definition: vec3.hpp:218
VectorParticleFieldMaster::writeAsSUM
virtual void writeAsSUM()
Definition: ParticleFieldMaster.cpp:561
ScalarParticleFieldMaster::writeAsSUM
virtual void writeAsSUM()
Definition: ParticleFieldMaster.cpp:293
ScalarParticleFieldMaster::writeAsPOV
virtual void writeAsPOV()
Definition: ParticleFieldMaster.cpp:192
ScalarParticleFieldMaster::m_rad_map
map< int, double > m_rad_map
Definition: ParticleFieldMaster.h:39
TML_Comm::gather
void gather(multimap< int, T > &)
Definition: comm_coll.hpp:273
console
Console console
Definition: console.cpp:25
AFieldMaster::m_comm
TML_Comm * m_comm
Definition: FieldMaster.h:45
ScalarParticleFieldMaster::collectSum
void collectSum()
Definition: ParticleFieldMaster.cpp:134
AFieldMaster::m_id
int m_id
Definition: FieldMaster.h:49