Merge pull request #199 from akohlmey/small-changes

Collected small changes and bugfixes
This commit is contained in:
sjplimp
2016-10-06 15:49:24 -06:00
committed by GitHub
30 changed files with 1375 additions and 1369 deletions

View File

@ -18,6 +18,5 @@ thermo 10
timestep 0.001
dump 1 all custom 10 dump.gap id fx fy fz
dump_modify 1 format "%d %20.15g %20.15g %20.15g"
run 40

View File

@ -18,6 +18,5 @@ thermo 10
timestep 0.001
dump 1 all custom 10 dump.sw id fx fy fz
dump_modify 1 format "%d %20.15g %20.15g %20.15g"
run 1

View File

@ -13,8 +13,10 @@ $(error Environment variable QUIP_ARCH must be set.)
endif
include ${QUIP_ROOT}/build/${QUIP_ARCH}/Makefile.inc
include ${QUIP_ROOT}/Makefile.rules
quip_SYSLIB = -lquip
quip_SYSLIB += ${NETCDF_SYSLIBS}
quip_SYSLIB += ${MATH_LINKOPTS}
ifeq (${F95},gfortran)
@ -25,4 +27,4 @@ else
$(error fortran compiler >>${F95}<< not recognised. Edit lib/quip/Makefile.lammps to specify the fortran library your linker should link to)
endif
quip_SYSPATH = -L${QUIP_ROOT}/build/${QUIP_ARCH} -L${QUIP_ROOT}/src/FoX-4.0.3/objs.${QUIP_ARCH}/lib
quip_SYSPATH = -L${QUIP_ROOT}/build/${QUIP_ARCH}

View File

@ -23,7 +23,7 @@ PairStyle(reax/c/kk/host,PairReaxCKokkos<LMPHostType>)
#ifndef LMP_PAIR_REAXC_KOKKOS_H
#define LMP_PAIR_REAXC_KOKKOS_H
#include "stdio.h"
#include <stdio.h>
#include "pair_kokkos.h"
#include "pair_reax_c.h"
#include "neigh_list_kokkos.h"

View File

@ -589,6 +589,8 @@ int AtomVecDPD::unpack_comm_hybrid(int n, int first, double *buf)
uCond[i] = buf[m++];
uMech[i] = buf[m++];
uChem[i] = buf[m++];
uCG[i] = buf[m++];
uCGnew[i] = buf[m++];
}
return m;
}

View File

@ -15,7 +15,7 @@
Contributing author: James Larentzos (U.S. Army Research Laboratory)
------------------------------------------------------------------------- */
#include "math.h"
#include <math.h>
#include <string.h>
#include <stdlib.h>
#include "compute_dpd_atom.h"

View File

