ESyS-Particle  2.3.4
FieldMaster.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 __FIELDMASTER_H
14 #define __FIELDMASTER_H
15 
16 #ifdef HAVE_CONFIG_H
17 #include "config.h"
18 #endif
19 
20 #if HAVE_SILO
21 #include <silo.h>
22 #endif
23 
24 //--- STL includes ---
25 #include <string>
26 using std::string;
27 
28 // --- project includes ---
29 #include "Foundation/console.h"
30 
31 
32 class TML_Comm;
33 
40 {
41  private:
42  static int s_field_count;
43 
44  protected:
46  string m_field_name;
47  string m_file_name;
49  int m_id;
51  int m_write_type; // DX, POV. SILO, SUM, MAX, RAW_SERIES etc
52 
53  string makeFilename();
54 #if HAVE_SILO
55  DBfile* openSiloFile(bool& exists);
56 #endif
57  virtual void writeAsDX(){console.Error()<<"writeAsDX NOT IMPLEMENTED\n";};
58  virtual void writeAsPOV(){console.Error()<<"writeAsPOV NOT IMPLEMENTED\n";};
59  virtual void writeAsSILO(){console.Error()<<"writeAsSILO NOT IMPLEMENTED\n";};
60  virtual void writeAsSUM(){console.Error()<<"writeAsSUM NOT IMPLEMENTED\n";};
61  virtual void writeAsMAX(){console.Error()<<"writeAsMAX NOT IMPLEMENTED\n";};
62  virtual void writeAsRAW_SERIES(){console.Error()<<"writeAsRAW_SERIES NOT IMPLEMENTED\n";};
63  virtual void writeAsRAW2(){console.Error()<<"writeAsRAW2 NOT IMPLEMENTED\n";};
64  virtual void writeAsRAW(){console.Error()<<"writeAsRAW NOT IMPLEMENTED\n";};
65  virtual void writeAsRawWithID(){console.Error()<<"writeAsRawWithID NOT IMPLEMENTED\n";};
66  virtual void writeAsRawWithPosID(){console.Error()<<"writeAsRawWithPosID NOT IMPLEMENTED\n";};
67 
68  public:
69  AFieldMaster(TML_Comm*,const string&,const string&,const string&,int,int,int);
70  virtual ~AFieldMaster(){};
71 
72  virtual bool needSave(int);
73  virtual void collect()=0;
74  virtual void write();
75 };
76 
77 #endif //__FIELDMASTER_H
WRITE_TYPE_SUM
@ WRITE_TYPE_SUM
Definition: field_const.h:19
AFieldMaster::writeAsRAW2
virtual void writeAsRAW2()
Definition: FieldMaster.h:63
AFieldMaster::writeAsSILO
virtual void writeAsSILO()
Definition: FieldMaster.h:59
WRITE_TYPE_RAW_WITH_ID
@ WRITE_TYPE_RAW_WITH_ID
Definition: field_const.h:24
field_const.h
WRITE_TYPE_RAW2
@ WRITE_TYPE_RAW2
Definition: field_const.h:22
WRITE_TYPE_MAX
@ WRITE_TYPE_MAX
Definition: field_const.h:20
AFieldMaster::writeAsDX
virtual void writeAsDX()
Definition: FieldMaster.h:57
AFieldMaster::AFieldMaster
AFieldMaster(TML_Comm *, const string &, const string &, const string &, int, int, int)
Definition: FieldMaster.cpp:39
AFieldMaster
Abstract base class for master part of field.
Definition: FieldMaster.h:40
AFieldMaster::m_field_name
string m_field_name
Definition: FieldMaster.h:46
AFieldMaster::makeFilename
string makeFilename()
Definition: FieldMaster.cpp:89
Console::Error
Console & Error()
set verbose level of next message to "err"
AFieldMaster::needSave
virtual bool needSave(int)
Definition: FieldMaster.cpp:79
AFieldMaster::m_file_name
string m_file_name
Definition: FieldMaster.h:47
AFieldMaster::write
virtual void write()
Definition: FieldMaster.cpp:139
AFieldMaster::~AFieldMaster
virtual ~AFieldMaster()
Definition: FieldMaster.h:70
console.h
AFieldMaster::writeAsPOV
virtual void writeAsPOV()
Definition: FieldMaster.h:58
WRITE_TYPE_SILO
@ WRITE_TYPE_SILO
Definition: field_const.h:26
AFieldMaster::s_field_count
static int s_field_count
Definition: FieldMaster.h:42
WRITE_TYPE_RAW
@ WRITE_TYPE_RAW
Definition: field_const.h:23
AFieldMaster::writeAsMAX
virtual void writeAsMAX()
Definition: FieldMaster.h:61
AFieldMaster::m_save_count
int m_save_count
Definition: FieldMaster.h:50
AFieldMaster::writeAsRAW_SERIES
virtual void writeAsRAW_SERIES()
Definition: FieldMaster.h:62
WRITE_TYPE_DX
@ WRITE_TYPE_DX
Definition: field_const.h:17
WRITE_TYPE_POV
@ WRITE_TYPE_POV
Definition: field_const.h:18
AFieldMaster::m_write_type
int m_write_type
Definition: FieldMaster.h:51
WRITE_TYPE_RAW_SERIES
@ WRITE_TYPE_RAW_SERIES
Definition: field_const.h:21
NULL
#define NULL
Definition: t_list.h:17
AFieldMaster::m_tend
int m_tend
Definition: FieldMaster.h:48
AFieldMaster::writeAsRawWithID
virtual void writeAsRawWithID()
Definition: FieldMaster.h:65
AFieldMaster::m_dt
int m_dt
Definition: FieldMaster.h:48
WRITE_TYPE_RAW_WITH_POS_ID
@ WRITE_TYPE_RAW_WITH_POS_ID
Definition: field_const.h:25
openSiloFile
DBfile * openSiloFile(const string &filename)
Definition: frame_silo.cpp:105
AFieldMaster::writeAsSUM
virtual void writeAsSUM()
Definition: FieldMaster.h:60
TML_Comm
abstract base class for communicator
Definition: comm.h:47
FieldMaster.h
AFieldMaster::writeAsRAW
virtual void writeAsRAW()
Definition: FieldMaster.h:64
AFieldMaster::collect
virtual void collect()=0
AFieldMaster::m_t0
int m_t0
Definition: FieldMaster.h:48
console
Console console
Definition: console.cpp:25
AFieldMaster::writeAsRawWithPosID
virtual void writeAsRawWithPosID()
Definition: FieldMaster.h:66
AFieldMaster::m_comm
TML_Comm * m_comm
Definition: FieldMaster.h:45
AFieldMaster::m_id
int m_id
Definition: FieldMaster.h:49