1
/* -*- c++ -*- ----------------------------------------------------------
2
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
3
http://lammps.sandia.gov, Sandia National Laboratories
4
Steve Plimpton, sjplimp@sandia.gov
6
Copyright (2003) Sandia Corporation. Under the terms of Contract
7
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
8
certain rights in this software. This software is distributed under
9
the GNU General Public License.
11
See the README file in the top-level LAMMPS directory.
12
------------------------------------------------------------------------- */
16
DumpStyle(cfg/mpiio,DumpCFGMPIIO)
20
#ifndef LMP_DUMP_CFG_MPIIO_H
21
#define LMP_DUMP_CFG_MPIIO_H
27
class DumpCFGMPIIO : public DumpCFG {
29
DumpCFGMPIIO(class LAMMPS *, int, char **);
30
virtual ~DumpCFGMPIIO();
33
bigint sumFileSize; // size in bytes of the file up through this rank offset from the end of the header data
34
char *headerBuffer; // buffer for holding header data
37
MPI_Offset mpifo,offsetFromHeader,headerSize, currentFileSize;
38
int performEstimate; // switch for write_data and write_header methods to use for gathering data and detemining filesize for preallocation vs actually writing the data
39
char *filecurrent; // name of file for this round (with % and * replaced)
42
int convert_string_omp(int, double *); // multithreaded version of convert_string
45
virtual void openfile();
46
virtual void init_style();
47
virtual void write_header(bigint);
49
virtual void write_data(int, double *);
51
typedef void (DumpCFGMPIIO::*FnPtrData)(int, double *);
52
FnPtrData write_choice; // ptr to write data functions
53
void write_string(int, double *);
61
/* ERROR/WARNING messages:
63
E: Dump cfg arguments must start with 'mass type xs ys zs' or 'mass type xsu ysu zsu'
65
This is a requirement of the CFG output format. See the dump cfg doc
66
page for more details.
68
E: Dump cfg arguments can not mix xs|ys|zs with xsu|ysu|zsu
72
E: Invalid keyword in dump cfg command
76
E: Dump cfg requires one snapshot per file
78
Use the wildcard "*" character in the filename.