git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@3903 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
28
src/lammps.h
28
src/lammps.h
@ -22,21 +22,21 @@ namespace LAMMPS_NS {
|
||||
class LAMMPS {
|
||||
public:
|
||||
// ptrs to fundamental LAMMPS classes
|
||||
class Memory *memory; // memory allocation functions
|
||||
class Error *error; // error handling
|
||||
class Universe *universe; // universe of processors
|
||||
class Input *input; // input script processing
|
||||
class Memory *memory; // memory allocation functions
|
||||
class Error *error; // error handling
|
||||
class Universe *universe; // universe of processors
|
||||
class Input *input; // input script processing
|
||||
// ptrs to top-level LAMMPS-specific classes
|
||||
class Atom *atom; // atom-based quantities
|
||||
class Update *update; // integrators/minimizers
|
||||
class Neighbor *neighbor; // neighbor lists
|
||||
class Comm *comm; // inter-processor communication
|
||||
class Domain *domain; // simulation box
|
||||
class Force *force; // inter-particle forces
|
||||
class Modify *modify; // fixes and computes
|
||||
class Group *group; // groups of atoms
|
||||
class Output *output; // thermo/dump/restart
|
||||
class Timer *timer; // CPU timing info
|
||||
class Atom *atom; // atom-based quantities
|
||||
class Update *update; // integrators/minimizers
|
||||
class Neighbor *neighbor; // neighbor lists
|
||||
class Comm *comm; // inter-processor communication
|
||||
class Domain *domain; // simulation box
|
||||
class Force *force; // inter-particle forces
|
||||
class Modify *modify; // fixes and computes
|
||||
class Group *group; // groups of atoms
|
||||
class Output *output; // thermo/dump/restart
|
||||
class Timer *timer; // CPU timing info
|
||||
|
||||
MPI_Comm world; // MPI communicator
|
||||
FILE *infile; // infile
|
||||
|
||||
@ -24,7 +24,7 @@ class Memory : protected Pointers {
|
||||
|
||||
void *smalloc(int n, const char *);
|
||||
void sfree(void *);
|
||||
void *srealloc(void *, int n, const char *name);
|
||||
void *srealloc(void *, int n, const char *);
|
||||
|
||||
double *create_1d_double_array(int, int, const char *);
|
||||
void destroy_1d_double_array(double *, int);
|
||||
|
||||
@ -11,18 +11,21 @@
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "mpi.h"
|
||||
#include "string.h"
|
||||
#include "unistd.h"
|
||||
#include "sys/stat.h"
|
||||
#include "shell.h"
|
||||
#include "comm.h"
|
||||
#include "error.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
Shell::Shell(LAMMPS *lmp) : Pointers(lmp) {}
|
||||
Shell::Shell(LAMMPS *lmp) : Pointers(lmp)
|
||||
{
|
||||
MPI_Comm_rank(world,&me);
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
@ -37,24 +40,24 @@ void Shell::command(int narg, char **arg)
|
||||
} else if (strcmp(arg[0],"mkdir") == 0) {
|
||||
if (narg < 2) error->all("Illegal shell command");
|
||||
#ifndef WINDOWS
|
||||
if (comm->me == 0)
|
||||
if (me == 0)
|
||||
for (int i = 1; i < narg; i++)
|
||||
mkdir(arg[i], S_IRWXU | S_IRGRP | S_IXGRP);
|
||||
#endif
|
||||
|
||||
} else if (strcmp(arg[0],"mv") == 0) {
|
||||
if (narg != 3) error->all("Illegal shell command");
|
||||
if (comm->me == 0) rename(arg[1],arg[2]);
|
||||
if (me == 0) rename(arg[1],arg[2]);
|
||||
|
||||
} else if (strcmp(arg[0],"rm") == 0) {
|
||||
if (narg < 2) error->all("Illegal shell command");
|
||||
if (comm->me == 0)
|
||||
if (me == 0)
|
||||
for (int i = 1; i < narg; i++)
|
||||
unlink(arg[i]);
|
||||
|
||||
} else if (strcmp(arg[0],"rmdir") == 0) {
|
||||
if (narg < 2) error->all("Illegal shell command");
|
||||
if (comm->me == 0)
|
||||
if (me == 0)
|
||||
for (int i = 1; i < narg; i++)
|
||||
rmdir(arg[i]);
|
||||
|
||||
|
||||
@ -28,6 +28,9 @@ class Shell : protected Pointers {
|
||||
public:
|
||||
Shell(class LAMMPS *);
|
||||
void command(int, char **);
|
||||
|
||||
private:
|
||||
int me;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@ -1086,7 +1086,6 @@ double Variable::evaluate(char *str, Tree **tree)
|
||||
else if (group_function(word,contents,tree,
|
||||
treestack,ntreestack,argstack,nargstack));
|
||||
else error->all("Invalid math or group function in variable formula");
|
||||
|
||||
delete [] contents;
|
||||
|
||||
// ----------------
|
||||
|
||||
Reference in New Issue
Block a user