@ -26,7 +26,7 @@
#include "error.h"
#include "modify.h"
#include "fix.h"
#include "float.h"
#include <float.h>
using namespace LAMMPS_NS;
using namespace MathConst;
@ -128,8 +128,8 @@ void PairExp6rx::compute(int eflag, int vflag)
double epsilon1_j,alpha1_j,rm1_j;
double epsilon2_i,alpha2_i,rm2_i;
double epsilon2_j,alpha2_j,rm2_j;
double evdwlOldEXP6_12, evdwlOldEXP6_21;
double evdwlEXP6_12, evdwlEXP6_21, fpairEXP6_12, fpairEXP6_21;
double evdwlOldEXP6_12, evdwlOldEXP6_21, fpairOldEXP6_12, fpairOldEXP6_21;
double evdwlEXP6_12, evdwlEXP6_21;
double fractionOld1_i, fractionOld1_j;
double fractionOld2_i, fractionOld2_j;
double fraction1_i, fraction1_j;
@ -310,15 +310,20 @@ void PairExp6rx::compute(int eflag, int vflag)
uin1 = buck1*(6.0*rin1exp - alphaOld12_ij*rm6ij*rin6inv) - urc - durc*(rin1-rCut);
win1 = buck1*buck2*(rin1*rin1exp*rminv - rm6ij*rin6inv) - rin1*durc;
win1 = -buck1*buck2*(rin1*rin1exp*rminv - rm6ij*rin6inv) - rin1*durc;
aRep = -1.0*win1*powint(rin1,nRep)/nRep;
uin1rep = aRep/powint(rin1,nRep);
evdwlOldEXP6_12 = uin1 - uin1rep + aRep/powint(r,nRep);
forceExp6 = -double(nRep)*aRep/powint(r,nRep);
fpairOldEXP6_12 = factor_lj*forceExp6*r2inv;
evdwlOldEXP6_12 = uin1 - uin1rep + aRep/powint(r,nRep);
} else {
forceExp6 = buck1*buck2*(r*rexp*rminv - rm6ij*r6inv) + r*durc;
fpairOldEXP6_12 = factor_lj*forceExp6*r2inv;
evdwlOldEXP6_12 = buck1*(6.0*rexp - alphaOld12_ij*rm6ij*r6inv) - urc - durc*(r-rCut);
}
@ -345,15 +350,20 @@ void PairExp6rx::compute(int eflag, int vflag)
uin1 = buck1*(6.0*rin1exp - alphaOld21_ij*rm6ij*rin6inv) - urc - durc*(rin1-rCut);
win1 = buck1*buck2*(rin1*rin1exp*rminv - rm6ij*rin6inv) - rin1*durc;
win1 = -buck1*buck2*(rin1*rin1exp*rminv - rm6ij*rin6inv) - rin1*durc;
aRep = -1.0*win1*powint(rin1,nRep)/nRep;
uin1rep = aRep/powint(rin1,nRep);
evdwlOldEXP6_21 = uin1 - uin1rep + aRep/powint(r,nRep);
forceExp6 = -double(nRep)*aRep/powint(r,nRep);
fpairOldEXP6_21 = factor_lj*forceExp6*r2inv;
evdwlOldEXP6_21 = uin1 - uin1rep + aRep/powint(r,nRep);
} else {
forceExp6 = buck1*buck2*(r*rexp*rminv - rm6ij*r6inv) + r*durc;
fpairOldEXP6_21 = factor_lj*forceExp6*r2inv;
evdwlOldEXP6_21 = buck1*(6.0*rexp - alphaOld21_ij*rm6ij*r6inv) - urc - durc*(r-rCut);
}
@ -395,22 +405,14 @@ void PairExp6rx::compute(int eflag, int vflag)
uin1 = buck1*(6.0*rin1exp - alpha12_ij*rm6ij*rin6inv) - urc - durc*(rin1-rCut);
win1 = buck1*buck2*(rin1*rin1exp*rminv - rm6ij*rin6inv) - rin1*durc;
win1 = -buck1*buck2*(rin1*rin1exp*rminv - rm6ij*rin6inv) - rin1*durc;
aRep = -1.0*win1*powint(rin1,nRep)/nRep;
uin1rep = aRep/powint(rin1,nRep);
evdwlEXP6_12 = uin1 - uin1rep + aRep/powint(r,nRep);
forceExp6 = -double(nRep)*aRep/powint(r,nRep);
fpairEXP6_12 = factor_lj*forceExp6*r2inv;
} else {
// A4. Compute the exp-6 force and energy
forceExp6 = buck1*buck2*(r*rexp*rminv - rm6ij*r6inv) + r*durc;
fpairEXP6_12 = factor_lj*forceExp6*r2inv;
evdwlEXP6_12 = buck1*(6.0*rexp - alpha12_ij*rm6ij*r6inv) - urc - durc*(r-rCut);
}
@ -435,30 +437,22 @@ void PairExp6rx::compute(int eflag, int vflag)
uin1 = buck1*(6.0*rin1exp - alpha21_ij*rm6ij*rin6inv) - urc - durc*(rin1-rCut);
win1 = buck1*buck2*(rin1*rin1exp*rminv - rm6ij*rin6inv) - rin1*durc;
win1 = -buck1*buck2*(rin1*rin1exp*rminv - rm6ij*rin6inv) - rin1*durc;
aRep = -1.0*win1*powint(rin1,nRep)/nRep;
uin1rep = aRep/powint(rin1,nRep);
evdwlEXP6_21 = uin1 - uin1rep + aRep/powint(r,nRep);
forceExp6 = -double(nRep)*aRep/powint(r,nRep);
fpairEXP6_21 = factor_lj*forceExp6*r2inv;
} else {
// A4. Compute the exp-6 force and energy
forceExp6 = buck1*buck2*(r*rexp*rminv - rm6ij*r6inv) + r*durc;
fpairEXP6_21 = factor_lj*forceExp6*r2inv;
evdwlEXP6_21 = buck1*(6.0*rexp - alpha21_ij*rm6ij*r6inv) - urc - durc*(r-rCut);
}
//
// Apply Mixing Rule to get the overall force for the CG pair
//
if (isite1 == isite2) fpair = sqrt(fractionOld1_i*fractionOld2_j)*fpairEXP6_12;
else fpair = sqrt(fractionOld1_i*fractionOld2_j)*fpairEXP6_12 + sqrt(fractionOld2_i*fractionOld1_j)*fpairEXP6_21;
if (isite1 == isite2) fpair = sqrt(fractionOld1_i*fractionOld2_j)*fpairOldEXP6_12;
else fpair = sqrt(fractionOld1_i*fractionOld2_j)*fpairOldEXP6_12 + sqrt(fractionOld2_i*fractionOld1_j)*fpairOldEXP6_21;
f[i][0] += delx*fpair;
f[i][1] += dely*fpair;

