From 557c982bf4abf00d21ec385be3b16458bf8b5247 Mon Sep 17 00:00:00 2001 From: sjplimp Date: Fri, 11 Feb 2011 15:37:55 +0000 Subject: [PATCH] git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@5627 f3b2605a-c512-4ea7-a41b-209d697bcdaa --- src/KSPACE/ewald.cpp | 2 +- src/kspace.cpp | 3 ++- src/variable.cpp | 2 +- src/velocity.cpp | 13 +++++++++---- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/KSPACE/ewald.cpp b/src/KSPACE/ewald.cpp index a4951d3eaf..1b82185c0a 100644 --- a/src/KSPACE/ewald.cpp +++ b/src/KSPACE/ewald.cpp @@ -130,7 +130,7 @@ void Ewald::init() // setup K-space resolution - g_ewald = (1.35 - 0.15*log(precision))/cutoff; + if (!gewaldflag) g_ewald = (1.35 - 0.15*log(precision))/cutoff; gsqmx = -4.0*g_ewald*g_ewald*log(precision); if (comm->me == 0) { diff --git a/src/kspace.cpp b/src/kspace.cpp index 8ca398ed39..c0613140d3 100644 --- a/src/kspace.cpp +++ b/src/kspace.cpp @@ -64,7 +64,8 @@ void KSpace::modify_params(int narg, char **arg) if (slab_volfactor <= 1.0) error->all("Bad kspace_modify slab parameter"); if (slab_volfactor < 2.0 && comm->me == 0) - error->warning("Kspace_modify slab param < 2.0 may cause unphysical behavior"); + error->warning("Kspace_modify slab param < 2.0 may " + "cause unphysical behavior"); slabflag = 1; } else error->all("Illegal kspace_modify command"); } diff --git a/src/variable.cpp b/src/variable.cpp index ecf2d971ae..0b42f73c70 100644 --- a/src/variable.cpp +++ b/src/variable.cpp @@ -2817,7 +2817,7 @@ int Variable::special_function(char *word, char *contents, Tree **tree, if (compute) { double *vec; - if (index) vec = &compute->array[0][index]; + if (index) vec = &compute->array[0][index-1]; else vec = compute->vector; int j = 0; diff --git a/src/velocity.cpp b/src/velocity.cpp index 3a6226911d..06032e6480 100644 --- a/src/velocity.cpp +++ b/src/velocity.cpp @@ -397,10 +397,6 @@ void Velocity::set(int narg, char **arg) // check variables - int dimension = domain->dimension; - if (dimension == 2 && zstyle) - error->all("Cannot set z velocity for 2d simulation"); - if (xstr) { xvar = input->variable->find(xstr); if (xvar < 0) error->all("Variable name for velocity set does not exist"); @@ -429,6 +425,15 @@ void Velocity::set(int narg, char **arg) varflag = EQUAL; else varflag = CONSTANT; + // error check for 2d models + + if (domain->dimension == 2) { + if (zstyle == CONSTANT && vz != 0.0) + error->all("Cannot set non-zero z velocity for 2d simulation"); + if (zstyle == EQUAL || zstyle == ATOM) + error->all("Cannot set varaible z velocity for 2d simulation"); + } + // allocate vfield array if necessary double **vfield = NULL;