forked from lijiext/lammps
git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@76 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
parent
2fad2c4625
commit
59c0f01a92
|
@ -17,7 +17,7 @@
|
|||
</PRE>
|
||||
<UL><LI>ID = user-assigned name for the region
|
||||
|
||||
<LI>style = <I>block</I> or <I>sphere</I> or <I>cylinder</I> or <I>union</I> or <I>intersect</I>
|
||||
<LI>style = <I>block</I> or <I>sphere</I> or <I>cylinder</I> or <I>prism</I> or <I>union</I> or <I>intersect</I>
|
||||
|
||||
<PRE> <I>block</I> args = xlo xhi ylo yhi zlo zhi
|
||||
xlo,xhi,ylo,yhi,zlo,zhi = bounds of block in all
|
||||
|
@ -30,6 +30,12 @@
|
|||
c1,c2 = coords of cylinder axis in other 2 dimensions (distance units)
|
||||
radius = cylinder radius (distance units)
|
||||
lo,hi = bounds of cylinder in dim (distance units)
|
||||
<I>prism</I> args = xlo xhi ylo yhi zlo zhi yxtilt zxtilt zytilt
|
||||
xlo,xhi,ylo,yhi,zlo,zhi = bounds of untilted prism in all
|
||||
dimensions (distance units)
|
||||
yxtilt = distance to shift upper y in x direction (distance units)
|
||||
zxtilt = distance to shift upper z in x direction (distance units)
|
||||
zytilt = distance to shift upper z in y direction (distance units)
|
||||
<I>union</I> args = N reg-ID1 reg-ID2 ...
|
||||
N = # of regions to follow, must be 2 or greater
|
||||
reg-ID1,reg-ID2, ... = IDs of regions to join together
|
||||
|
@ -55,6 +61,7 @@
|
|||
<PRE>region 1 block -3.0 5.0 INF 10.0 INF INF
|
||||
region 2 sphere 0.0 0.0 0.0 5 side out
|
||||
region void cylinder y 2 3 5 -5.0 INF units box
|
||||
region 1 prism 0 10 0 10 0 10 2 0 0
|
||||
region outside union 4 side1 side2 side3 side4
|
||||
</PRE>
|
||||
<P><B>Description:</B>
|
||||
|
@ -65,10 +72,10 @@ atoms via the <A HREF = "create_atoms.html">create_atoms</A> command. Or the at
|
|||
in the region can be identified as a group via the <A HREF = "group.html">group</A>
|
||||
command, or deleted via the <A HREF = "delete_atoms.html">delete_atoms</A> command.
|
||||
</P>
|
||||
<P>The lo/hi values for <I>block</I> or <I>cylinder</I> styles can be specified
|
||||
as INF which means they extend all the way to the global simulation
|
||||
box boundary. If a region is defined before the simulation box has
|
||||
been created (via <A HREF = "create_box.html">create_box</A> or
|
||||
<P>The lo/hi values for <I>block</I> or <I>cylinder</I> or <I>prism</I> styles can be
|
||||
specified as INF which means they extend all the way to the global
|
||||
simulation box boundary. If a region is defined before the simulation
|
||||
box has been created (via <A HREF = "create_box.html">create_box</A> or
|
||||
<A HREF = "read_data.html">read_data</A> or <A HREF = "read_restart.html">read_restart</A>
|
||||
commands), then an INF parameter cannot be used.
|
||||
</P>
|
||||
|
@ -79,6 +86,19 @@ third example above specifes a cylinder with its axis in the
|
|||
y-direction located at x = 2.0 and z = 3.0, with a radius of 5.0, and
|
||||
extending in the y-direction from -5.0 to the upper box boundary.
|
||||
</P>
|
||||
<P>For style <I>prism</I>, a tilted block is defined. The bounds of the
|
||||
untilted axis-aligned block are specified in the same way as for the
|
||||
<I>block</I> style. A tilt factor for each dimension with respect to
|
||||
another dimension is also specified. If the lower xy face of the
|
||||
prism is initially a rectangle (untilted), then the yxtilt factor
|
||||
specifies how far the upper y edge of that face is shifted in the x
|
||||
direction (skewing that face, keeping the xy face a parallelogram). A
|
||||
plus or minus value can be chosen; 0.0 would be no tilt. Similarly,
|
||||
zxtilt and zytilt describe how far the upper xy face of the prism is
|
||||
translated in the x and y directions to further tilt the prism. The
|
||||
final prism shape remains a parallelipiped, with opposing pairs of the
|
||||
6 faces remaining parallel to each other.
|
||||
</P>
|
||||
<P>The <I>union</I> style creates a region consisting of the volume of all the
|
||||
listed regions combined. The <I>intesect</I> style creates a region
|
||||
consisting of the volume that is common to all the listed regions.
|
||||
|
@ -96,11 +116,15 @@ both of the spheres.
|
|||
to define the region. A <I>box</I> value selects standard distance units
|
||||
as defined by the <A HREF = "units.html">units</A> command, e.g. Angstroms for units
|
||||
= real or metal. A <I>lattice</I> value means the distance units are in
|
||||
cubic lattice spacings. The <A HREF = "lattice.html">lattice</A> command must first
|
||||
be used to define a lattice.
|
||||
lattice spacings. The <A HREF = "lattice.html">lattice</A> command must have been
|
||||
previously used to define the lattice spacing.
|
||||
</P>
|
||||
<P><B>Restrictions:</B> none
|
||||
</P>
|
||||
<P>A prism cannot be of 0.0 thickness in any dimension; use a small z
|
||||
thickness for 2d simulations. For 2d simulations, the zxtilt and
|
||||
zytilt parameters must be 0.0.
|
||||
</P>
|
||||
<P><B>Related commands:</B>
|
||||
</P>
|
||||
<P><A HREF = "lattice.html">lattice</A>, <A HREF = "create_atoms.html">create_atoms</A>,
|
||||
|
|
|
@ -13,7 +13,7 @@ region command :h3
|
|||
region ID style args keyword value ... :pre
|
||||
|
||||
ID = user-assigned name for the region :ulb,l
|
||||
style = {block} or {sphere} or {cylinder} or {union} or {intersect} :l
|
||||
style = {block} or {sphere} or {cylinder} or {prism} or {union} or {intersect} :l
|
||||
{block} args = xlo xhi ylo yhi zlo zhi
|
||||
xlo,xhi,ylo,yhi,zlo,zhi = bounds of block in all
|
||||
dimensions (distance units)
|
||||
|
@ -25,6 +25,12 @@ style = {block} or {sphere} or {cylinder} or {union} or {intersect} :l
|
|||
c1,c2 = coords of cylinder axis in other 2 dimensions (distance units)
|
||||
radius = cylinder radius (distance units)
|
||||
lo,hi = bounds of cylinder in dim (distance units)
|
||||
{prism} args = xlo xhi ylo yhi zlo zhi yxtilt zxtilt zytilt
|
||||
xlo,xhi,ylo,yhi,zlo,zhi = bounds of untilted prism in all
|
||||
dimensions (distance units)
|
||||
yxtilt = distance to shift upper y in x direction (distance units)
|
||||
zxtilt = distance to shift upper z in x direction (distance units)
|
||||
zytilt = distance to shift upper z in y direction (distance units)
|
||||
{union} args = N reg-ID1 reg-ID2 ...
|
||||
N = # of regions to follow, must be 2 or greater
|
||||
reg-ID1,reg-ID2, ... = IDs of regions to join together
|
||||
|
@ -46,6 +52,7 @@ keyword = {side} or {units} :l
|
|||
region 1 block -3.0 5.0 INF 10.0 INF INF
|
||||
region 2 sphere 0.0 0.0 0.0 5 side out
|
||||
region void cylinder y 2 3 5 -5.0 INF units box
|
||||
region 1 prism 0 10 0 10 0 10 2 0 0
|
||||
region outside union 4 side1 side2 side3 side4 :pre
|
||||
|
||||
[Description:]
|
||||
|
@ -56,10 +63,10 @@ atoms via the "create_atoms"_create_atoms.html command. Or the atoms
|
|||
in the region can be identified as a group via the "group"_group.html
|
||||
command, or deleted via the "delete_atoms"_delete_atoms.html command.
|
||||
|
||||
The lo/hi values for {block} or {cylinder} styles can be specified
|
||||
as INF which means they extend all the way to the global simulation
|
||||
box boundary. If a region is defined before the simulation box has
|
||||
been created (via "create_box"_create_box.html or
|
||||
The lo/hi values for {block} or {cylinder} or {prism} styles can be
|
||||
specified as INF which means they extend all the way to the global
|
||||
simulation box boundary. If a region is defined before the simulation
|
||||
box has been created (via "create_box"_create_box.html or
|
||||
"read_data"_read_data.html or "read_restart"_read_restart.html
|
||||
commands), then an INF parameter cannot be used.
|
||||
|
||||
|
@ -70,6 +77,19 @@ third example above specifes a cylinder with its axis in the
|
|||
y-direction located at x = 2.0 and z = 3.0, with a radius of 5.0, and
|
||||
extending in the y-direction from -5.0 to the upper box boundary.
|
||||
|
||||
For style {prism}, a tilted block is defined. The bounds of the
|
||||
untilted axis-aligned block are specified in the same way as for the
|
||||
{block} style. A tilt factor for each dimension with respect to
|
||||
another dimension is also specified. If the lower xy face of the
|
||||
prism is initially a rectangle (untilted), then the yxtilt factor
|
||||
specifies how far the upper y edge of that face is shifted in the x
|
||||
direction (skewing that face, keeping the xy face a parallelogram). A
|
||||
plus or minus value can be chosen; 0.0 would be no tilt. Similarly,
|
||||
zxtilt and zytilt describe how far the upper xy face of the prism is
|
||||
translated in the x and y directions to further tilt the prism. The
|
||||
final prism shape remains a parallelipiped, with opposing pairs of the
|
||||
6 faces remaining parallel to each other.
|
||||
|
||||
The {union} style creates a region consisting of the volume of all the
|
||||
listed regions combined. The {intesect} style creates a region
|
||||
consisting of the volume that is common to all the listed regions.
|
||||
|
@ -87,11 +107,15 @@ The {units} keyword determines the meaning of the distance units used
|
|||
to define the region. A {box} value selects standard distance units
|
||||
as defined by the "units"_units.html command, e.g. Angstroms for units
|
||||
= real or metal. A {lattice} value means the distance units are in
|
||||
cubic lattice spacings. The "lattice"_lattice.html command must first
|
||||
be used to define a lattice.
|
||||
lattice spacings. The "lattice"_lattice.html command must have been
|
||||
previously used to define the lattice spacing.
|
||||
|
||||
[Restrictions:] none
|
||||
|
||||
A prism cannot be of 0.0 thickness in any dimension; use a small z
|
||||
thickness for 2d simulations. For 2d simulations, the zxtilt and
|
||||
zytilt parameters must be 0.0.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"lattice"_lattice.html, "create_atoms"_create_atoms.html,
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
# Stillinger-Weber parameters for various elements and mixtures
|
||||
# multiple elements can be added to this file, LAMMPS reads the ones it needs
|
||||
# multiple entries can be added to this file, LAMMPS reads the ones it needs
|
||||
|
||||
# format of a line:
|
||||
# format of an entry (one or more lines):
|
||||
# element 1, element 2, element 3
|
||||
# epsilon, sigma, littlea, lambda, gamma, costheta, biga, bigb, powerp, powerq
|
||||
|
||||
Si Si Si 2.1683 2.0951 1.80 21.0 1.20 -0.333333333333 7.049556277 0.6022245584 4.0 0.0
|
||||
Si Si Si 2.1683 2.0951 1.80 21.0 1.20 -0.333333333333
|
||||
7.049556277 0.6022245584 4.0 0.0
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ SHELL = /bin/sh
|
|||
|
||||
# System-specific settings
|
||||
|
||||
FFTW = /apps/libraries/fftw/nwcc
|
||||
FFTW = /apps/libraries/fftw
|
||||
|
||||
CC = mpicxx
|
||||
CCFLAGS = -O -DFFT_FFTW -I${FFTW}/include
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef FIX_WALL_REFLECT_H
|
||||
#define FIX_WALL_REFELCT_H
|
||||
#define FIX_WALL_REFLECT_H
|
||||
|
||||
#include "fix.h"
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@ FILE *LAMMPS::logfile = NULL;
|
|||
void LAMMPS::open(int narg, char **arg, MPI_Comm communicator)
|
||||
{
|
||||
sys = new System();
|
||||
sys->open(narg,arg,MPI_COMM_WORLD);
|
||||
sys->open(narg,arg,communicator);
|
||||
sys->create();
|
||||
}
|
||||
|
||||
|
|
|
@ -41,6 +41,7 @@ Region::Region(int narg, char **arg)
|
|||
if (strcmp(style,"block") == 0) options(narg-8,&arg[8]);
|
||||
else if (strcmp(style,"sphere") == 0) options(narg-6,&arg[6]);
|
||||
else if (strcmp(arg[1],"cylinder") == 0) options(narg-8,&arg[8]);
|
||||
else if (strcmp(style,"prism") == 0) options(narg-11,&arg[11]);
|
||||
else if (strcmp(arg[1],"union") == 0) {
|
||||
if (narg < 5) error->all("Illegal region command");
|
||||
n = atoi(arg[2]);
|
||||
|
|
|
@ -0,0 +1,128 @@
|
|||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
www.cs.sandia.gov/~sjplimp/lammps.html
|
||||
Steve Plimpton, sjplimp@sandia.gov, Sandia National Laboratories
|
||||
|
||||
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.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "stdlib.h"
|
||||
#include "string.h"
|
||||
#include "region_prism.h"
|
||||
#include "domain.h"
|
||||
#include "force.h"
|
||||
#include "error.h"
|
||||
|
||||
#define MIN(A,B) ((A) < (B)) ? (A) : (B)
|
||||
#define MAX(A,B) ((A) > (B)) ? (A) : (B)
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
RegPrism::RegPrism(int narg, char **arg) : Region(narg, arg)
|
||||
{
|
||||
if (strcmp(arg[2],"INF") == 0) {
|
||||
if (domain->box_exist == 0)
|
||||
error->all("Cannot use region INF when box does not exist");
|
||||
xlo = domain->boxxlo;
|
||||
} else xlo = xscale*atof(arg[2]);
|
||||
|
||||
if (strcmp(arg[3],"INF") == 0) {
|
||||
if (domain->box_exist == 0)
|
||||
error->all("Cannot use region INF when box does not exist");
|
||||
xhi = domain->boxxhi;
|
||||
} else xhi = xscale*atof(arg[3]);
|
||||
|
||||
if (strcmp(arg[4],"INF") == 0) {
|
||||
if (domain->box_exist == 0)
|
||||
error->all("Cannot use region INF when box does not exist");
|
||||
ylo = domain->boxylo;
|
||||
} else ylo = yscale*atof(arg[4]);
|
||||
|
||||
if (strcmp(arg[5],"INF") == 0) {
|
||||
if (domain->box_exist == 0)
|
||||
error->all("Cannot use region INF when box does not exist");
|
||||
yhi = domain->boxyhi;
|
||||
} else yhi = yscale*atof(arg[5]);
|
||||
|
||||
if (strcmp(arg[6],"INF") == 0) {
|
||||
if (domain->box_exist == 0)
|
||||
error->all("Cannot use region INF when box does not exist");
|
||||
zlo = domain->boxzlo;
|
||||
} else zlo = zscale*atof(arg[6]);
|
||||
|
||||
if (strcmp(arg[7],"INF") == 0) {
|
||||
if (domain->box_exist == 0)
|
||||
error->all("Cannot use region INF when box does not exist");
|
||||
zhi = domain->boxzhi;
|
||||
} else zhi = zscale*atof(arg[7]);
|
||||
|
||||
yxshift = xscale*atof(arg[8]);
|
||||
zxshift = xscale*atof(arg[9]);
|
||||
zyshift = yscale*atof(arg[10]);
|
||||
|
||||
// error check
|
||||
// prism cannot be 0 thickness in any dim, else inverse blows up
|
||||
|
||||
if (xlo >= xhi || ylo >= yhi || zlo >= zhi)
|
||||
error->all("Illegal region prism command");
|
||||
|
||||
// extent of prism
|
||||
|
||||
extent_xlo = MIN(xlo,xlo+yxshift);
|
||||
extent_xlo = MIN(extent_xlo,extent_xlo+zxshift);
|
||||
extent_xhi = MAX(xhi,xhi+yxshift);
|
||||
extent_xhi = MAX(extent_xhi,extent_xhi+zxshift);
|
||||
extent_ylo = MIN(ylo,ylo+zyshift);
|
||||
extent_yhi = MAX(yhi,yhi+zyshift);
|
||||
extent_zlo = zlo;
|
||||
extent_zhi = zhi;
|
||||
|
||||
// h = transformation matrix from tilt coords (0-1) to box coords (xyz)
|
||||
// columns of h are edge vectors of tilted box
|
||||
// hinv = transformation matrix from box coords to tilt coords
|
||||
// both h and hinv are upper triangular
|
||||
// since 1st edge of prism is along x-axis
|
||||
// and bottom face of prism is in xy plane
|
||||
|
||||
h[0][0] = xhi - xlo;
|
||||
h[0][1] = yxshift;
|
||||
h[1][1] = yhi - ylo;
|
||||
h[0][2] = zxshift;
|
||||
h[1][2] = zyshift;
|
||||
h[2][2] = zhi - zlo;
|
||||
|
||||
hinv[0][0] = 1.0/h[0][0];
|
||||
hinv[0][1] = -h[0][1] / (h[0][0]*h[1][1]);
|
||||
hinv[1][1] = 1.0/h[1][1];
|
||||
hinv[0][2] = (h[0][1]*h[1][2] - h[0][2]*h[1][1]) / (h[0][0]*h[1][1]*h[2][2]);
|
||||
hinv[1][2] = -h[1][2] / (h[1][1]*h[2][2]);
|
||||
hinv[2][2] = 1.0/h[2][2];
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
check xyz against prism
|
||||
abc = Hinv * (xyz - xyzlo)
|
||||
abc = tilt coords (0-1)
|
||||
Hinv = transformation matrix from box coords to tilt coords
|
||||
xyz = box coords
|
||||
xyzlo = lower-left corner of prism
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
int RegPrism::match(double x, double y, double z)
|
||||
{
|
||||
double a = hinv[0][0]*(x-xlo) + hinv[0][1]*(y-ylo) + hinv[0][2]*(z-zlo);
|
||||
double b = hinv[1][1]*(y-ylo) + hinv[1][2]*(z-zlo);
|
||||
double c = hinv[2][2]*(z-zlo);
|
||||
|
||||
int inside;
|
||||
if (a >= 0.0 && a <= 1.0 && b >= 0.0 && b <= 1.0 && c >= 0.0 && c <= 1.0)
|
||||
inside = 1;
|
||||
else inside = 0;
|
||||
|
||||
return !(inside ^ interior); // 1 if same, 0 if different
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
www.cs.sandia.gov/~sjplimp/lammps.html
|
||||
Steve Plimpton, sjplimp@sandia.gov, Sandia National Laboratories
|
||||
|
||||
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 REGION_PRISM_H
|
||||
#define REGION_PRISM_H
|
||||
|
||||
#include "region.h"
|
||||
|
||||
class RegPrism : public Region {
|
||||
friend class FixInsert;
|
||||
|
||||
public:
|
||||
RegPrism(int, char **);
|
||||
~RegPrism() {}
|
||||
int match(double, double, double);
|
||||
|
||||
private:
|
||||
double xlo,xhi,ylo,yhi,zlo,zhi;
|
||||
double yxshift,zxshift,zyshift;
|
||||
double h[3][3],hinv[3][3];
|
||||
};
|
||||
|
||||
#endif
|
|
@ -247,6 +247,7 @@ PairStyle(yukawa,PairYukawa)
|
|||
#include "region_block.h"
|
||||
#include "region_cylinder.h"
|
||||
#include "region_intersect.h"
|
||||
#include "region_prism.h"
|
||||
#include "region_sphere.h"
|
||||
#include "region_union.h"
|
||||
#endif
|
||||
|
@ -255,6 +256,7 @@ PairStyle(yukawa,PairYukawa)
|
|||
RegionStyle(block,RegBlock)
|
||||
RegionStyle(cylinder,RegCylinder)
|
||||
RegionStyle(intersect,RegIntersect)
|
||||
RegionStyle(prism,RegPrism)
|
||||
RegionStyle(sphere,RegSphere)
|
||||
RegionStyle(union,RegUnion)
|
||||
#endif
|
||||
|
|
|
@ -0,0 +1,56 @@
|
|||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
www.cs.sandia.gov/~sjplimp/lammps.html
|
||||
Steve Plimpton, sjplimp@sandia.gov, Sandia National Laboratories
|
||||
|
||||
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 AngleInclude
|
||||
#include "angle_class2.h"
|
||||
#endif
|
||||
|
||||
#ifdef AngleClass
|
||||
AngleStyle(class2,AngleClass2)
|
||||
#endif
|
||||
|
||||
#ifdef BondInclude
|
||||
#include "bond_class2.h"
|
||||
#endif
|
||||
|
||||
#ifdef BondClass
|
||||
BondStyle(class2,BondClass2)
|
||||
#endif
|
||||
|
||||
#ifdef DihedralInclude
|
||||
#include "dihedral_class2.h"
|
||||
#endif
|
||||
|
||||
#ifdef DihedralClass
|
||||
DihedralStyle(class2,DihedralClass2)
|
||||
#endif
|
||||
|
||||
#ifdef ImproperInclude
|
||||
#include "improper_class2.h"
|
||||
#endif
|
||||
|
||||
#ifdef ImproperClass
|
||||
ImproperStyle(class2,ImproperClass2)
|
||||
#endif
|
||||
|
||||
#ifdef PairInclude
|
||||
#include "pair_lj_class2.h"
|
||||
#include "pair_lj_class2_coul_cut.h"
|
||||
#include "pair_lj_class2_coul_long.h"
|
||||
#endif
|
||||
|
||||
#ifdef PairClass
|
||||
PairStyle(lj/class2,PairLJClass2)
|
||||
PairStyle(lj/class2/coul/cut,PairLJClass2CoulCut)
|
||||
PairStyle(lj/class2/coul/long,PairLJClass2CoulLong)
|
||||
#endif
|
|
@ -0,0 +1,28 @@
|
|||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
www.cs.sandia.gov/~sjplimp/lammps.html
|
||||
Steve Plimpton, sjplimp@sandia.gov, Sandia National Laboratories
|
||||
|
||||
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 AtomInclude
|
||||
#include "atom_dpd.h"
|
||||
#endif
|
||||
|
||||
#ifdef AtomClass
|
||||
AtomStyle(dpd,AtomDPD)
|
||||
#endif
|
||||
|
||||
#ifdef PairInclude
|
||||
#include "pair_dpd.h"
|
||||
#endif
|
||||
|
||||
#ifdef PairClass
|
||||
PairStyle(dpd,PairDPD)
|
||||
#endif
|
|
@ -0,0 +1,50 @@
|
|||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
www.cs.sandia.gov/~sjplimp/lammps.html
|
||||
Steve Plimpton, sjplimp@sandia.gov, Sandia National Laboratories
|
||||
|
||||
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 AtomInclude
|
||||
#include "atom_granular.h"
|
||||
#endif
|
||||
|
||||
#ifdef AtomClass
|
||||
AtomStyle(granular,AtomGranular)
|
||||
# endif
|
||||
|
||||
#ifdef FixInclude
|
||||
#include "fix_freeze.h"
|
||||
#include "fix_gran_diag.h"
|
||||
#include "fix_insert.h"
|
||||
#include "fix_nve_gran.h"
|
||||
#include "fix_shear_history.h"
|
||||
#include "fix_wall_gran.h"
|
||||
#endif
|
||||
|
||||
#ifdef FixClass
|
||||
FixStyle(freeze,FixFreeze)
|
||||
FixStyle(gran/diag,FixGranDiag)
|
||||
FixStyle(insert,FixInsert)
|
||||
FixStyle(nve/gran,FixNVEGran)
|
||||
FixStyle(SHEAR_HISTORY,FixShearHistory)
|
||||
FixStyle(wall/gran,FixWallGran)
|
||||
#endif
|
||||
|
||||
#ifdef PairInclude
|
||||
#include "pair_gran_hertzian.h"
|
||||
#include "pair_gran_history.h"
|
||||
#include "pair_gran_no_history.h"
|
||||
#endif
|
||||
|
||||
#ifdef PairClass
|
||||
PairStyle(gran/hertzian,PairGranHertzian)
|
||||
PairStyle(gran/history,PairGranHistory)
|
||||
PairStyle(gran/no_history,PairGranNoHistory)
|
||||
#endif
|
|
@ -0,0 +1,38 @@
|
|||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
www.cs.sandia.gov/~sjplimp/lammps.html
|
||||
Steve Plimpton, sjplimp@sandia.gov, Sandia National Laboratories
|
||||
|
||||
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 KSpaceInclude
|
||||
#include "ewald.h"
|
||||
#include "pppm.h"
|
||||
#include "pppm_tip4p.h"
|
||||
#endif
|
||||
|
||||
#ifdef KSpaceClass
|
||||
KSpaceStyle(ewald,Ewald)
|
||||
KSpaceStyle(pppm,PPPM)
|
||||
KSpaceStyle(pppm/tip4p,PPPMTIP4P)
|
||||
#endif
|
||||
|
||||
#ifdef PairInclude
|
||||
#include "pair_buck_coul_long.h"
|
||||
#include "pair_lj_cut_coul_long.h"
|
||||
#include "pair_lj_cut_coul_long_tip4p.h"
|
||||
#include "pair_lj_charmm_coul_long.h"
|
||||
#endif
|
||||
|
||||
#ifdef PairClass
|
||||
PairStyle(buck/coul/long,PairBuckCoulLong)
|
||||
PairStyle(lj/cut/coul/long,PairLJCutCoulLong)
|
||||
PairStyle(lj/cut/coul/long/tip4p,PairLJCutCoulLongTIP4P)
|
||||
PairStyle(lj/charmm/coul/long,PairLJCharmmCoulLong)
|
||||
#endif
|
|
@ -0,0 +1,24 @@
|
|||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
www.cs.sandia.gov/~sjplimp/lammps.html
|
||||
Steve Plimpton, sjplimp@sandia.gov, Sandia National Laboratories
|
||||
|
||||
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 PairInclude
|
||||
#include "pair_eam.h"
|
||||
#include "pair_eam_alloy.h"
|
||||
#include "pair_eam_fs.h"
|
||||
#endif
|
||||
|
||||
#ifdef PairClass
|
||||
PairStyle(eam,PairEAM)
|
||||
PairStyle(eam/alloy,PairEAMAlloy)
|
||||
PairStyle(eam/fs,PairEAMFS)
|
||||
#endif
|
|
@ -0,0 +1,116 @@
|
|||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
www.cs.sandia.gov/~sjplimp/lammps.html
|
||||
Steve Plimpton, sjplimp@sandia.gov, Sandia National Laboratories
|
||||
|
||||
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 AngleInclude
|
||||
#include "angle_charmm.h"
|
||||
#include "angle_cosine.h"
|
||||
#include "angle_cosine_squared.h"
|
||||
#include "angle_harmonic.h"
|
||||
#include "angle_hybrid.h"
|
||||
#endif
|
||||
|
||||
#ifdef AngleClass
|
||||
AngleStyle(charmm,AngleCharmm)
|
||||
AngleStyle(cosine,AngleCosine)
|
||||
AngleStyle(cosine/squared,AngleCosineSquared)
|
||||
AngleStyle(harmonic,AngleHarmonic)
|
||||
AngleStyle(hybrid,AngleHybrid)
|
||||
#endif
|
||||
|
||||
#ifdef AtomInclude
|
||||
#include "atom_angle.h"
|
||||
#include "atom_bond.h"
|
||||
#include "atom_full.h"
|
||||
#include "atom_molecular.h"
|
||||
#endif
|
||||
|
||||
#ifdef AtomClass
|
||||
AtomStyle(angle,AtomAngle)
|
||||
AtomStyle(bond,AtomBond)
|
||||
AtomStyle(full,AtomFull)
|
||||
AtomStyle(molecular,AtomMolecular)
|
||||
#endif
|
||||
|
||||
#ifdef BondInclude
|
||||
#include "bond_fene.h"
|
||||
#include "bond_fene_expand.h"
|
||||
#include "bond_harmonic.h"
|
||||
#include "bond_hybrid.h"
|
||||
#include "bond_morse.h"
|
||||
#include "bond_nonlinear.h"
|
||||
#include "bond_quartic.h"
|
||||
#endif
|
||||
|
||||
#ifdef BondClass
|
||||
BondStyle(fene,BondFENE)
|
||||
BondStyle(fene/expand,BondFENEExpand)
|
||||
BondStyle(harmonic,BondHarmonic)
|
||||
BondStyle(hybrid,BondHybrid)
|
||||
BondStyle(morse,BondMorse)
|
||||
BondStyle(nonlinear,BondNonlinear)
|
||||
BondStyle(quartic,BondQuartic)
|
||||
#endif
|
||||
|
||||
#ifdef DihedralInclude
|
||||
#include "dihedral_charmm.h"
|
||||
#include "dihedral_harmonic.h"
|
||||
#include "dihedral_helix.h"
|
||||
#include "dihedral_hybrid.h"
|
||||
#include "dihedral_multi_harmonic.h"
|
||||
#include "dihedral_opls.h"
|
||||
#endif
|
||||
|
||||
#ifdef DihedralClass
|
||||
DihedralStyle(charmm,DihedralCharmm)
|
||||
DihedralStyle(harmonic,DihedralHarmonic)
|
||||
DihedralStyle(helix,DihedralHelix)
|
||||
DihedralStyle(hybrid,DihedralHybrid)
|
||||
DihedralStyle(multi/harmonic,DihedralMultiHarmonic)
|
||||
DihedralStyle(opls,DihedralOPLS)
|
||||
#endif
|
||||
|
||||
#ifdef DumpInclude
|
||||
#include "dump_bond.h"
|
||||
#endif
|
||||
|
||||
#ifdef DumpClass
|
||||
DumpStyle(bond,DumpBond)
|
||||
#endif
|
||||
|
||||
#ifdef FixInclude
|
||||
#endif
|
||||
|
||||
#ifdef FixClass
|
||||
#endif
|
||||
|
||||
#ifdef ImproperInclude
|
||||
#include "improper_cvff.h"
|
||||
#include "improper_harmonic.h"
|
||||
#include "improper_hybrid.h"
|
||||
#endif
|
||||
|
||||
#ifdef ImproperClass
|
||||
ImproperStyle(cvff,ImproperCvff)
|
||||
ImproperStyle(harmonic,ImproperHarmonic)
|
||||
ImproperStyle(hybrid,ImproperHybrid)
|
||||
#endif
|
||||
|
||||
#ifdef PairInclude
|
||||
#include "pair_lj_charmm_coul_charmm.h"
|
||||
#include "pair_lj_charmm_coul_charmm_implicit.h"
|
||||
#endif
|
||||
|
||||
#ifdef PairClass
|
||||
PairStyle(lj/charmm/coul/charmm,PairLJCharmmCoulCharmm)
|
||||
PairStyle(lj/charmm/coul/charmm/implicit,PairLJCharmmCoulCharmmImplicit)
|
||||
#endif
|
Loading…
Reference in New Issue