View File

@ -21,7 +21,7 @@
The Journal of Chemical Physics, 2016, 144, 104501.
------------------------------------------------------------------------------------------- */
#include "mpi.h"
#include <mpi.h>
#include <math.h>
#include "math_const.h"
#include <stdlib.h>

View File

@ -21,7 +21,7 @@
The Journal of Chemical Physics, 2016, 144, 104501.
------------------------------------------------------------------------------------------- */
#include "mpi.h"
#include <mpi.h>
#include <math.h>
#include "math_const.h"
#include <stdlib.h>

View File

@ -15,7 +15,7 @@
Contributing author: Paul Crozier (SNL)
------------------------------------------------------------------------- */
#include "mpi.h"
#include <mpi.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>

View File

@ -15,8 +15,8 @@
Contributing author: W. Michael Brown (Intel)
------------------------------------------------------------------------- */
#include "mpi.h"
#include "math.h"
#include <mpi.h>
#include <math.h>
#include "dihedral_charmm_intel.h"
#include "atom.h"
#include "comm.h"

View File

@ -15,8 +15,8 @@
Contributing author: W. Michael Brown (Intel)
------------------------------------------------------------------------- */
#include "mpi.h"
#include "math.h"
#include <mpi.h>
#include <math.h>
#include "dihedral_harmonic_intel.h"
#include "atom.h"
#include "comm.h"

View File

@ -15,8 +15,8 @@
Contributing author: W. Michael Brown (Intel)
------------------------------------------------------------------------- */
#include "mpi.h"
#include "math.h"
#include <mpi.h>
#include <math.h>
#include "dihedral_opls_intel.h"
#include "atom.h"
#include "comm.h"

View File

@ -11,7 +11,7 @@
See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */
#include "string.h"
#include <string.h>
#include "fix_npt_intel.h"
#include "modify.h"
#include "error.h"

View File

@ -15,9 +15,9 @@
Contributing author: W. Michael Brown (Intel)
------------------------------------------------------------------------- */
#include "math.h"
#include "stdio.h"
#include "string.h"
#include <math.h>
#include <stdio.h>
#include <string.h>
#include "fix_nve_asphere_intel.h"
#include "math_extra_intel.h"
#include "atom.h"

View File

@ -15,10 +15,10 @@
Contributing author: Rodrigo Canales (RWTH Aachen University)
------------------------------------------------------------------------- */
#include "math.h"
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "pair_buck_coul_cut_intel.h"
#include "atom.h"
#include "comm.h"

View File

