git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@4402 f3b2605a-c512-4ea7-a41b-209d697bcdaa

This commit is contained in:
sjplimp
2010-07-20 14:46:51 +00:00
parent f8de1d98d1
commit a4930bf2ed
6 changed files with 30 additions and 18 deletions

View File

@ -3,7 +3,7 @@
SHELL = /bin/sh
.IGNORE:
# this Makefile builds LAMMPS for RedSky
# this Makefile builds LAMMPS for RedSky with OpenMPI
# to invoke this Makefile, you need these modules loaded:
# mpi/openmpi-1.4.1_oobpr_intel-11.1-f064-c064
# misc/env-openmpi-1.4-oobpr

View File

@ -53,6 +53,8 @@ DumpXTC::DumpXTC(LAMMPS *lmp, int narg, char **arg) : Dump(lmp, narg, arg)
{
if (narg != 5) error->all("Illegal dump xtc command");
if (igroup != group->find("all")) error->all("Dump xtc must use group all");
if (domain->triclinic)
error->all("Dump xtc does not yet support triclinic simulation boxes");
if (binary || compressed || multifile || multiproc)
error->all("Invalid dump xtc filename");

View File

@ -55,6 +55,8 @@ DumpDCD::DumpDCD(LAMMPS *lmp, int narg, char **arg) : Dump(lmp, narg, arg)
{
if (narg != 5) error->all("Illegal dump dcd command");
if (igroup != group->find("all")) error->all("Dump dcd must use group all");
if (domain->triclinic)
error->all("Dump dcd does not yet support triclinic simulation boxes");
if (binary || compressed || multifile || multiproc)
error->all("Invalid dump dcd filename");

View File

@ -968,7 +968,8 @@ void FixNH::remap()
if (domain->yz < -0.5*domain->yprd || domain->yz > 0.5*domain->yprd ||
domain->xz < -0.5*domain->xprd || domain->xz > 0.5*domain->xprd ||
domain->xy < -0.5*domain->xprd || domain->xy > 0.5*domain->xprd)
error->all("fix npt/nph has tilted box beyond 45 degrees");
error->all("Fix npt/nph has tilted box too far - "
"box flips are not yet implemented");
}
domain->set_global_box();

View File

@ -75,6 +75,7 @@ void FixRigidNVE::setup(int vflag)
void FixRigidNVE::initial_integrate(int vflag)
{
double dtfm,mbody[3],tbody[3],fquat[4];
double dtf2 = dtf * 2.0;
for (int ibody = 0; ibody < nbody; ibody++) {
@ -101,10 +102,10 @@ void FixRigidNVE::initial_integrate(int vflag)
torque[ibody],tbody);
quatvec(quat[ibody],tbody,fquat);
conjqm[ibody][0] += dtv * fquat[0];
conjqm[ibody][1] += dtv * fquat[1];
conjqm[ibody][2] += dtv * fquat[2];
conjqm[ibody][3] += dtv * fquat[3];
conjqm[ibody][0] += dtf2 * fquat[0];
conjqm[ibody][1] += dtf2 * fquat[1];
conjqm[ibody][2] += dtf2 * fquat[2];
conjqm[ibody][3] += dtf2 * fquat[3];
// step 1.4 to 1.13 - use no_squish rotate to update p and q
@ -222,6 +223,7 @@ void FixRigidNVE::final_integrate()
MPI_Allreduce(sum[0],all[0],6*nbody,MPI_DOUBLE,MPI_SUM,world);
double mbody[3],tbody[3],fquat[4];
double dtf2 = dtf * 2.0;
for (ibody = 0; ibody < nbody; ibody++) {
fcm[ibody][0] = all[ibody][0];
@ -249,10 +251,10 @@ void FixRigidNVE::final_integrate()
torque[ibody],tbody);
quatvec(quat[ibody],tbody,fquat);
conjqm[ibody][0] += dtv * fquat[0];
conjqm[ibody][1] += dtv * fquat[1];
conjqm[ibody][2] += dtv * fquat[2];
conjqm[ibody][3] += dtv * fquat[3];
conjqm[ibody][0] += dtf2 * fquat[0];
conjqm[ibody][1] += dtf2 * fquat[1];
conjqm[ibody][2] += dtf2 * fquat[2];
conjqm[ibody][3] += dtf2 * fquat[3];
invquatvec(quat[ibody],conjqm[ibody],mbody);
matvec_cols(ex_space[ibody],ey_space[ibody],ez_space[ibody],

View File

@ -164,6 +164,7 @@ void FixRigidNVT::initial_integrate(int vflag)
{
double tmp,akin_t,akin_r,scale_t,scale_r;
double dtfm,mbody[3],tbody[3],fquat[4];
double dtf2 = dtf * 2.0;
double delta = update->ntimestep - update->beginstep;
delta /= update->endstep - update->beginstep;
@ -209,10 +210,10 @@ void FixRigidNVT::initial_integrate(int vflag)
torque[ibody],tbody);
quatvec(quat[ibody],tbody,fquat);
conjqm[ibody][0] += dtv * fquat[0];
conjqm[ibody][1] += dtv * fquat[1];
conjqm[ibody][2] += dtv * fquat[2];
conjqm[ibody][3] += dtv * fquat[3];
conjqm[ibody][0] += dtf2 * fquat[0];
conjqm[ibody][1] += dtf2 * fquat[1];
conjqm[ibody][2] += dtf2 * fquat[2];
conjqm[ibody][3] += dtf2 * fquat[3];
conjqm[ibody][0] *= scale_r;
conjqm[ibody][1] *= scale_r;
conjqm[ibody][2] *= scale_r;
@ -349,6 +350,7 @@ void FixRigidNVT::final_integrate()
MPI_Allreduce(sum[0],all[0],6*nbody,MPI_DOUBLE,MPI_SUM,world);
double mbody[3],tbody[3],fquat[4];
double dtf2 = dtf * 2.0;
for (ibody = 0; ibody < nbody; ibody++) {
fcm[ibody][0] = all[ibody][0];
@ -379,10 +381,10 @@ void FixRigidNVT::final_integrate()
torque[ibody],tbody);
quatvec(quat[ibody],tbody,fquat);
conjqm[ibody][0] = scale_r * conjqm[ibody][0] + dtv * fquat[0];
conjqm[ibody][1] = scale_r * conjqm[ibody][1] + dtv * fquat[1];
conjqm[ibody][2] = scale_r * conjqm[ibody][2] + dtv * fquat[2];
conjqm[ibody][3] = scale_r * conjqm[ibody][3] + dtv * fquat[3];
conjqm[ibody][0] = scale_r * conjqm[ibody][0] + dtf2 * fquat[0];
conjqm[ibody][1] = scale_r * conjqm[ibody][1] + dtf2 * fquat[1];
conjqm[ibody][2] = scale_r * conjqm[ibody][2] + dtf2 * fquat[2];
conjqm[ibody][3] = scale_r * conjqm[ibody][3] + dtf2 * fquat[3];
invquatvec(quat[ibody],conjqm[ibody],mbody);
matvec_cols(ex_space[ibody],ey_space[ibody],ez_space[ibody],
@ -413,6 +415,9 @@ void FixRigidNVT::update_nhcp(double akin_t, double akin_r)
gfkt_t = nf_t * kt;
gfkt_r = nf_r * kt;
akin_t *= force->mvv2e;
akin_r *= force->mvv2e;
// update thermostat masses
double t_mass = boltz * t_target / (t_freq * t_freq);