#ifdef DUMP_CLASS
DumpStyle(atom/mpiio,DumpAtomMPIIO)
#else
#ifndef LMP_DUMP_ATOM_MPIIO_H
#define LMP_DUMP_ATOM_MPIIO_H
#include "dump_atom.h"
namespace LAMMPS_NS {
class DumpAtomMPIIO : public DumpAtom {
public:
DumpAtomMPIIO(class LAMMPS *, int, char **);
virtual ~DumpAtomMPIIO();
protected:
bigint sumFileSize; char *headerBuffer;
MPI_File mpifh;
MPI_Offset mpifo,offsetFromHeader,headerSize, currentFileSize;
int performEstimate; char *filecurrent;
virtual void openfile();
virtual void write_header(bigint);
virtual void write();
virtual void write_data(int, double *);
virtual void init_style();
typedef void (DumpAtomMPIIO::*FnPtrHeader)(bigint);
FnPtrHeader header_choice; void header_binary(bigint);
void header_binary_triclinic(bigint);
void header_item(bigint);
void header_item_triclinic(bigint);
#if defined(_OPENMP)
int convert_string_omp(int, double *); int convert_image_omp(int, double *); int convert_noimage_omp(int, double *); #endif
int convert_string(int, double *);
typedef void (DumpAtomMPIIO::*FnPtrData)(int, double *);
FnPtrData write_choice; void write_binary(int, double *);
void write_string(int, double *);
};
}
#endif
#endif