forked from lijiext/lammps
83 lines
2.2 KiB
C++
83 lines
2.2 KiB
C++
/* -*- c++ -*- ----------------------------------------------------------
|
|
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
|
http://lammps.sandia.gov, Sandia National Laboratories
|
|
Steve Plimpton, sjplimp@sandia.gov
|
|
|
|
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
|
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
|
certain rights in this software. This software is distributed under
|
|
the GNU General Public License.
|
|
|
|
See the README file in the top-level LAMMPS directory.
|
|
------------------------------------------------------------------------- */
|
|
|
|
#ifndef LMP_UNIVERSE_H
|
|
#define LMP_UNIVERSE_H
|
|
|
|
#include <stdio.h>
|
|
#include "pointers.h"
|
|
|
|
namespace LAMMPS_NS {
|
|
|
|
class Universe : protected Pointers {
|
|
public:
|
|
const char *version; // LAMMPS version string = date
|
|
const char *num_ver; // numeric version id derived from version that
|
|
// can be used for string or numeric comparisons
|
|
|
|
MPI_Comm uworld; // communicator for entire universe
|
|
int me,nprocs; // my place in universe
|
|
|
|
FILE *uscreen; // universe screen output
|
|
FILE *ulogfile; // universe logfile
|
|
|
|
int existflag; // 1 if universe exists due to -partition flag
|
|
int nworlds; // # of worlds in universe
|
|
int iworld; // which world I am in
|
|
int *procs_per_world; // # of procs in each world
|
|
int *root_proc; // root proc in each world
|
|
|
|
MPI_Comm uorig; // original communicator passed to LAMMPS instance
|
|
int *uni2orig; // proc I in universe uworld is
|
|
// proc uni2orig[I] in original communicator
|
|
|
|
Universe(class LAMMPS *, MPI_Comm);
|
|
~Universe();
|
|
void reorder(char *, char *);
|
|
void add_world(char *);
|
|
int consistent();
|
|
};
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
/* ERROR/WARNING messages:
|
|
|
|
E: Invalid -reorder N value
|
|
|
|
Self-explanatory.
|
|
|
|
E: Nprocs not a multiple of N for -reorder
|
|
|
|
Self-explanatory.
|
|
|
|
E: Cannot open -reorder file
|
|
|
|
Self-explanatory.
|
|
|
|
E: Unexpected end of -reorder file
|
|
|
|
Self-explanatory.
|
|
|
|
E: Invalid entry in -reorder file
|
|
|
|
Self-explanatory.
|
|
|
|
E: Invalid command-line argument
|
|
|
|
One or more command-line arguments is invalid. Check the syntax of
|
|
the command you are using to launch LAMMPS.
|
|
|
|
*/
|