@ -15,10 +15,10 @@
Contributing author: Rodrigo Canales (RWTH Aachen University)
------------------------------------------------------------------------- */
#include "math.h"
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "pair_buck_coul_long_intel.h"
#include "atom.h"
#include "comm.h"

View File

@ -15,7 +15,7 @@
Contributing author: Rodrigo Canales (RWTH Aachen University)
------------------------------------------------------------------------- */
#include "math.h"
#include <math.h>
#include "pair_buck_intel.h"
#include "atom.h"
#include "comm.h"

View File

@ -15,10 +15,10 @@
Contributing author: Markus H<>hnerbach (RWTH)
------------------------------------------------------------------------- */
#include "math.h"
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "pair_tersoff_intel.h"
#include "atom.h"
#include "neighbor.h"

View File

@ -11,9 +11,9 @@
See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */
#include "math.h"
#include "string.h"
#include "stdlib.h"
#include <math.h>
#include <string.h>
#include <stdlib.h>
#include "atom.h"
#include "update.h"
#include "respa.h"

View File

@ -32,16 +32,16 @@
------------------------------------------------------------------------- */
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "atom.h"
#include "force.h"
#include "update.h"
#include "respa.h"
#include "error.h"
#include "group.h"
#include "math.h"
#include <math.h>
#include "input.h"
#include "variable.h"
#include "citeme.h"

View File

@ -32,16 +32,16 @@
------------------------------------------------------------------------- */
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "atom.h"
#include "force.h"
#include "update.h"
#include "respa.h"
#include "error.h"
#include "group.h"
#include "math.h"
#include <math.h>
#include "input.h"
#include "variable.h"
#include "citeme.h"

View File

@ -11,7 +11,7 @@
See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */
#include "string.h"
#include <string.h>
#include "compute_dipole_chunk.h"
#include "atom.h"
#include "update.h"

View File

