Bridge++  Ver. 1.1.x
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
fieldIO_Binary_Parallel.h
Go to the documentation of this file.
1 
9 #ifndef FIELDIO_BINARY_PARALLEL_INCLUDED
10 #define FIELDIO_BINARY_PARALLEL_INCLUDED
11 
12 #include <string>
13 using std::string;
14 
15 #ifdef USE_MPI
16 #include <mpi.h>
17 #include "communicator_mpi.h"
18 #endif
19 
20 #include "fieldIO.h"
21 
22 #include "bridgeIO.h"
23 using Bridge::vout;
24 
26 
42 #ifdef USE_MPI
43 class FieldIO_Binary_Parallel : public FieldIO
44 {
45  public:
46  FieldIO_Binary_Parallel(const IO_Format::Format *format) : FieldIO(format), m_is_initialized(false) {}
47 
48  void read_file(Field *v, string filename);
49  void write_file(Field *v, string filename);
50 
51  private:
52 
53  bool m_is_initialized;
54 
55  int m_nvol;
56 
57  MPI_Datatype m_type_vector;
58  MPI_Datatype m_type_tiled;
59 
60  int initialize();
61 };
62 
63 #else
64 
65 // for Single version, just an alias of FieldIO_Binary.
66 
68 {
69  public:
71 };
72 #endif
73 #endif