125 lines
3.1 KiB
C++
125 lines
3.1 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.
|
|
------------------------------------------------------------------------- */
|
|
|
|
#ifdef COMMAND_CLASS
|
|
|
|
CommandStyle(change_box,ChangeBox)
|
|
|
|
#else
|
|
|
|
#ifndef LMP_CHANGE_BOX_H
|
|
#define LMP_CHANGE_BOX_H
|
|
|
|
#include "pointers.h"
|
|
|
|
namespace LAMMPS_NS {
|
|
|
|
class ChangeBox : protected Pointers {
|
|
public:
|
|
ChangeBox(class LAMMPS *);
|
|
void command(int, char **);
|
|
|
|
private:
|
|
int scaleflag;
|
|
double scale[3];
|
|
|
|
struct Operation {
|
|
int style,flavor;
|
|
int dim,boundindex;
|
|
int vdim1,vdim2;
|
|
double flo,fhi,ftilt;
|
|
double dlo,dhi,dtilt;
|
|
double scale;
|
|
};
|
|
|
|
Operation *ops;
|
|
int nops;
|
|
|
|
double boxlo[3],h_inv[6];
|
|
|
|
void options(int, char **);
|
|
void save_box_state();
|
|
void volume_preserve(int, int, double);
|
|
};
|
|
|
|
}
|
|
|
|
#endif
|
|
#endif
|
|
|
|
/* ERROR/WARNING messages:
|
|
|
|
E: Change_box command before simulation box is defined
|
|
|
|
Self-explanatory.
|
|
|
|
E: Illegal ... command
|
|
|
|
Self-explanatory. Check the input script syntax and compare to the
|
|
documentation for the command. You can use -echo screen as a
|
|
command-line option when running LAMMPS to see the offending line.
|
|
|
|
E: Cannot change_box after reading restart file with per-atom info
|
|
|
|
This is because the restart file info cannot be migrated with the
|
|
atoms. You can get around this by performing a 0-timestep run which
|
|
will assign the restart file info to actual atoms.
|
|
|
|
E: Could not find change_box group ID
|
|
|
|
Group ID used in the change_box command does not exist.
|
|
|
|
E: Cannot change_box in z dimension for 2d simulation
|
|
|
|
Self-explanatory.
|
|
|
|
E: Change_box volume used incorrectly
|
|
|
|
The "dim volume" option must be used immediately following one or two
|
|
settings for "dim1 ..." (and optionally "dim2 ...") and must be for a
|
|
different dimension, i.e. dim != dim1 and dim != dim2.
|
|
|
|
E: Cannot change_box in xz or yz for 2d simulation
|
|
|
|
Self-explanatory.
|
|
|
|
E: Cannot change box tilt factors for orthogonal box
|
|
|
|
Cannot use tilt factors unless the simulation box is non-orthogonal.
|
|
|
|
E: Cannot change box z boundary to nonperiodic for a 2d simulation
|
|
|
|
Self-explanatory.
|
|
|
|
E: Cannot change box to orthogonal when tilt is non-zero
|
|
|
|
Self-explanatory.
|
|
|
|
E: Cannot change box ortho/triclinic with dumps defined
|
|
|
|
This is because some dumps store the shape of the box. You need to
|
|
use undump to discard the dump, change the box, then redefine a new
|
|
dump.
|
|
|
|
E: Cannot change box ortho/triclinic with certain fixes defined
|
|
|
|
This is because those fixes store the shape of the box. You need to
|
|
use unfix to discard the fix, change the box, then redefine a new
|
|
fix.
|
|
|
|
W: Lost atoms via change_box: original %ld current %ld
|
|
|
|
The command options you have used caused atoms to be lost.
|
|
|
|
*/
|