@ -1,13 +1,18 @@
Axel Kohlmeyer is the current maintainer of the msi2lmp tool.
Please send any inquiries about msi2lmp to the lammps-users mailing list.
06 Oct 2016 Axel Kohlmeyer <akohlmey@gmail.com>
Improved whitespace handling in parsing topology and force field
files to avoid bogus warnings about type name truncation.
24 Oct 2015 Axel Kohlmeyer <akohlmey@gmail.com>
Added check to make certain that force field files
are consistent with the notation of non-bonded parameters
that the msi2lmp code expects. For Class 1 and OPLS-AA
the A-B notation with geometric mixing is expected and for
Class 2 the r-eps notation with sixthpower mixing.(
Class 2 the r-eps notation with sixthpower mixing.
11 Sep 2014 Axel Kohlmeyer <akohlmey@gmail.com>

View File

@ -74,9 +74,9 @@ void ReadMdfFile(void)
at_end = 1;
} else if (strncmp(line,"@column",7) == 0) {
temp_string = strtok(line," ");
col_no = strtok(NULL," ");
col_name = strtok(NULL," ");
temp_string = strtok(line,WHITESPACE);
col_no = strtok(NULL,WHITESPACE);
col_name = strtok(NULL,WHITESPACE);
if (strncmp(col_name,"charge",6) == 0) {
if (strlen(col_name) < 8) {
q_col_no = atoi(col_no);
@ -285,7 +285,7 @@ int get_molecule(char *line, int connect_col_no, int q_col_no,
/* Get atom name */
cur_field = strtok(line,":");
sscanf(cur_field, "%s", atoms[*counter].residue_string);
cur_field = strtok(NULL," ");
cur_field = strtok(NULL,WHITESPACE);
/* Compare atom name with that in .car file */
if (strcmp(atoms[*counter].name, cur_field)) {
printf("Names %s from .car file and %s from .mdf file do not match\n",
@ -297,18 +297,18 @@ int get_molecule(char *line, int connect_col_no, int q_col_no,
/* Skip unwanted fields until charge column, then update charge */
for (i=1; i < q_col_no; i++) strtok(NULL," ");
cur_field = strtok(NULL, " ");
for (i=1; i < q_col_no; i++) strtok(NULL,WHITESPACE);
cur_field = strtok(NULL, WHITESPACE);
atoms[*counter].q = atof(cur_field);
/* Continue skipping unwanted fields until connectivity records begin */
for ( i = (q_col_no + 1); i < connect_col_no; i++) strtok(NULL," ");
for ( i = (q_col_no + 1); i < connect_col_no; i++) strtok(NULL,WHITESPACE);
/* Process connections */
connect_no = 0; /* reset connections counter */
while ((cur_field = strtok(NULL," ")) && (connect_no < MAX_CONNECTIONS)) {
while ((cur_field = strtok(NULL,WHITESPACE)) && (connect_no < MAX_CONNECTIONS)) {
sscanf(cur_field, "%s", atoms[*counter].connections[connect_no++]);
}
atoms[*counter].no_connect = connect_no;

View File

@ -45,9 +45,9 @@ const char *SearchAndCheck(const char *keyword)
exit(1);
}
if (line[0] == '@') {
if (string_match(strtok(line+1," '\t\n'("),keyword)) {
if (string_match(strtok(line+1," '\t\n\r\f("),keyword)) {
got_it = 1;
status = strtok(NULL," '\t\n(");
status = strtok(NULL," '\t\n\r\f(");
if (status != NULL)
return strdup(status);
}
@ -79,7 +79,7 @@ void SearchAndFill(struct FrcFieldItem *item)
exit(1);
}
if (line[0] == '#') {
if (string_match(strtok(line," '\t'("),item->keyword)) got_it = 1;
if (string_match(strtok(line," '\t\r\n("),item->keyword)) got_it = 1;
}
/* if (strncmp(line, item->keyword,strlen(item->keyword))==0) got_it = 1; */
}
@ -132,13 +132,13 @@ void SearchAndFill(struct FrcFieldItem *item)
/* version number and reference number */
version = atof(strtok(line, " "));
reference = atoi(strtok(NULL, " "));
version = atof(strtok(line, WHITESPACE));
reference = atoi(strtok(NULL, WHITESPACE));
/* equivalences */
for(i = 0; i < item->number_of_members; i++ ) {
charptr = strtok(NULL, " ");
charptr = strtok(NULL, WHITESPACE);
if (strlen(charptr) > 4) {
fprintf(stderr,"Warning: type name overflow for '%s'. "
"Truncating to 4 characters.\n",charptr);
@ -150,7 +150,7 @@ void SearchAndFill(struct FrcFieldItem *item)
endbontor have to be treated carefully */
for( i = 0; i < item->number_of_parameters; i++ ) {
charptr = strtok(NULL, " ");
charptr = strtok(NULL, WHITESPACE);
if(charptr == NULL) {
for ( j = i; j < item->number_of_parameters; j++ )
parameters[j] = parameters[j-i];

View File

@ -2,6 +2,9 @@
*
* msi2lmp.exe
*
* v3.9.8 AK- Improved whitespace handling in parsing topology and force
* field files to avoid bogus warnings about type name truncation
*
* v3.9.7 AK- Add check to enforce that Class1/OPLS-AA use A-B parameter
* conventions in force field file and Class2 us r-eps conventions
*

View File

@ -36,7 +36,7 @@
# include <stdio.h>
#define MSI2LMP_VERSION "v3.9.7 / 24 Oct 2015"
#define MSI2LMP_VERSION "v3.9.8 / 06 Oct 2016"
#define PI_180 0.01745329251994329576
@ -45,6 +45,8 @@
#define MAX_STRING 64
#define MAX_NAME 16
#define WHITESPACE " \t\r\n\f"
#define MAX_ATOM_TYPES 100
#define MAX_BOND_TYPES 200
#define MAX_ANGLE_TYPES 300

View File

@ -1,4 +1,4 @@
LAMMPS data file. msi2lmp v3.9.7 / 24 Oct 2015 / CGCMM for PyAC_bulk-clayff
LAMMPS data file. msi2lmp v3.9.8 / 06 Oct 2016 / CGCMM for PyAC_bulk-clayff
1280 atoms
128 bonds

File diff suppressed because it is too large Load Diff