Merge pull request #1296 from Adrian-Diaz/multi-comm-tiled
updated comm tiled to have multi style ghost communication
This commit is contained in:
@ -77,7 +77,7 @@ The colloid-solvent interaction energy is given by
|
||||
\left[ 1 - \frac{\left(5 ~ a^6+45~a^4~r^2+63~a^2~r^4+15~r^6\right) \sigma^6}
|
||||
{15 \left(a-r\right)^6 \left( a+r \right)^6} \right], \quad r < r_c
|
||||
|
||||
where :math:A_{cs}` is the Hamaker constant, *a* is the radius of the colloidal
|
||||
where :math:`A_{cs}` is the Hamaker constant, *a* is the radius of the colloidal
|
||||
particle, and :math:`r_c` is the cutoff. This formula is derived from the
|
||||
colloid-colloid interaction, letting one of the particle sizes go to
|
||||
zero.
|
||||
|
||||
@ -1096,8 +1096,9 @@ void AtomVec::unpack_border(int n, int first, double *buf)
|
||||
|
||||
m = 0;
|
||||
last = first + n;
|
||||
while (last > nmax) grow(0);
|
||||
|
||||
for (i = first; i < last; i++) {
|
||||
if (i == nmax) grow(0);
|
||||
x[i][0] = buf[m++];
|
||||
x[i][1] = buf[m++];
|
||||
x[i][2] = buf[m++];
|
||||
@ -1165,8 +1166,9 @@ void AtomVec::unpack_border_vel(int n, int first, double *buf)
|
||||
|
||||
m = 0;
|
||||
last = first + n;
|
||||
while (last > nmax) grow(0);
|
||||
|
||||
for (i = first; i < last; i++) {
|
||||
if (i == nmax) grow(0);
|
||||
x[i][0] = buf[m++];
|
||||
x[i][1] = buf[m++];
|
||||
x[i][2] = buf[m++];
|
||||
|
||||
@ -11,6 +11,11 @@
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing author (multi and triclinic support):
|
||||
Adrian Diaz (University of Florida)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "comm_tiled.h"
|
||||
#include <mpi.h>
|
||||
#include <cmath>
|
||||
@ -42,6 +47,11 @@ CommTiled::CommTiled(LAMMPS *lmp) : Comm(lmp)
|
||||
style = 1;
|
||||
layout = Comm::LAYOUT_UNIFORM;
|
||||
pbc_flag = NULL;
|
||||
buf_send = NULL;
|
||||
buf_recv = NULL;
|
||||
overlap = NULL;
|
||||
rcbinfo = NULL;
|
||||
cutghostmulti = NULL;
|
||||
init_buffers();
|
||||
}
|
||||
|
||||
@ -69,6 +79,7 @@ CommTiled::~CommTiled()
|
||||
memory->destroy(overlap);
|
||||
deallocate_swap(maxswap);
|
||||
memory->sfree(rcbinfo);
|
||||
memory->destroy(cutghostmulti);
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
@ -84,11 +95,12 @@ void CommTiled::init_buffers()
|
||||
|
||||
maxoverlap = 0;
|
||||
overlap = NULL;
|
||||
rcbinfo = NULL;
|
||||
cutghostmulti = NULL;
|
||||
sendbox_multi = NULL;
|
||||
|
||||
maxswap = 6;
|
||||
allocate_swap(maxswap);
|
||||
|
||||
rcbinfo = NULL;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
@ -97,16 +109,18 @@ void CommTiled::init()
|
||||
{
|
||||
Comm::init();
|
||||
|
||||
nswap = 2 * domain->dimension;
|
||||
// cannot set nswap in init_buffers() b/c
|
||||
// dimension command can be after comm_style command
|
||||
|
||||
nswap = 2*domain->dimension;
|
||||
|
||||
memory->destroy(cutghostmulti);
|
||||
if (mode == Comm::MULTI)
|
||||
memory->create(cutghostmulti,atom->ntypes+1,3,"comm:cutghostmulti");
|
||||
|
||||
int bufextra_old = bufextra;
|
||||
init_exchange();
|
||||
if (bufextra > bufextra_old) grow_send(maxsend+bufextra,2);
|
||||
|
||||
// temporary restrictions
|
||||
|
||||
if (mode == Comm::MULTI)
|
||||
error->all(FLERR,"Cannot yet use comm_style tiled with multi-mode comm");
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
@ -122,6 +136,7 @@ void CommTiled::setup()
|
||||
|
||||
dimension = domain->dimension;
|
||||
int *periodicity = domain->periodicity;
|
||||
int ntypes = atom->ntypes;
|
||||
|
||||
if (triclinic == 0) {
|
||||
prd = domain->prd;
|
||||
@ -158,6 +173,18 @@ void CommTiled::setup()
|
||||
// set cutoff for comm forward and comm reverse
|
||||
// check that cutoff < any periodic box length
|
||||
|
||||
if (mode == Comm::MULTI) {
|
||||
double *cuttype = neighbor->cuttype;
|
||||
double cut;
|
||||
for (i = 1; i <= ntypes; i++) {
|
||||
cut = 0.0;
|
||||
if (cutusermulti) cut = cutusermulti[i];
|
||||
cutghostmulti[i][0] = MAX(cut,cuttype[i]);
|
||||
cutghostmulti[i][1] = MAX(cut,cuttype[i]);
|
||||
cutghostmulti[i][2] = MAX(cut,cuttype[i]);
|
||||
}
|
||||
}
|
||||
|
||||
double cut = get_comm_cutoff();
|
||||
if ((cut == 0.0) && (me == 0))
|
||||
error->warning(FLERR,"Communication cutoff is 0.0. No ghost atoms "
|
||||
@ -173,6 +200,13 @@ void CommTiled::setup()
|
||||
cutghost[1] = cut * length1;
|
||||
length2 = h_inv[2];
|
||||
cutghost[2] = cut * length2;
|
||||
if (mode == Comm::MULTI){
|
||||
for (i = 1; i <= ntypes; i++) {
|
||||
cutghostmulti[i][0] *= length0;
|
||||
cutghostmulti[i][1] *= length1;
|
||||
cutghostmulti[i][2] *= length2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((periodicity[0] && cutghost[0] > prd[0]) ||
|
||||
@ -308,62 +342,140 @@ void CommTiled::setup()
|
||||
// = obox in other 2 dims
|
||||
// if sbox touches other proc's sub-box boundaries in lower dims,
|
||||
// extend sbox in those lower dims to include ghost atoms
|
||||
// single mode and multi mode
|
||||
|
||||
double oboxlo[3],oboxhi[3],sbox[6];
|
||||
double oboxlo[3],oboxhi[3],sbox[6],sbox_multi[6];
|
||||
|
||||
for (i = 0; i < noverlap; i++) {
|
||||
pbc_flag[iswap][i] = 0;
|
||||
pbc[iswap][i][0] = pbc[iswap][i][1] = pbc[iswap][i][2] =
|
||||
pbc[iswap][i][3] = pbc[iswap][i][4] = pbc[iswap][i][5] = 0;
|
||||
if (mode == Comm::SINGLE) {
|
||||
for (i = 0; i < noverlap; i++) {
|
||||
pbc_flag[iswap][i] = 0;
|
||||
pbc[iswap][i][0] = pbc[iswap][i][1] = pbc[iswap][i][2] =
|
||||
pbc[iswap][i][3] = pbc[iswap][i][4] = pbc[iswap][i][5] = 0;
|
||||
|
||||
(this->*box_other)(idim,idir,overlap[i],oboxlo,oboxhi);
|
||||
(this->*box_other)(idim,idir,overlap[i],oboxlo,oboxhi);
|
||||
|
||||
if (i < noverlap1) {
|
||||
sbox[0] = MAX(oboxlo[0],lo1[0]);
|
||||
sbox[1] = MAX(oboxlo[1],lo1[1]);
|
||||
sbox[2] = MAX(oboxlo[2],lo1[2]);
|
||||
sbox[3] = MIN(oboxhi[0],hi1[0]);
|
||||
sbox[4] = MIN(oboxhi[1],hi1[1]);
|
||||
sbox[5] = MIN(oboxhi[2],hi1[2]);
|
||||
|
||||
} else {
|
||||
pbc_flag[iswap][i] = 1;
|
||||
if (idir == 0) pbc[iswap][i][idim] = 1;
|
||||
else pbc[iswap][i][idim] = -1;
|
||||
if (triclinic) {
|
||||
if (idim == 1) pbc[iswap][i][5] = pbc[iswap][i][idim];
|
||||
if (idim == 2) pbc[iswap][i][4] = pbc[iswap][i][3] = pbc[iswap][i][idim];
|
||||
if (i < noverlap1) {
|
||||
sbox[0] = MAX(oboxlo[0],lo1[0]);
|
||||
sbox[1] = MAX(oboxlo[1],lo1[1]);
|
||||
sbox[2] = MAX(oboxlo[2],lo1[2]);
|
||||
sbox[3] = MIN(oboxhi[0],hi1[0]);
|
||||
sbox[4] = MIN(oboxhi[1],hi1[1]);
|
||||
sbox[5] = MIN(oboxhi[2],hi1[2]);
|
||||
} else {
|
||||
pbc_flag[iswap][i] = 1;
|
||||
if (idir == 0) pbc[iswap][i][idim] = 1;
|
||||
else pbc[iswap][i][idim] = -1;
|
||||
if (triclinic) {
|
||||
if (idim == 1) pbc[iswap][i][5] = pbc[iswap][i][idim];
|
||||
if (idim == 2) pbc[iswap][i][4] = pbc[iswap][i][3] = pbc[iswap][i][idim];
|
||||
}
|
||||
sbox[0] = MAX(oboxlo[0],lo2[0]);
|
||||
sbox[1] = MAX(oboxlo[1],lo2[1]);
|
||||
sbox[2] = MAX(oboxlo[2],lo2[2]);
|
||||
sbox[3] = MIN(oboxhi[0],hi2[0]);
|
||||
sbox[4] = MIN(oboxhi[1],hi2[1]);
|
||||
sbox[5] = MIN(oboxhi[2],hi2[2]);
|
||||
}
|
||||
|
||||
sbox[0] = MAX(oboxlo[0],lo2[0]);
|
||||
sbox[1] = MAX(oboxlo[1],lo2[1]);
|
||||
sbox[2] = MAX(oboxlo[2],lo2[2]);
|
||||
sbox[3] = MIN(oboxhi[0],hi2[0]);
|
||||
sbox[4] = MIN(oboxhi[1],hi2[1]);
|
||||
sbox[5] = MIN(oboxhi[2],hi2[2]);
|
||||
}
|
||||
if (idir == 0) {
|
||||
sbox[idim] = sublo[idim];
|
||||
if (i < noverlap1)
|
||||
sbox[3+idim] = MIN(sbox[3+idim]+cutghost[idim],subhi[idim]);
|
||||
else
|
||||
sbox[3+idim] = MIN(sbox[3+idim]-prd[idim]+cutghost[idim],subhi[idim]);
|
||||
} else {
|
||||
if (i < noverlap1) sbox[idim] = MAX(sbox[idim]-cutghost[idim],sublo[idim]);
|
||||
else sbox[idim] = MAX(sbox[idim]+prd[idim]-cutghost[idim],sublo[idim]);
|
||||
sbox[3+idim] = subhi[idim];
|
||||
}
|
||||
|
||||
if (idir == 0) {
|
||||
sbox[idim] = sublo[idim];
|
||||
if (i < noverlap1)
|
||||
sbox[3+idim] = MIN(sbox[3+idim]+cutghost[idim],subhi[idim]);
|
||||
else sbox[3+idim] = MIN(sbox[3+idim]-prd[idim]+cutghost[idim],subhi[idim]);
|
||||
} else {
|
||||
if (i < noverlap1) sbox[idim] = MAX(sbox[idim]-cutghost[idim],sublo[idim]);
|
||||
else sbox[idim] = MAX(sbox[idim]+prd[idim]-cutghost[idim],sublo[idim]);
|
||||
sbox[3+idim] = subhi[idim];
|
||||
}
|
||||
if (idim >= 1) {
|
||||
if (sbox[0] == oboxlo[0]) sbox[0] -= cutghost[0];
|
||||
if (sbox[3] == oboxhi[0]) sbox[3] += cutghost[0];
|
||||
}
|
||||
if (idim == 2) {
|
||||
if (sbox[1] == oboxlo[1]) sbox[1] -= cutghost[1];
|
||||
if (sbox[4] == oboxhi[1]) sbox[4] += cutghost[1];
|
||||
}
|
||||
|
||||
if (idim >= 1) {
|
||||
if (sbox[0] == oboxlo[0]) sbox[0] -= cutghost[0];
|
||||
if (sbox[3] == oboxhi[0]) sbox[3] += cutghost[0];
|
||||
}
|
||||
if (idim == 2) {
|
||||
if (sbox[1] == oboxlo[1]) sbox[1] -= cutghost[1];
|
||||
if (sbox[4] == oboxhi[1]) sbox[4] += cutghost[1];
|
||||
memcpy(sendbox[iswap][i],sbox,6*sizeof(double));
|
||||
}
|
||||
}
|
||||
|
||||
memcpy(sendbox[iswap][i],sbox,6*sizeof(double));
|
||||
if (mode == Comm::MULTI) {
|
||||
for (i = 0; i < noverlap; i++) {
|
||||
pbc_flag[iswap][i] = 0;
|
||||
pbc[iswap][i][0] = pbc[iswap][i][1] = pbc[iswap][i][2] =
|
||||
pbc[iswap][i][3] = pbc[iswap][i][4] = pbc[iswap][i][5] = 0;
|
||||
|
||||
(this->*box_other)(idim,idir,overlap[i],oboxlo,oboxhi);
|
||||
|
||||
if (i < noverlap1) {
|
||||
sbox[0] = MAX(oboxlo[0],lo1[0]);
|
||||
sbox[1] = MAX(oboxlo[1],lo1[1]);
|
||||
sbox[2] = MAX(oboxlo[2],lo1[2]);
|
||||
sbox[3] = MIN(oboxhi[0],hi1[0]);
|
||||
sbox[4] = MIN(oboxhi[1],hi1[1]);
|
||||
sbox[5] = MIN(oboxhi[2],hi1[2]);
|
||||
} else {
|
||||
pbc_flag[iswap][i] = 1;
|
||||
if (idir == 0) pbc[iswap][i][idim] = 1;
|
||||
else pbc[iswap][i][idim] = -1;
|
||||
if (triclinic) {
|
||||
if (idim == 1) pbc[iswap][i][5] = pbc[iswap][i][idim];
|
||||
if (idim == 2) pbc[iswap][i][4] = pbc[iswap][i][3] = pbc[iswap][i][idim];
|
||||
}
|
||||
sbox[0] = MAX(oboxlo[0],lo2[0]);
|
||||
sbox[1] = MAX(oboxlo[1],lo2[1]);
|
||||
sbox[2] = MAX(oboxlo[2],lo2[2]);
|
||||
sbox[3] = MIN(oboxhi[0],hi2[0]);
|
||||
sbox[4] = MIN(oboxhi[1],hi2[1]);
|
||||
sbox[5] = MIN(oboxhi[2],hi2[2]);
|
||||
}
|
||||
|
||||
for (int itype = 1; itype <= atom->ntypes; itype++) {
|
||||
sbox_multi[0] = sbox[0];
|
||||
sbox_multi[1] = sbox[1];
|
||||
sbox_multi[2] = sbox[2];
|
||||
sbox_multi[3] = sbox[3];
|
||||
sbox_multi[4] = sbox[4];
|
||||
sbox_multi[5] = sbox[5];
|
||||
if (idir == 0) {
|
||||
sbox_multi[idim] = sublo[idim];
|
||||
if (i < noverlap1)
|
||||
sbox_multi[3+idim] =
|
||||
MIN(sbox_multi[3+idim]+cutghostmulti[itype][idim],subhi[idim]);
|
||||
else
|
||||
sbox_multi[3+idim] =
|
||||
MIN(sbox_multi[3+idim]-prd[idim]+cutghostmulti[itype][idim],
|
||||
subhi[idim]);
|
||||
} else {
|
||||
if (i < noverlap1)
|
||||
sbox_multi[idim] =
|
||||
MAX(sbox_multi[idim]-cutghostmulti[itype][idim],sublo[idim]);
|
||||
else
|
||||
sbox_multi[idim] =
|
||||
MAX(sbox_multi[idim]+prd[idim]-cutghostmulti[itype][idim],
|
||||
sublo[idim]);
|
||||
sbox_multi[3+idim] = subhi[idim];
|
||||
}
|
||||
|
||||
if (idim >= 1) {
|
||||
if (sbox_multi[0] == oboxlo[0])
|
||||
sbox_multi[0] -= cutghostmulti[itype][idim];
|
||||
if (sbox_multi[3] == oboxhi[0])
|
||||
sbox_multi[3] += cutghostmulti[itype][idim];
|
||||
}
|
||||
if (idim == 2) {
|
||||
if (sbox_multi[1] == oboxlo[1])
|
||||
sbox_multi[1] -= cutghostmulti[itype][idim];
|
||||
if (sbox_multi[4] == oboxhi[1])
|
||||
sbox_multi[4] += cutghostmulti[itype][idim];
|
||||
}
|
||||
|
||||
memcpy(sendbox_multi[iswap][i][itype],sbox_multi,6*sizeof(double));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
iswap++;
|
||||
@ -445,15 +557,15 @@ void CommTiled::setup()
|
||||
}
|
||||
}
|
||||
|
||||
// reallocate MPI Requests and Statuses as needed
|
||||
// reallocate MPI Requests as needed
|
||||
|
||||
int nmax = 0;
|
||||
for (i = 0; i < nswap; i++) nmax = MAX(nmax,nprocmax[i]);
|
||||
for (i = 0; i < dimension; i++) nmax = MAX(nmax,nexchprocmax[i]);
|
||||
if (nmax > maxreqstat) {
|
||||
maxreqstat = nmax;
|
||||
if (nmax > maxrequest) {
|
||||
maxrequest = nmax;
|
||||
delete [] requests;
|
||||
requests = new MPI_Request[maxreqstat];
|
||||
requests = new MPI_Request[maxrequest];
|
||||
}
|
||||
}
|
||||
|
||||
@ -815,7 +927,7 @@ void CommTiled::borders()
|
||||
// for x-dim swaps, check owned atoms
|
||||
// for yz-dim swaps, check owned and ghost atoms
|
||||
// store sent atom indices in sendlist for use in future timesteps
|
||||
// NOTE: assume SINGLE mode, add logic for MULTI mode later
|
||||
// single mode and multi mode
|
||||
|
||||
x = atom->x;
|
||||
if (iswap % 2 == 0) nlast = atom->nlocal + atom->nghost;
|
||||
@ -823,45 +935,100 @@ void CommTiled::borders()
|
||||
ncountall = 0;
|
||||
|
||||
for (m = 0; m < nsendproc[iswap]; m++) {
|
||||
bbox = sendbox[iswap][m];
|
||||
xlo = bbox[0]; ylo = bbox[1]; zlo = bbox[2];
|
||||
xhi = bbox[3]; yhi = bbox[4]; zhi = bbox[5];
|
||||
|
||||
ncount = 0;
|
||||
if (mode == Comm::SINGLE) {
|
||||
bbox = sendbox[iswap][m];
|
||||
xlo = bbox[0]; ylo = bbox[1]; zlo = bbox[2];
|
||||
xhi = bbox[3]; yhi = bbox[4]; zhi = bbox[5];
|
||||
|
||||
if (!bordergroup) {
|
||||
for (i = 0; i < nlast; i++) {
|
||||
if (x[i][0] >= xlo && x[i][0] < xhi &&
|
||||
x[i][1] >= ylo && x[i][1] < yhi &&
|
||||
x[i][2] >= zlo && x[i][2] < zhi) {
|
||||
if (ncount == maxsendlist[iswap][m]) grow_list(iswap,m,ncount);
|
||||
sendlist[iswap][m][ncount++] = i;
|
||||
ncount = 0;
|
||||
|
||||
if (!bordergroup) {
|
||||
for (i = 0; i < nlast; i++) {
|
||||
if (x[i][0] >= xlo && x[i][0] < xhi &&
|
||||
x[i][1] >= ylo && x[i][1] < yhi &&
|
||||
x[i][2] >= zlo && x[i][2] < zhi) {
|
||||
if (ncount == maxsendlist[iswap][m]) grow_list(iswap,m,ncount);
|
||||
sendlist[iswap][m][ncount++] = i;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
ngroup = atom->nfirst;
|
||||
for (i = 0; i < ngroup; i++) {
|
||||
if (x[i][0] >= xlo && x[i][0] < xhi &&
|
||||
x[i][1] >= ylo && x[i][1] < yhi &&
|
||||
x[i][2] >= zlo && x[i][2] < zhi) {
|
||||
if (ncount == maxsendlist[iswap][m]) grow_list(iswap,m,ncount);
|
||||
sendlist[iswap][m][ncount++] = i;
|
||||
}
|
||||
}
|
||||
for (i = atom->nlocal; i < nlast; i++) {
|
||||
if (x[i][0] >= xlo && x[i][0] < xhi &&
|
||||
x[i][1] >= ylo && x[i][1] < yhi &&
|
||||
x[i][2] >= zlo && x[i][2] < zhi) {
|
||||
if (ncount == maxsendlist[iswap][m]) grow_list(iswap,m,ncount);
|
||||
sendlist[iswap][m][ncount++] = i;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sendnum[iswap][m] = ncount;
|
||||
smaxone = MAX(smaxone,ncount);
|
||||
ncountall += ncount;
|
||||
|
||||
} else {
|
||||
ngroup = atom->nfirst;
|
||||
for (i = 0; i < ngroup; i++) {
|
||||
if (x[i][0] >= xlo && x[i][0] < xhi &&
|
||||
x[i][1] >= ylo && x[i][1] < yhi &&
|
||||
x[i][2] >= zlo && x[i][2] < zhi) {
|
||||
if (ncount == maxsendlist[iswap][m]) grow_list(iswap,m,ncount);
|
||||
sendlist[iswap][m][ncount++] = i;
|
||||
}
|
||||
}
|
||||
for (i = atom->nlocal; i < nlast; i++) {
|
||||
if (x[i][0] >= xlo && x[i][0] < xhi &&
|
||||
x[i][1] >= ylo && x[i][1] < yhi &&
|
||||
x[i][2] >= zlo && x[i][2] < zhi) {
|
||||
if (ncount == maxsendlist[iswap][m]) grow_list(iswap,m,ncount);
|
||||
sendlist[iswap][m][ncount++] = i;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sendnum[iswap][m] = ncount;
|
||||
smaxone = MAX(smaxone,ncount);
|
||||
ncountall += ncount;
|
||||
int* type=atom->type;
|
||||
int itype;
|
||||
ncount = 0;
|
||||
|
||||
if (!bordergroup) {
|
||||
for (i = 0; i < nlast; i++) {
|
||||
itype=type[i];
|
||||
bbox = sendbox_multi[iswap][m][itype];
|
||||
xlo = bbox[0]; ylo = bbox[1]; zlo = bbox[2];
|
||||
xhi = bbox[3]; yhi = bbox[4]; zhi = bbox[5];
|
||||
if (x[i][0] >= xlo && x[i][0] < xhi &&
|
||||
x[i][1] >= ylo && x[i][1] < yhi &&
|
||||
x[i][2] >= zlo && x[i][2] < zhi) {
|
||||
if (ncount == maxsendlist[iswap][m]) grow_list(iswap,m,ncount);
|
||||
sendlist[iswap][m][ncount++] = i;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
ngroup = atom->nfirst;
|
||||
for (i = 0; i < ngroup; i++) {
|
||||
itype=type[i];
|
||||
bbox = sendbox_multi[iswap][m][itype];
|
||||
xlo = bbox[0]; ylo = bbox[1]; zlo = bbox[2];
|
||||
xhi = bbox[3]; yhi = bbox[4]; zhi = bbox[5];
|
||||
if (x[i][0] >= xlo && x[i][0] < xhi &&
|
||||
x[i][1] >= ylo && x[i][1] < yhi &&
|
||||
x[i][2] >= zlo && x[i][2] < zhi) {
|
||||
if (ncount == maxsendlist[iswap][m]) grow_list(iswap,m,ncount);
|
||||
sendlist[iswap][m][ncount++] = i;
|
||||
}
|
||||
}
|
||||
for (i = atom->nlocal; i < nlast; i++) {
|
||||
itype=type[i];
|
||||
bbox = sendbox_multi[iswap][m][itype];
|
||||
xlo = bbox[0]; ylo = bbox[1]; zlo = bbox[2];
|
||||
xhi = bbox[3]; yhi = bbox[4]; zhi = bbox[5];
|
||||
if (x[i][0] >= xlo && x[i][0] < xhi &&
|
||||
x[i][1] >= ylo && x[i][1] < yhi &&
|
||||
x[i][2] >= zlo && x[i][2] < zhi) {
|
||||
if (ncount == maxsendlist[iswap][m]) grow_list(iswap,m,ncount);
|
||||
sendlist[iswap][m][ncount++] = i;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sendnum[iswap][m] = ncount;
|
||||
smaxone = MAX(smaxone,ncount);
|
||||
ncountall += ncount;
|
||||
}
|
||||
}
|
||||
|
||||
smaxall = MAX(smaxall,ncountall);
|
||||
|
||||
// send sendnum counts to procs who recv from me except self
|
||||
@ -914,9 +1081,8 @@ void CommTiled::borders()
|
||||
if (rmaxall*size_border > maxrecv) grow_recv(rmaxall*size_border);
|
||||
|
||||
// swap atoms with other procs using pack_border(), unpack_border()
|
||||
// use Waitall() instead of Waitany() because calls to unpack_border()
|
||||
// must increment per-atom arrays in ascending order
|
||||
// For the same reason, sendself unpacks must occur after recvother unpacks
|
||||
// can use Waitany() because calls to unpack_border()
|
||||
// increment per-atom arrays as much as needed
|
||||
|
||||
if (ghost_velocity) {
|
||||
if (recvother[iswap]) {
|
||||
@ -932,13 +1098,6 @@ void CommTiled::borders()
|
||||
MPI_Send(buf_send,n,MPI_DOUBLE,sendproc[iswap][m],0,world);
|
||||
}
|
||||
}
|
||||
if (recvother[iswap]) {
|
||||
MPI_Waitall(nrecv,requests,MPI_STATUS_IGNORE);
|
||||
for (m = 0; m < nrecv; m++)
|
||||
avec->unpack_border_vel(recvnum[iswap][m],firstrecv[iswap][m],
|
||||
&buf_recv[size_border*
|
||||
forward_recv_offset[iswap][m]]);
|
||||
}
|
||||
if (sendself[iswap]) {
|
||||
avec->pack_border_vel(sendnum[iswap][nsend],sendlist[iswap][nsend],
|
||||
buf_send,pbc_flag[iswap][nsend],
|
||||
@ -946,6 +1105,14 @@ void CommTiled::borders()
|
||||
avec->unpack_border_vel(recvnum[iswap][nrecv],firstrecv[iswap][nrecv],
|
||||
buf_send);
|
||||
}
|
||||
if (recvother[iswap]) {
|
||||
for (i = 0; i < nrecv; i++) {
|
||||
MPI_Waitany(nrecv,requests,&m,MPI_STATUS_IGNORE);
|
||||
avec->unpack_border_vel(recvnum[iswap][m],firstrecv[iswap][m],
|
||||
&buf_recv[size_border*
|
||||
forward_recv_offset[iswap][m]]);
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
if (recvother[iswap]) {
|
||||
@ -961,19 +1128,20 @@ void CommTiled::borders()
|
||||
MPI_Send(buf_send,n,MPI_DOUBLE,sendproc[iswap][m],0,world);
|
||||
}
|
||||
}
|
||||
if (recvother[iswap]) {
|
||||
MPI_Waitall(nrecv,requests,MPI_STATUS_IGNORE);
|
||||
for (m = 0; m < nrecv; m++)
|
||||
avec->unpack_border(recvnum[iswap][m],firstrecv[iswap][m],
|
||||
&buf_recv[size_border*
|
||||
forward_recv_offset[iswap][m]]);
|
||||
}
|
||||
if (sendself[iswap]) {
|
||||
avec->pack_border(sendnum[iswap][nsend],sendlist[iswap][nsend],
|
||||
buf_send,pbc_flag[iswap][nsend],pbc[iswap][nsend]);
|
||||
avec->unpack_border(recvnum[iswap][nrecv],firstrecv[iswap][nrecv],
|
||||
buf_send);
|
||||
}
|
||||
if (recvother[iswap]) {
|
||||
for (i = 0; i < nrecv; i++) {
|
||||
MPI_Waitany(nrecv,requests,&m,MPI_STATUS_IGNORE);
|
||||
avec->unpack_border(recvnum[iswap][m],firstrecv[iswap][m],
|
||||
&buf_recv[size_border*
|
||||
forward_recv_offset[iswap][m]]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// increment ghost atoms
|
||||
@ -1476,11 +1644,9 @@ int CommTiled::exchange_variable(int n, double * /*inbuf*/, double *& /*outbuf*/
|
||||
|
||||
void CommTiled::box_drop_brick(int idim, double *lo, double *hi, int &indexme)
|
||||
{
|
||||
// NOTE: this is not triclinic compatible
|
||||
// NOTE: these error messages are internal sanity checks
|
||||
// should not occur, can be removed at some point
|
||||
int dir;
|
||||
int index = -1;
|
||||
|
||||
int index=-1,dir;
|
||||
if (hi[idim] == sublo[idim]) {
|
||||
index = myloc[idim] - 1;
|
||||
dir = -1;
|
||||
@ -1913,6 +2079,7 @@ void CommTiled::allocate_swap(int n)
|
||||
pbc_flag = new int*[n];
|
||||
pbc = new int**[n];
|
||||
sendbox = new double**[n];
|
||||
sendbox_multi = new double***[n];
|
||||
maxsendlist = new int*[n];
|
||||
sendlist = new int**[n];
|
||||
|
||||
@ -1926,11 +2093,12 @@ void CommTiled::allocate_swap(int n)
|
||||
pbc_flag[i] = NULL;
|
||||
pbc[i] = NULL;
|
||||
sendbox[i] = NULL;
|
||||
sendbox_multi[i] = NULL;
|
||||
maxsendlist[i] = NULL;
|
||||
sendlist[i] = NULL;
|
||||
}
|
||||
|
||||
maxreqstat = 0;
|
||||
maxrequest = 0;
|
||||
requests = NULL;
|
||||
|
||||
for (int i = 0; i < n; i++) {
|
||||
@ -1974,6 +2142,8 @@ void CommTiled::grow_swap_send(int i, int n, int nold)
|
||||
memory->create(pbc[i],n,6,"comm:pbc_flag");
|
||||
memory->destroy(sendbox[i]);
|
||||
memory->create(sendbox[i],n,6,"comm:sendbox");
|
||||
memory->destroy(sendbox_multi[i]);
|
||||
memory->create(sendbox_multi[i],n,atom->ntypes+1,6,"comm:sendbox_multi");
|
||||
|
||||
delete [] maxsendlist[i];
|
||||
maxsendlist[i] = new int[n];
|
||||
@ -2032,6 +2202,8 @@ void CommTiled::deallocate_swap(int n)
|
||||
delete [] pbc_flag[i];
|
||||
memory->destroy(pbc[i]);
|
||||
memory->destroy(sendbox[i]);
|
||||
memory->destroy(sendbox_multi[i]);
|
||||
|
||||
delete [] maxsendlist[i];
|
||||
|
||||
for (int j = 0; j < nprocmax[i]; j++) memory->destroy(sendlist[i][j]);
|
||||
@ -2052,6 +2224,7 @@ void CommTiled::deallocate_swap(int n)
|
||||
delete [] pbc_flag;
|
||||
delete [] pbc;
|
||||
delete [] sendbox;
|
||||
delete [] sendbox_multi;
|
||||
delete [] maxsendlist;
|
||||
delete [] sendlist;
|
||||
|
||||
|
||||
@ -55,7 +55,7 @@ class CommTiled : public Comm {
|
||||
private:
|
||||
int nswap; // # of swaps to perform = 2*dim
|
||||
int maxswap; // largest nswap can be = 6
|
||||
|
||||
|
||||
// forward/reverse comm info, proc lists include self
|
||||
|
||||
int *nsendproc,*nrecvproc; // # of procs to send/recv to/from per swap
|
||||
@ -70,7 +70,6 @@ class CommTiled : public Comm {
|
||||
int **size_reverse_recv; // # of values to recv in each reverse swap/proc
|
||||
int **forward_recv_offset; // forward comm offsets in buf_recv per swap/proc
|
||||
int **reverse_recv_offset; // reverse comm offsets in buf_recv per swap/proc
|
||||
|
||||
int ***sendlist; // list of atoms to send per swap/proc
|
||||
int **maxsendlist; // max size of send list per swap/proc
|
||||
int **pbc_flag; // general flag for sending atoms thru PBC
|
||||
@ -78,6 +77,10 @@ class CommTiled : public Comm {
|
||||
|
||||
double ***sendbox; // bounding box of atoms to send per swap/proc
|
||||
|
||||
double **cutghostmulti; // cutghost on a per-type basis
|
||||
double ****sendbox_multi; // bounding box of atoms to send
|
||||
// per swap/proc for multi comm
|
||||
|
||||
// exchange comm info, proc lists do not include self
|
||||
|
||||
int *nexchproc; // # of procs to send/recv to/from in each dim
|
||||
@ -92,7 +95,7 @@ class CommTiled : public Comm {
|
||||
int smaxall,rmaxall; // max size in atoms of any borders send/recv
|
||||
// for comm to all procs in one swap
|
||||
|
||||
int maxreqstat; // max size of Request and Status vectors
|
||||
int maxrequest; // max size of Request vector
|
||||
MPI_Request *requests;
|
||||
|
||||
struct RCBinfo {
|
||||
@ -147,6 +150,7 @@ class CommTiled : public Comm {
|
||||
void grow_swap_send(int, int, int); // grow swap arrays for send and recv
|
||||
void grow_swap_recv(int, int);
|
||||
void deallocate_swap(int); // deallocate swap arrays
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@ -1101,9 +1101,12 @@ TEST(PairStyle, single)
|
||||
|
||||
// The single function in EAM is different from what we assume
|
||||
// here, therefore we have to skip testing those pair styles.
|
||||
if ((test_config.pair_style.substr(0, 3) == "eam") ||
|
||||
// Pair style colloid is also not compatible with this single tester
|
||||
if ((test_config.pair_style.substr(0, 7) == "colloid") ||
|
||||
(test_config.pair_style.substr(0, 3) == "eam") ||
|
||||
((test_config.pair_style.substr(0, 6) == "hybrid") &&
|
||||
(test_config.pair_style.find("eam") != std::string::npos))) {
|
||||
(test_config.pair_style.find("eam") != std::string::npos))
|
||||
) {
|
||||
if (!verbose) ::testing::internal::CaptureStdout();
|
||||
cleanup_lammps(lmp, test_config);
|
||||
if (!verbose) ::testing::internal::GetCapturedStdout();
|
||||
|
||||
85
unittest/force-styles/tests/atomic-pair-colloid.yaml
Normal file
85
unittest/force-styles/tests/atomic-pair-colloid.yaml
Normal file
@ -0,0 +1,85 @@
|
||||
---
|
||||
lammps_version: 21 Jul 2020
|
||||
date_generated: Mon Aug 3 16:06:24 202
|
||||
epsilon: 5e-14
|
||||
prerequisites: ! |
|
||||
pair colloid
|
||||
pre_commands: ! |
|
||||
variable units index lj
|
||||
post_commands: ! |
|
||||
neighbor 1.0 bin
|
||||
comm_style brick
|
||||
comm_modify mode single
|
||||
input_file: in.colloid
|
||||
pair_style: colloid 12.5
|
||||
pair_coeff: ! |
|
||||
1 1 1.0 1.0 5.0 5.0 12.5
|
||||
1 2 5.0 1.0 5.0 0.0 7.0
|
||||
2 2 10.0 1.0 0.0 0.0 2.5
|
||||
extract: ! ""
|
||||
natoms: 27
|
||||
init_vdwl: -0.250265293649414
|
||||
init_coul: 0
|
||||
init_stress: ! |2-
|
||||
1.6693554149342897e+00 1.1752557173260264e+01 1.0084916384631697e+00 -5.5164068587184527e+00 3.4448938909043297e-01 2.8524984331506240e+00
|
||||
init_forces: ! |2
|
||||
1 7.2698902368314028e-02 7.6228314794484830e-02 1.0726717051410481e-01
|
||||
2 -4.1487528743785314e-02 -9.8021436494101673e-03 1.5709289685835706e-01
|
||||
3 -6.4514052467860251e-03 -1.0256365723614392e-03 -6.5497018575823654e-04
|
||||
4 -1.5879716299045554e-02 -1.3313626328419375e-02 -1.1960220488237115e-02
|
||||
5 -3.6475105049685382e-02 -2.2992583864092243e-02 1.6166097759476125e-02
|
||||
6 5.4769180740248721e-04 -2.4426732691233789e-02 -3.6444902428178980e-02
|
||||
7 1.2006858444817004e-03 8.6089326153587114e-04 4.8033026817420977e-05
|
||||
8 6.2576206692511894e-03 1.1942031910109577e-03 8.5598267089392085e-04
|
||||
9 1.8304752931477772e+00 -4.3380838069003760e+00 -1.2763141904695217e+00
|
||||
10 1.0456768773213965e-01 -2.8797785965171453e-02 -1.0768387599117879e-02
|
||||
11 7.4457152913473112e-04 5.3043528596594623e-05 1.1848179655097060e-04
|
||||
12 1.8275344545112628e-04 4.1948901318387846e-04 9.8529270880004928e-05
|
||||
13 -1.1259391902077470e-01 1.6396787556459839e-02 -9.0455786475091124e-04
|
||||
14 -2.4411189619188785e-04 -5.8284002050384879e-05 1.8046434825690733e-05
|
||||
15 -2.9421019290851403e-03 -7.4831176382853144e-04 -1.2326238660052020e-03
|
||||
16 2.2461127490925330e+00 -1.1352527056039741e+00 2.3679980564815390e+00
|
||||
17 -1.8842133286566962e-02 1.7091738246445273e-02 -1.4247568288438442e-02
|
||||
18 1.0304762560041125e-01 7.8062023784307467e-03 1.9257495383127633e-02
|
||||
19 -4.3351162132476757e-02 -2.2995928402219718e-02 -1.1392806036292676e-02
|
||||
20 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
|
||||
21 4.2501672350519291e-02 6.8582908647593869e-03 -6.8677246013076093e-02
|
||||
22 -2.2945818607502835e+00 1.1603382884260454e+00 -2.3594708301087310e+00
|
||||
23 2.5606115583434265e-02 -1.0270997331622232e-01 -1.1451933998746673e-01
|
||||
24 -8.0648597970214809e-04 1.1943689027481706e-04 -9.8441554909815322e-04
|
||||
25 6.1663239781204479e-04 -2.9236784591333024e-04 3.5387752678593650e-03
|
||||
26 -1.7197958284241512e+00 4.3707144027711022e+00 1.2977194913045051e+00
|
||||
27 -1.4110864281012736e-01 4.2418795982941855e-02 -6.2606997884263993e-02
|
||||
run_vdwl: 0.0367090517931739
|
||||
run_coul: 0
|
||||
run_stress: ! |2-
|
||||
3.2547164843322682e+00 1.2822272288053410e+01 2.9381904014809601e+00 -6.5755478139675869e+00 2.3052669923975402e+00 1.5140903126232870e+00
|
||||
run_forces: ! |2
|
||||
1 5.8196197291626200e-02 7.7034242946349835e-02 1.0456829776646272e-01
|
||||
2 -4.1552988555246327e-02 -1.1540194679885485e-02 1.5467509805429100e-01
|
||||
3 -6.6558201800471870e-03 -9.8090417095619679e-04 -4.5870088099424396e-04
|
||||
4 -1.6184658518487705e-02 -1.2048418808706472e-02 -1.2190156970179262e-02
|
||||
5 -3.3316803862839403e-02 -2.1131495092834619e-02 1.4963198384123102e-02
|
||||
6 4.7038346343352116e-04 -3.0307837184768524e-02 -4.3608938525025766e-02
|
||||
7 1.0396652127649081e-03 7.5317021954246196e-04 4.1930480907776011e-05
|
||||
8 6.4423457305213877e-03 1.1468835414812518e-03 6.8526191116136061e-04
|
||||
9 1.7585178109228492e+00 -4.3823551563819683e+00 -1.2468505588145766e+00
|
||||
10 1.3392700382201897e-01 -2.9471624976996433e-02 -9.0915578208389906e-03
|
||||
11 7.9839096035526878e-04 6.5881060273477888e-05 1.3840230606223551e-04
|
||||
12 1.8540711169000120e-04 3.9935505493718929e-04 1.2187452986589205e-04
|
||||
13 -1.4075050026169886e-01 1.8204883476184704e-02 -2.0674384501958810e-03
|
||||
14 -2.4452271394244688e-04 -5.7393635529214755e-05 1.6908863929994165e-05
|
||||
15 -3.4577717467029730e-03 -9.3350658134032588e-04 -1.5696623820874889e-03
|
||||
16 5.4762334392971725e+00 -3.3427628201841180e+00 5.8008787111000641e+00
|
||||
17 -1.7123087875076635e-02 1.5861563712562771e-02 -1.3049347364948664e-02
|
||||
18 1.1434938302418582e-01 8.6112942994291432e-03 2.0292892978926169e-02
|
||||
19 -3.8092989065812294e-02 -1.9963855292591683e-02 -9.8568020007968223e-03
|
||||
20 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
|
||||
21 4.1446743356056415e-02 8.4986882092498734e-03 -7.1565549648589480e-02
|
||||
22 -5.5269240273286284e+00 3.3665609275390551e+00 -5.7932229791606380e+00
|
||||
23 1.5450935830291834e-02 -1.0557581147017484e-01 -1.1539704280712981e-01
|
||||
24 -7.5222270706101302e-04 1.1318969997713211e-04 -9.2841932954143037e-04
|
||||
25 1.1778375109233723e-03 -7.1254208855309762e-05 3.8035457799329405e-03
|
||||
26 -1.6497221843622811e+00 4.4233264004281976e+00 1.2763820593322663e+00
|
||||
27 -1.3345796635606474e-01 3.6623792481486360e-02 -5.6711027332452278e-02
|
||||
...
|
||||
85
unittest/force-styles/tests/atomic-pair-colloid_multi.yaml
Normal file
85
unittest/force-styles/tests/atomic-pair-colloid_multi.yaml
Normal file
@ -0,0 +1,85 @@
|
||||
---
|
||||
lammps_version: 21 Jul 2020
|
||||
date_generated: Mon Aug 3 16:06:24 202
|
||||
epsilon: 5e-14
|
||||
prerequisites: ! |
|
||||
pair colloid
|
||||
pre_commands: ! |
|
||||
variable units index lj
|
||||
post_commands: ! |
|
||||
neighbor 1.0 multi
|
||||
comm_style brick
|
||||
comm_modify mode multi
|
||||
input_file: in.colloid
|
||||
pair_style: colloid 12.5
|
||||
pair_coeff: ! |
|
||||
1 1 1.0 1.0 5.0 5.0 12.5
|
||||
1 2 5.0 1.0 5.0 0.0 7.0
|
||||
2 2 10.0 1.0 0.0 0.0 2.5
|
||||
extract: ! ""
|
||||
natoms: 27
|
||||
init_vdwl: -0.250265293649414
|
||||
init_coul: 0
|
||||
init_stress: ! |2-
|
||||
1.6693554149342913e+00 1.1752557173260270e+01 1.0084916384631617e+00 -5.5164068587184527e+00 3.4448938909043431e-01 2.8524984331506258e+00
|
||||
init_forces: ! |2
|
||||
1 7.2698902368314056e-02 7.6228314794484775e-02 1.0726717051410484e-01
|
||||
2 -4.1487528743785314e-02 -9.8021436494101673e-03 1.5709289685835706e-01
|
||||
3 -6.4514052467860251e-03 -1.0256365723614392e-03 -6.5497018575823654e-04
|
||||
4 -1.5879716299045554e-02 -1.3313626328419375e-02 -1.1960220488237115e-02
|
||||
5 -3.6475105049685402e-02 -2.2992583864092257e-02 1.6166097759476136e-02
|
||||
6 5.4769180740248721e-04 -2.4426732691233789e-02 -3.6444902428178980e-02
|
||||
7 1.2006858444817004e-03 8.6089326153587114e-04 4.8033026817420977e-05
|
||||
8 6.2576206692511894e-03 1.1942031910109577e-03 8.5598267089392085e-04
|
||||
9 1.8304752931477772e+00 -4.3380838069003760e+00 -1.2763141904695217e+00
|
||||
10 1.0456768773213965e-01 -2.8797785965171453e-02 -1.0768387599117879e-02
|
||||
11 7.4457152913473112e-04 5.3043528596594623e-05 1.1848179655097060e-04
|
||||
12 1.8275344545112628e-04 4.1948901318387846e-04 9.8529270880004928e-05
|
||||
13 -1.1259391902077470e-01 1.6396787556459839e-02 -9.0455786475091124e-04
|
||||
14 -2.4411189619188785e-04 -5.8284002050384879e-05 1.8046434825690733e-05
|
||||
15 -2.9421019290851403e-03 -7.4831176382853144e-04 -1.2326238660052020e-03
|
||||
16 2.2461127490925330e+00 -1.1352527056039741e+00 2.3679980564815386e+00
|
||||
17 -1.8842133286566962e-02 1.7091738246445273e-02 -1.4247568288438442e-02
|
||||
18 1.0304762560041125e-01 7.8062023784307467e-03 1.9257495383127633e-02
|
||||
19 -4.3351162132476757e-02 -2.2995928402219718e-02 -1.1392806036292676e-02
|
||||
20 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
|
||||
21 4.2501672350519284e-02 6.8582908647593938e-03 -6.8677246013076107e-02
|
||||
22 -2.2945818607502839e+00 1.1603382884260454e+00 -2.3594708301087310e+00
|
||||
23 2.5606115583434265e-02 -1.0270997331622232e-01 -1.1451933998746673e-01
|
||||
24 -8.0648597970214809e-04 1.1943689027481706e-04 -9.8441554909815322e-04
|
||||
25 6.1663239781204458e-04 -2.9236784591333030e-04 3.5387752678593654e-03
|
||||
26 -1.7197958284241512e+00 4.3707144027711022e+00 1.2977194913045054e+00
|
||||
27 -1.4110864281012736e-01 4.2418795982941855e-02 -6.2606997884263993e-02
|
||||
run_vdwl: 0.0367090517931737
|
||||
run_coul: 0
|
||||
run_stress: ! |2-
|
||||
3.2547164843322691e+00 1.2822272288053391e+01 2.9381904014809663e+00 -6.5755478139675931e+00 2.3052669923975411e+00 1.5140903126232879e+00
|
||||
run_forces: ! |2
|
||||
1 5.8196197291625715e-02 7.7034242946349946e-02 1.0456829776646254e-01
|
||||
2 -4.1552988555246327e-02 -1.1540194679885485e-02 1.5467509805429100e-01
|
||||
3 -6.6558201800471870e-03 -9.8090417095619679e-04 -4.5870088099424396e-04
|
||||
4 -1.6184658518487705e-02 -1.2048418808706472e-02 -1.2190156970179262e-02
|
||||
5 -3.3316803862839438e-02 -2.1131495092834646e-02 1.4963198384123119e-02
|
||||
6 4.7038346343352116e-04 -3.0307837184768524e-02 -4.3608938525025766e-02
|
||||
7 1.0396652127649081e-03 7.5317021954246196e-04 4.1930480907776011e-05
|
||||
8 6.4423457305213877e-03 1.1468835414812518e-03 6.8526191116136061e-04
|
||||
9 1.7585178109228492e+00 -4.3823551563819700e+00 -1.2468505588145766e+00
|
||||
10 1.3392700382201897e-01 -2.9471624976996433e-02 -9.0915578208389906e-03
|
||||
11 7.9839096035526857e-04 6.5881060273478105e-05 1.3840230606223543e-04
|
||||
12 1.8540711169000120e-04 3.9935505493718929e-04 1.2187452986589205e-04
|
||||
13 -1.4075050026169886e-01 1.8204883476184704e-02 -2.0674384501958810e-03
|
||||
14 -2.4452271394244688e-04 -5.7393635529214755e-05 1.6908863929994165e-05
|
||||
15 -3.4577717467029726e-03 -9.3350658134032599e-04 -1.5696623820874889e-03
|
||||
16 5.4762334392971725e+00 -3.3427628201841184e+00 5.8008787111000641e+00
|
||||
17 -1.7123087875076635e-02 1.5861563712562771e-02 -1.3049347364948664e-02
|
||||
18 1.1434938302418582e-01 8.6112942994291432e-03 2.0292892978926169e-02
|
||||
19 -3.8092989065812294e-02 -1.9963855292591683e-02 -9.8568020007968223e-03
|
||||
20 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
|
||||
21 4.1446743356056415e-02 8.4986882092498717e-03 -7.1565549648589466e-02
|
||||
22 -5.5269240273286284e+00 3.3665609275390551e+00 -5.7932229791606371e+00
|
||||
23 1.5450935830291834e-02 -1.0557581147017484e-01 -1.1539704280712981e-01
|
||||
24 -7.5222270706101302e-04 1.1318969997713211e-04 -9.2841932954143037e-04
|
||||
25 1.1778375109233736e-03 -7.1254208855308434e-05 3.8035457799329383e-03
|
||||
26 -1.6497221843622811e+00 4.4233264004281976e+00 1.2763820593322663e+00
|
||||
27 -1.3345796635606427e-01 3.6623792481486235e-02 -5.6711027332452084e-02
|
||||
...
|
||||
@ -0,0 +1,86 @@
|
||||
---
|
||||
lammps_version: 21 Jul 2020
|
||||
date_generated: Mon Aug 3 22:40:52 202
|
||||
epsilon: 5e-13
|
||||
prerequisites: ! |
|
||||
pair colloid
|
||||
pre_commands: ! |
|
||||
variable units index lj
|
||||
post_commands: ! |
|
||||
neighbor 1.0 multi
|
||||
comm_style brick
|
||||
comm_modify mode multi
|
||||
change_box all triclinic
|
||||
input_file: in.colloid
|
||||
pair_style: colloid 12.5
|
||||
pair_coeff: ! |
|
||||
1 1 1.0 1.0 5.0 5.0 12.5
|
||||
1 2 5.0 1.0 5.0 0.0 7.0
|
||||
2 2 10.0 1.0 0.0 0.0 2.5
|
||||
extract: ! ""
|
||||
natoms: 27
|
||||
init_vdwl: -0.250265293649414
|
||||
init_coul: 0
|
||||
init_stress: ! |2-
|
||||
1.6693554149342911e+00 1.1752557173260259e+01 1.0084916384631786e+00 -5.5164068587184580e+00 3.4448938909043375e-01 2.8524984331506325e+00
|
||||
init_forces: ! |2
|
||||
1 7.2698902368313792e-02 7.6228314794484928e-02 1.0726717051410495e-01
|
||||
2 -4.1487528743785314e-02 -9.8021436494101673e-03 1.5709289685835706e-01
|
||||
3 -6.4514052467860251e-03 -1.0256365723614392e-03 -6.5497018575823654e-04
|
||||
4 -1.5879716299045554e-02 -1.3313626328419375e-02 -1.1960220488237115e-02
|
||||
5 -3.6475105049685402e-02 -2.2992583864092257e-02 1.6166097759476136e-02
|
||||
6 5.4769180740244731e-04 -2.4426732691233955e-02 -3.6444902428179146e-02
|
||||
7 1.2006858444817004e-03 8.6089326153587114e-04 4.8033026817420977e-05
|
||||
8 6.2576206692511894e-03 1.1942031910109575e-03 8.5598267089392129e-04
|
||||
9 1.8304752931477772e+00 -4.3380838069003751e+00 -1.2763141904695217e+00
|
||||
10 1.0456768773213966e-01 -2.8797785965171449e-02 -1.0768387599117872e-02
|
||||
11 7.4457152913473068e-04 5.3043528596594895e-05 1.1848179655097051e-04
|
||||
12 1.8275344545112628e-04 4.1948901318387846e-04 9.8529270880004928e-05
|
||||
13 -1.1259391902077470e-01 1.6396787556459836e-02 -9.0455786475091167e-04
|
||||
14 -2.4411189619188755e-04 -5.8284002050384791e-05 1.8046434825690706e-05
|
||||
15 -2.9421019290851403e-03 -7.4831176382853144e-04 -1.2326238660052020e-03
|
||||
16 2.2461127490925330e+00 -1.1352527056039741e+00 2.3679980564815390e+00
|
||||
17 -1.8842133286566962e-02 1.7091738246445273e-02 -1.4247568288438442e-02
|
||||
18 1.0304762560041145e-01 7.8062023784307155e-03 1.9257495383127543e-02
|
||||
19 -4.3351162132476757e-02 -2.2995928402219718e-02 -1.1392806036292676e-02
|
||||
20 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
|
||||
21 4.2501672350519284e-02 6.8582908647593982e-03 -6.8677246013076107e-02
|
||||
22 -2.2945818607502835e+00 1.1603382884260451e+00 -2.3594708301087310e+00
|
||||
23 2.5606115583434334e-02 -1.0270997331622238e-01 -1.1451933998746676e-01
|
||||
24 -8.0648597970214874e-04 1.1943689027481719e-04 -9.8441554909815452e-04
|
||||
25 6.1663239781204458e-04 -2.9236784591333030e-04 3.5387752678593654e-03
|
||||
26 -1.7197958284241512e+00 4.3707144027711022e+00 1.2977194913045054e+00
|
||||
27 -1.4110864281012736e-01 4.2418795982941855e-02 -6.2606997884263993e-02
|
||||
run_vdwl: 0.0367090517931635
|
||||
run_coul: 0
|
||||
run_stress: ! |2-
|
||||
3.2547164843321998e+00 1.2822272288053016e+01 2.9381904014809583e+00 -6.5755478139674493e+00 2.3052669923975677e+00 1.5140903126232053e+00
|
||||
run_forces: ! |2
|
||||
1 5.8196197291626575e-02 7.7034242946349710e-02 1.0456829776646283e-01
|
||||
2 -4.1552988555246369e-02 -1.1540194679885474e-02 1.5467509805429086e-01
|
||||
3 -6.6558201800471888e-03 -9.8090417095619570e-04 -4.5870088099424298e-04
|
||||
4 -1.6184658518487716e-02 -1.2048418808706531e-02 -1.2190156970179285e-02
|
||||
5 -3.3316803862839500e-02 -2.1131495092834723e-02 1.4963198384123161e-02
|
||||
6 4.7038346343351856e-04 -3.0307837184768479e-02 -4.3608938525025828e-02
|
||||
7 1.0396652127649044e-03 7.5317021954245870e-04 4.1930480907775929e-05
|
||||
8 6.4423457305213851e-03 1.1468835414812505e-03 6.8526191116135909e-04
|
||||
9 1.7585178109228026e+00 -4.3823551563818404e+00 -1.2468505588145364e+00
|
||||
10 1.3392700382201883e-01 -2.9471624976996413e-02 -9.0915578208389941e-03
|
||||
11 7.9839096035526651e-04 6.5881060273478051e-05 1.3840230606223500e-04
|
||||
12 1.8540711168999979e-04 3.9935505493719320e-04 1.2187452986588761e-04
|
||||
13 -1.4075050026169872e-01 1.8204883476184680e-02 -2.0674384501958849e-03
|
||||
14 -2.4452271394244732e-04 -5.7393635529214925e-05 1.6908863929994199e-05
|
||||
15 -3.4577717467029808e-03 -9.3350658134032805e-04 -1.5696623820874909e-03
|
||||
16 5.4762334392971521e+00 -3.3427628201841029e+00 5.8008787111000384e+00
|
||||
17 -1.7123087875076739e-02 1.5861563712562882e-02 -1.3049347364948762e-02
|
||||
18 1.1434938302418579e-01 8.6112942994289246e-03 2.0292892978925857e-02
|
||||
19 -3.8092989065812349e-02 -1.9963855292591714e-02 -9.8568020007968171e-03
|
||||
20 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
|
||||
21 4.1446743356056477e-02 8.4986882092497468e-03 -7.1565549648589286e-02
|
||||
22 -5.5269240273286080e+00 3.3665609275390400e+00 -5.7932229791606122e+00
|
||||
23 1.5450935830291862e-02 -1.0557581147017453e-01 -1.1539704280712934e-01
|
||||
24 -7.5222270706101790e-04 1.1318969997713260e-04 -9.2841932954143699e-04
|
||||
25 1.1778375109233756e-03 -7.1254208855309979e-05 3.8035457799329474e-03
|
||||
26 -1.6497221843622341e+00 4.4233264004280688e+00 1.2763820593322264e+00
|
||||
27 -1.3345796635606499e-01 3.6623792481486409e-02 -5.6711027332452466e-02
|
||||
...
|
||||
85
unittest/force-styles/tests/atomic-pair-colloid_tiled.yaml
Normal file
85
unittest/force-styles/tests/atomic-pair-colloid_tiled.yaml
Normal file
@ -0,0 +1,85 @@
|
||||
---
|
||||
lammps_version: 21 Jul 2020
|
||||
date_generated: Mon Aug 3 16:06:24 202
|
||||
epsilon: 5e-14
|
||||
prerequisites: ! |
|
||||
pair colloid
|
||||
pre_commands: ! |
|
||||
variable units index lj
|
||||
post_commands: ! |
|
||||
neighbor 1.0 multi
|
||||
comm_style tiled
|
||||
comm_modify mode multi
|
||||
input_file: in.colloid
|
||||
pair_style: colloid 12.5
|
||||
pair_coeff: ! |
|
||||
1 1 1.0 1.0 5.0 5.0 12.5
|
||||
1 2 5.0 1.0 5.0 0.0 7.0
|
||||
2 2 10.0 1.0 0.0 0.0 2.5
|
||||
extract: ! ""
|
||||
natoms: 27
|
||||
init_vdwl: -0.250265293649414
|
||||
init_coul: 0
|
||||
init_stress: ! |2-
|
||||
1.6693554149342913e+00 1.1752557173260270e+01 1.0084916384631617e+00 -5.5164068587184527e+00 3.4448938909043431e-01 2.8524984331506258e+00
|
||||
init_forces: ! |2
|
||||
1 7.2698902368314056e-02 7.6228314794484775e-02 1.0726717051410484e-01
|
||||
2 -4.1487528743785314e-02 -9.8021436494101673e-03 1.5709289685835706e-01
|
||||
3 -6.4514052467860251e-03 -1.0256365723614392e-03 -6.5497018575823654e-04
|
||||
4 -1.5879716299045554e-02 -1.3313626328419375e-02 -1.1960220488237115e-02
|
||||
5 -3.6475105049685402e-02 -2.2992583864092257e-02 1.6166097759476136e-02
|
||||
6 5.4769180740248721e-04 -2.4426732691233789e-02 -3.6444902428178980e-02
|
||||
7 1.2006858444817004e-03 8.6089326153587114e-04 4.8033026817420977e-05
|
||||
8 6.2576206692511894e-03 1.1942031910109577e-03 8.5598267089392085e-04
|
||||
9 1.8304752931477772e+00 -4.3380838069003760e+00 -1.2763141904695217e+00
|
||||
10 1.0456768773213965e-01 -2.8797785965171453e-02 -1.0768387599117879e-02
|
||||
11 7.4457152913473112e-04 5.3043528596594623e-05 1.1848179655097060e-04
|
||||
12 1.8275344545112628e-04 4.1948901318387846e-04 9.8529270880004928e-05
|
||||
13 -1.1259391902077470e-01 1.6396787556459839e-02 -9.0455786475091124e-04
|
||||
14 -2.4411189619188785e-04 -5.8284002050384879e-05 1.8046434825690733e-05
|
||||
15 -2.9421019290851403e-03 -7.4831176382853144e-04 -1.2326238660052020e-03
|
||||
16 2.2461127490925330e+00 -1.1352527056039741e+00 2.3679980564815386e+00
|
||||
17 -1.8842133286566962e-02 1.7091738246445273e-02 -1.4247568288438442e-02
|
||||
18 1.0304762560041125e-01 7.8062023784307467e-03 1.9257495383127633e-02
|
||||
19 -4.3351162132476757e-02 -2.2995928402219718e-02 -1.1392806036292676e-02
|
||||
20 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
|
||||
21 4.2501672350519284e-02 6.8582908647593938e-03 -6.8677246013076107e-02
|
||||
22 -2.2945818607502839e+00 1.1603382884260454e+00 -2.3594708301087310e+00
|
||||
23 2.5606115583434265e-02 -1.0270997331622232e-01 -1.1451933998746673e-01
|
||||
24 -8.0648597970214809e-04 1.1943689027481706e-04 -9.8441554909815322e-04
|
||||
25 6.1663239781204458e-04 -2.9236784591333030e-04 3.5387752678593654e-03
|
||||
26 -1.7197958284241512e+00 4.3707144027711022e+00 1.2977194913045054e+00
|
||||
27 -1.4110864281012736e-01 4.2418795982941855e-02 -6.2606997884263993e-02
|
||||
run_vdwl: 0.0367090517931737
|
||||
run_coul: 0
|
||||
run_stress: ! |2-
|
||||
3.2547164843322691e+00 1.2822272288053391e+01 2.9381904014809663e+00 -6.5755478139675931e+00 2.3052669923975411e+00 1.5140903126232879e+00
|
||||
run_forces: ! |2
|
||||
1 5.8196197291625715e-02 7.7034242946349946e-02 1.0456829776646254e-01
|
||||
2 -4.1552988555246327e-02 -1.1540194679885485e-02 1.5467509805429100e-01
|
||||
3 -6.6558201800471870e-03 -9.8090417095619679e-04 -4.5870088099424396e-04
|
||||
4 -1.6184658518487705e-02 -1.2048418808706472e-02 -1.2190156970179262e-02
|
||||
5 -3.3316803862839438e-02 -2.1131495092834646e-02 1.4963198384123119e-02
|
||||
6 4.7038346343352116e-04 -3.0307837184768524e-02 -4.3608938525025766e-02
|
||||
7 1.0396652127649081e-03 7.5317021954246196e-04 4.1930480907776011e-05
|
||||
8 6.4423457305213877e-03 1.1468835414812518e-03 6.8526191116136061e-04
|
||||
9 1.7585178109228492e+00 -4.3823551563819700e+00 -1.2468505588145766e+00
|
||||
10 1.3392700382201897e-01 -2.9471624976996433e-02 -9.0915578208389906e-03
|
||||
11 7.9839096035526857e-04 6.5881060273478105e-05 1.3840230606223543e-04
|
||||
12 1.8540711169000120e-04 3.9935505493718929e-04 1.2187452986589205e-04
|
||||
13 -1.4075050026169886e-01 1.8204883476184704e-02 -2.0674384501958810e-03
|
||||
14 -2.4452271394244688e-04 -5.7393635529214755e-05 1.6908863929994165e-05
|
||||
15 -3.4577717467029726e-03 -9.3350658134032599e-04 -1.5696623820874889e-03
|
||||
16 5.4762334392971725e+00 -3.3427628201841184e+00 5.8008787111000641e+00
|
||||
17 -1.7123087875076635e-02 1.5861563712562771e-02 -1.3049347364948664e-02
|
||||
18 1.1434938302418582e-01 8.6112942994291432e-03 2.0292892978926169e-02
|
||||
19 -3.8092989065812294e-02 -1.9963855292591683e-02 -9.8568020007968223e-03
|
||||
20 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
|
||||
21 4.1446743356056415e-02 8.4986882092498717e-03 -7.1565549648589466e-02
|
||||
22 -5.5269240273286284e+00 3.3665609275390551e+00 -5.7932229791606371e+00
|
||||
23 1.5450935830291834e-02 -1.0557581147017484e-01 -1.1539704280712981e-01
|
||||
24 -7.5222270706101302e-04 1.1318969997713211e-04 -9.2841932954143037e-04
|
||||
25 1.1778375109233736e-03 -7.1254208855308434e-05 3.8035457799329383e-03
|
||||
26 -1.6497221843622811e+00 4.4233264004281976e+00 1.2763820593322663e+00
|
||||
27 -1.3345796635606427e-01 3.6623792481486235e-02 -5.6711027332452084e-02
|
||||
...
|
||||
@ -0,0 +1,86 @@
|
||||
---
|
||||
lammps_version: 21 Jul 2020
|
||||
date_generated: Mon Aug 3 22:40:52 202
|
||||
epsilon: 5e-13
|
||||
prerequisites: ! |
|
||||
pair colloid
|
||||
pre_commands: ! |
|
||||
variable units index lj
|
||||
post_commands: ! |
|
||||
neighbor 1.0 multi
|
||||
comm_style tiled
|
||||
comm_modify mode multi
|
||||
change_box all triclinic
|
||||
input_file: in.colloid
|
||||
pair_style: colloid 12.5
|
||||
pair_coeff: ! |
|
||||
1 1 1.0 1.0 5.0 5.0 12.5
|
||||
1 2 5.0 1.0 5.0 0.0 7.0
|
||||
2 2 10.0 1.0 0.0 0.0 2.5
|
||||
extract: ! ""
|
||||
natoms: 27
|
||||
init_vdwl: -0.250265293649414
|
||||
init_coul: 0
|
||||
init_stress: ! |2-
|
||||
1.6693554149342911e+00 1.1752557173260259e+01 1.0084916384631786e+00 -5.5164068587184580e+00 3.4448938909043375e-01 2.8524984331506325e+00
|
||||
init_forces: ! |2
|
||||
1 7.2698902368313792e-02 7.6228314794484928e-02 1.0726717051410495e-01
|
||||
2 -4.1487528743785314e-02 -9.8021436494101673e-03 1.5709289685835706e-01
|
||||
3 -6.4514052467860251e-03 -1.0256365723614392e-03 -6.5497018575823654e-04
|
||||
4 -1.5879716299045554e-02 -1.3313626328419375e-02 -1.1960220488237115e-02
|
||||
5 -3.6475105049685402e-02 -2.2992583864092257e-02 1.6166097759476136e-02
|
||||
6 5.4769180740244731e-04 -2.4426732691233955e-02 -3.6444902428179146e-02
|
||||
7 1.2006858444817004e-03 8.6089326153587114e-04 4.8033026817420977e-05
|
||||
8 6.2576206692511894e-03 1.1942031910109575e-03 8.5598267089392129e-04
|
||||
9 1.8304752931477772e+00 -4.3380838069003751e+00 -1.2763141904695217e+00
|
||||
10 1.0456768773213966e-01 -2.8797785965171449e-02 -1.0768387599117872e-02
|
||||
11 7.4457152913473068e-04 5.3043528596594895e-05 1.1848179655097051e-04
|
||||
12 1.8275344545112628e-04 4.1948901318387846e-04 9.8529270880004928e-05
|
||||
13 -1.1259391902077470e-01 1.6396787556459836e-02 -9.0455786475091167e-04
|
||||
14 -2.4411189619188755e-04 -5.8284002050384791e-05 1.8046434825690706e-05
|
||||
15 -2.9421019290851403e-03 -7.4831176382853144e-04 -1.2326238660052020e-03
|
||||
16 2.2461127490925330e+00 -1.1352527056039741e+00 2.3679980564815390e+00
|
||||
17 -1.8842133286566962e-02 1.7091738246445273e-02 -1.4247568288438442e-02
|
||||
18 1.0304762560041145e-01 7.8062023784307155e-03 1.9257495383127543e-02
|
||||
19 -4.3351162132476757e-02 -2.2995928402219718e-02 -1.1392806036292676e-02
|
||||
20 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
|
||||
21 4.2501672350519284e-02 6.8582908647593982e-03 -6.8677246013076107e-02
|
||||
22 -2.2945818607502835e+00 1.1603382884260451e+00 -2.3594708301087310e+00
|
||||
23 2.5606115583434334e-02 -1.0270997331622238e-01 -1.1451933998746676e-01
|
||||
24 -8.0648597970214874e-04 1.1943689027481719e-04 -9.8441554909815452e-04
|
||||
25 6.1663239781204458e-04 -2.9236784591333030e-04 3.5387752678593654e-03
|
||||
26 -1.7197958284241512e+00 4.3707144027711022e+00 1.2977194913045054e+00
|
||||
27 -1.4110864281012736e-01 4.2418795982941855e-02 -6.2606997884263993e-02
|
||||
run_vdwl: 0.0367090517931635
|
||||
run_coul: 0
|
||||
run_stress: ! |2-
|
||||
3.2547164843321998e+00 1.2822272288053016e+01 2.9381904014809583e+00 -6.5755478139674493e+00 2.3052669923975677e+00 1.5140903126232053e+00
|
||||
run_forces: ! |2
|
||||
1 5.8196197291626575e-02 7.7034242946349710e-02 1.0456829776646283e-01
|
||||
2 -4.1552988555246369e-02 -1.1540194679885474e-02 1.5467509805429086e-01
|
||||
3 -6.6558201800471888e-03 -9.8090417095619570e-04 -4.5870088099424298e-04
|
||||
4 -1.6184658518487716e-02 -1.2048418808706531e-02 -1.2190156970179285e-02
|
||||
5 -3.3316803862839500e-02 -2.1131495092834723e-02 1.4963198384123161e-02
|
||||
6 4.7038346343351856e-04 -3.0307837184768479e-02 -4.3608938525025828e-02
|
||||
7 1.0396652127649044e-03 7.5317021954245870e-04 4.1930480907775929e-05
|
||||
8 6.4423457305213851e-03 1.1468835414812505e-03 6.8526191116135909e-04
|
||||
9 1.7585178109228026e+00 -4.3823551563818404e+00 -1.2468505588145364e+00
|
||||
10 1.3392700382201883e-01 -2.9471624976996413e-02 -9.0915578208389941e-03
|
||||
11 7.9839096035526651e-04 6.5881060273478051e-05 1.3840230606223500e-04
|
||||
12 1.8540711168999979e-04 3.9935505493719320e-04 1.2187452986588761e-04
|
||||
13 -1.4075050026169872e-01 1.8204883476184680e-02 -2.0674384501958849e-03
|
||||
14 -2.4452271394244732e-04 -5.7393635529214925e-05 1.6908863929994199e-05
|
||||
15 -3.4577717467029808e-03 -9.3350658134032805e-04 -1.5696623820874909e-03
|
||||
16 5.4762334392971521e+00 -3.3427628201841029e+00 5.8008787111000384e+00
|
||||
17 -1.7123087875076739e-02 1.5861563712562882e-02 -1.3049347364948762e-02
|
||||
18 1.1434938302418579e-01 8.6112942994289246e-03 2.0292892978925857e-02
|
||||
19 -3.8092989065812349e-02 -1.9963855292591714e-02 -9.8568020007968171e-03
|
||||
20 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
|
||||
21 4.1446743356056477e-02 8.4986882092497468e-03 -7.1565549648589286e-02
|
||||
22 -5.5269240273286080e+00 3.3665609275390400e+00 -5.7932229791606122e+00
|
||||
23 1.5450935830291862e-02 -1.0557581147017453e-01 -1.1539704280712934e-01
|
||||
24 -7.5222270706101790e-04 1.1318969997713260e-04 -9.2841932954143699e-04
|
||||
25 1.1778375109233756e-03 -7.1254208855309979e-05 3.8035457799329474e-03
|
||||
26 -1.6497221843622341e+00 4.4233264004280688e+00 1.2763820593322264e+00
|
||||
27 -1.3345796635606499e-01 3.6623792481486409e-02 -5.6711027332452466e-02
|
||||
...
|
||||
73
unittest/force-styles/tests/data.colloid
Normal file
73
unittest/force-styles/tests/data.colloid
Normal file
@ -0,0 +1,73 @@
|
||||
LAMMPS data file via write_data, version 21 Jul 2020, timestep = 5000
|
||||
|
||||
27 atoms
|
||||
2 atom types
|
||||
|
||||
-0.2436910920596036 13.743691092059596 xlo xhi
|
||||
-0.2436910920596036 13.743691092059596 ylo yhi
|
||||
-0.2436910920596036 13.743691092059596 zlo zhi
|
||||
|
||||
Masses
|
||||
|
||||
1 9
|
||||
2 1
|
||||
|
||||
Atoms # atomic
|
||||
|
||||
21 1 8.218284363111994 3.8616496369708644 3.926644621675435 0 0 1
|
||||
14 2 3.971804908882051 12.196374430867266 11.800922980362827 1 -1 2
|
||||
4 2 12.749633950530594 0.2895775102974337 13.665118030342807 1 0 -4
|
||||
6 2 10.48479135210438 0.7314009568199128 0.20579559916130968 0 0 -1
|
||||
11 2 6.370393143436297 0.7506711988180665 11.228922122628624 -1 1 0
|
||||
16 2 1.781613249220567 9.315352564201742 13.003045928765761 1 -1 -1
|
||||
15 2 2.5907208520939946 7.092392808241224 9.564419981414446 -2 0 -1
|
||||
10 2 2.06473035593474 10.936583460926354 0.2143993310674837 1 -2 2
|
||||
17 2 10.89572436719935 1.4615862891785334 5.9966656418333475 -3 -2 0
|
||||
12 2 8.989180695332816 13.155343018320753 7.380136516456334 3 -2 -1
|
||||
23 2 9.679726091492721 5.587125576488552 0.5505405659916122 0 1 -1
|
||||
26 2 10.150200745369286 13.451068779020826 13.1305422632724 0 0 -2
|
||||
27 2 0.5854518735680864 3.3706426419449973 13.20338885987352 3 3 -4
|
||||
2 2 12.401535589626157 4.499183730038622 8.453939258351905 0 -2 0
|
||||
9 1 11.284839488845652 10.602811415241838 12.294336783300636 0 0 -1
|
||||
7 2 3.67365214779975 0.6031426192504774 3.744838163244472 -1 0 -3
|
||||
25 2 0.580286149741973 6.5570299426679615 8.204514419385035 2 -1 1
|
||||
5 2 0.4370415403230168 12.62671878288036 10.900794906743482 -3 1 -2
|
||||
20 2 0.5960686789505689 -0.03029382390167784 6.650651587937794 1 -1 -2
|
||||
3 2 2.4025882097830804 3.537273393359948 6.539574857512142 -1 1 -1
|
||||
8 2 0.2515454304433808 3.209093417679412 6.394794043739663 1 1 0
|
||||
24 2 0.8855320855058237 10.07143392738017 2.6866421503905222 0 0 0
|
||||
22 2 1.1569993715184617 9.633923152653242 12.34752906065215 -2 0 2
|
||||
1 1 11.516625939770336 4.289372112043943 11.847412277845446 -1 -1 -1
|
||||
13 2 3.4573289217000625 10.709357504995712 0.2070680620433607 -3 1 2
|
||||
18 2 8.388010639142333 4.8343459387085295 0.022914514686456666 0 2 2
|
||||
19 2 0.8904095150489832 6.178968410953466 12.739150191807628 -2 -2 1
|
||||
|
||||
Velocities
|
||||
|
||||
21 0.5108629151801364 0.5071783225038178 0.038121513505701005
|
||||
14 0.04442371287433498 -0.9592694013198345 1.2892900869531516
|
||||
4 -0.2178346847645286 0.6098857389317441 -0.11034167964068448
|
||||
6 -0.1576695048262709 -1.2130499080058224 -1.532174167207837
|
||||
11 2.8099374837612547 -0.04484558137222933 -2.949735057364872
|
||||
16 -2.514269472184712 0.8600214136555172 -1.334072825855178
|
||||
15 -1.9716757999689132 0.34144027670649985 -1.289546613298351
|
||||
10 1.593221282752536 -1.4854596141900234 -0.5931052285995597
|
||||
17 0.30576221579017154 -1.7264461829362503 0.9151292837107401
|
||||
12 1.856996336103833 1.2171769820936116 0.7446116107611583
|
||||
23 0.6826664104612703 -1.2226601048696837 -0.575337461330738
|
||||
26 2.060350188652742 1.4611540801166607 -1.2802524060106233
|
||||
27 0.249900902388907 2.388571043902052 -1.8492601452320174
|
||||
2 0.2605802271656383 0.7180097106986123 0.23261242169201765
|
||||
9 -0.34764522027409256 0.3030477382656852 -0.27629534212658624
|
||||
7 -2.269133408440061 -3.1960327319813473 -0.148176086091223
|
||||
25 1.1175412259994884 -0.5507974421930979 1.1903914944413345
|
||||
5 0.20657924357863497 1.6144987892387104 -1.4640329026812684
|
||||
20 0.0590579871685183 -0.24749314593051103 -1.104019292812069
|
||||
3 -0.5186327771760407 0.5748836420503801 -1.1735732476681855
|
||||
8 -0.4437666044968981 1.7357347488421837 1.9514880021657892
|
||||
24 -0.28726920313585036 -0.13725286038541634 2.2362521378373943
|
||||
22 0.07031578857583798 2.4612824702440497 1.159670483206302
|
||||
1 -0.6115443594925424 -1.3770574953178165 0.6488398210995187
|
||||
13 -1.7087317711505776 1.2667666619290276 0.6879911689583401
|
||||
18 1.023336469072999 1.4409480361581861 0.7015199009707059
|
||||
19 1.783253733076145 -0.8055837104480024 0.5986765907881554
|
||||
16
unittest/force-styles/tests/in.colloid
Normal file
16
unittest/force-styles/tests/in.colloid
Normal file
@ -0,0 +1,16 @@
|
||||
variable newton_pair index on
|
||||
variable newton_bond index on
|
||||
variable units index lj
|
||||
variable input_dir index .
|
||||
variable data_file index ${input_dir}/data.colloid
|
||||
variable pair_style index 'zero 8.0'
|
||||
|
||||
atom_style atomic
|
||||
atom_modify map array
|
||||
neigh_modify delay 2 every 2 check no
|
||||
timestep 0.01
|
||||
units ${units}
|
||||
newton ${newton_pair} ${newton_bond}
|
||||
|
||||
pair_style ${pair_style}
|
||||
read_data ${data_file}
|
||||
Reference in New Issue
Block a user