reformat, simplify, add reference log files

This commit is contained in:
Axel Kohlmeyer 2021-07-29 15:40:43 -04:00
parent b108da3e5c
commit c49a533ad9
No known key found for this signature in database
GPG Key ID: D9B44E93BF0C375A
5 changed files with 348 additions and 41 deletions

View File

@ -35,8 +35,8 @@ thermo_style custom step temp pe v_nPotEng press atoms v_natoms lx ly lz
fix 1 all nve fix 1 all nve
timestep 0.01 timestep 0.01
restart 500 mid-run-*.restart #restart 500 mid-run-*.restart
run 1000 run 1000
write_restart end-run.restart #write_restart end-run.restart

View File

@ -0,0 +1,156 @@
LAMMPS (28 Jul 2021)
using 1 OpenMP thread(s) per MPI task
units lj
atom_style full
boundary p p p
special_bonds lj/coul 1 1 1
newton on on
# save an extra atom type for bond particles
read_data data.chain
Reading data file ...
orthogonal box = (0.0000000 0.0000000 0.0000000) to (10.000000 10.000000 10.000000)
1 by 1 by 1 MPI processor grid
reading atoms ...
3000 atoms
reading velocities ...
3000 velocities
scanning bonds ...
1 = max bonds/atom
reading bonds ...
2700 bonds
Finding 1-2 1-3 1-4 neighbors ...
special bond factors lj: 1 1 1
special bond factors coul: 1 1 1
2 = max # of 1-2 neighbors
2 = max # of special neighbors
special bonds CPU = 0.000 seconds
read_data CPU = 0.013 seconds
neighbor 2.0 bin
neigh_modify every 10 check yes
bond_style harmonic
bond_coeff * 225.0 0.85
comm_modify vel yes
comm_modify cutoff 3.6
# must use pair hybrid, since srp bond particles
# do not interact with other atoms types
pair_style hybrid dpd 1.0 1.0 373692 srp 0.8 1 mid
pair_coeff 1 1 dpd 60.0 4.5 1.0
pair_coeff 1 2 none
pair_coeff 2 2 srp 100.0
# auto normalization of thermo quantities is turned off by pair srp
# just divide by natoms
variable natoms equal count(all)
variable nPotEng equal c_thermo_pe/v_natoms
thermo 50
thermo_style custom step temp pe v_nPotEng press atoms v_natoms lx ly lz
fix 1 all nve
timestep 0.01
#restart 500 mid-run-*.restart
run 1000
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- @Article{Sirk2012
author = {T. Sirk and Y. Sliozberg and J. Brennan and M. Lisal and J. Andzelm},
title = {An enhanced entangled polymer model for dissipative particle dynamics},
journal = {J.~Chem.~Phys.},
year = 2012,
volume = 136,
pages = {134903}
}
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Using type 2 for bond particles
Thermo normalization turned off by pair srp (src/MISC/pair_srp.cpp:486)
Neighbor list info ...
update every 10 steps, delay 10 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 3
ghost atom cutoff = 3.6
binsize = 1.5, bins = 7 7 7
3 neighbor lists, perpetual/occasional/extra = 3 0 0
(1) pair dpd, perpetual, skip from (3)
attributes: half, newton on
pair build: skip
stencil: none
bin: none
(2) pair srp, perpetual, skip from (3)
attributes: half, newton on
pair build: skip
stencil: none
bin: none
(3) neighbor class addition, perpetual
attributes: half, newton on
pair build: half/bin/newton
stencil: half/bin/3d
bin: standard
Removed/inserted 0/2700 bond particles. (src/MISC/fix_srp.cpp:250)
Per MPI rank memory allocation (min/avg/max) = 21.70 | 21.70 | 21.70 Mbytes
Step Temp PotEng v_nPotEng Press Atoms v_natoms Lx Ly Lz
0 0.98262092 31772.336 10.590779 60.690437 5700 3000 10 10 10
50 0.99678169 31789.37 10.596457 61.967133 5700 3000 10 10 10
100 1.016953 31770.946 10.590315 61.808425 5700 3000 10 10 10
150 1.0151677 31737.965 10.579322 61.034423 5700 3000 10 10 10
200 0.99241972 31766.458 10.588819 60.99902 5700 3000 10 10 10
250 1.0101747 31816.098 10.605366 61.484391 5700 3000 10 10 10
300 1.0058287 31824.98 10.608327 60.656545 5700 3000 10 10 10
350 1.0093409 31839.963 10.613321 61.485931 5700 3000 10 10 10
400 1.029692 31713.44 10.571147 61.442428 5700 3000 10 10 10
450 1.0292264 31739.234 10.579745 61.026996 5700 3000 10 10 10
500 1.0141131 31796.032 10.598677 61.099407 5700 3000 10 10 10
550 0.99860738 31887.879 10.629293 61.412249 5700 3000 10 10 10
600 1.0104436 31830.675 10.610225 60.725018 5700 3000 10 10 10
650 1.0060939 31871.441 10.623814 61.12217 5700 3000 10 10 10
700 1.0394405 31724.09 10.574697 60.652294 5700 3000 10 10 10
750 1.0094386 31827.328 10.609109 61.274573 5700 3000 10 10 10
800 0.99986353 31777.205 10.592402 60.652922 5700 3000 10 10 10
850 0.9762615 31752.585 10.584195 61.448972 5700 3000 10 10 10
900 0.99324534 31794.723 10.598241 61.191199 5700 3000 10 10 10
950 1.0139717 31719.123 10.573041 61.876053 5700 3000 10 10 10
1000 0.99850758 31774.801 10.5916 60.960607 5700 3000 10 10 10
Deleted 2700 atoms, new total = 3000
Loop time of 6.54135 on 1 procs for 1000 steps with 3000 atoms
Performance: 132082.911 tau/day, 152.874 timesteps/s
99.9% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 4.5403 | 4.5403 | 4.5403 | 0.0 | 69.41
Bond | 0.030682 | 0.030682 | 0.030682 | 0.0 | 0.47
Neigh | 1.7065 | 1.7065 | 1.7065 | 0.0 | 26.09
Comm | 0.20647 | 0.20647 | 0.20647 | 0.0 | 3.16
Output | 0.00084543 | 0.00084543 | 0.00084543 | 0.0 | 0.01
Modify | 0.034479 | 0.034479 | 0.034479 | 0.0 | 0.53
Other | | 0.022 | | | 0.34
Nlocal: 3000.00 ave 3000 max 3000 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 12269.0 ave 12269 max 12269 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 0.00000 ave 0 max 0 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 0
Ave neighs/atom = 0.0000000
Ave special neighs/atom = 1.8000000
Neighbor list builds = 21
Dangerous builds = 0
#write_restart end-run.restart
Total wall time: 0:00:06

View File

@ -0,0 +1,156 @@
LAMMPS (28 Jul 2021)
using 1 OpenMP thread(s) per MPI task
units lj
atom_style full
boundary p p p
special_bonds lj/coul 1 1 1
newton on on
# save an extra atom type for bond particles
read_data data.chain
Reading data file ...
orthogonal box = (0.0000000 0.0000000 0.0000000) to (10.000000 10.000000 10.000000)
1 by 2 by 2 MPI processor grid
reading atoms ...
3000 atoms
reading velocities ...
3000 velocities
scanning bonds ...
1 = max bonds/atom
reading bonds ...
2700 bonds
Finding 1-2 1-3 1-4 neighbors ...
special bond factors lj: 1 1 1
special bond factors coul: 1 1 1
2 = max # of 1-2 neighbors
2 = max # of special neighbors
special bonds CPU = 0.000 seconds
read_data CPU = 0.011 seconds
neighbor 2.0 bin
neigh_modify every 10 check yes
bond_style harmonic
bond_coeff * 225.0 0.85
comm_modify vel yes
comm_modify cutoff 3.6
# must use pair hybrid, since srp bond particles
# do not interact with other atoms types
pair_style hybrid dpd 1.0 1.0 373692 srp 0.8 1 mid
pair_coeff 1 1 dpd 60.0 4.5 1.0
pair_coeff 1 2 none
pair_coeff 2 2 srp 100.0
# auto normalization of thermo quantities is turned off by pair srp
# just divide by natoms
variable natoms equal count(all)
variable nPotEng equal c_thermo_pe/v_natoms
thermo 50
thermo_style custom step temp pe v_nPotEng press atoms v_natoms lx ly lz
fix 1 all nve
timestep 0.01
#restart 500 mid-run-*.restart
run 1000
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- @Article{Sirk2012
author = {T. Sirk and Y. Sliozberg and J. Brennan and M. Lisal and J. Andzelm},
title = {An enhanced entangled polymer model for dissipative particle dynamics},
journal = {J.~Chem.~Phys.},
year = 2012,
volume = 136,
pages = {134903}
}
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Using type 2 for bond particles
Thermo normalization turned off by pair srp (src/MISC/pair_srp.cpp:486)
Neighbor list info ...
update every 10 steps, delay 10 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 3
ghost atom cutoff = 3.6
binsize = 1.5, bins = 7 7 7
3 neighbor lists, perpetual/occasional/extra = 3 0 0
(1) pair dpd, perpetual, skip from (3)
attributes: half, newton on
pair build: skip
stencil: none
bin: none
(2) pair srp, perpetual, skip from (3)
attributes: half, newton on
pair build: skip
stencil: none
bin: none
(3) neighbor class addition, perpetual
attributes: half, newton on
pair build: half/bin/newton
stencil: half/bin/3d
bin: standard
Removed/inserted 0/2700 bond particles. (src/MISC/fix_srp.cpp:250)
Per MPI rank memory allocation (min/avg/max) = 10.35 | 10.35 | 10.35 Mbytes
Step Temp PotEng v_nPotEng Press Atoms v_natoms Lx Ly Lz
0 0.98262092 31772.336 10.590779 60.908146 5700 3000 10 10 10
50 1.0094645 31632.293 10.544098 61.107394 5700 3000 10 10 10
100 1.0067657 31633.525 10.544508 61.721089 5700 3000 10 10 10
150 0.99163624 31751.06 10.583687 60.437789 5700 3000 10 10 10
200 0.98701756 31674.754 10.558251 60.897782 5700 3000 10 10 10
250 0.99422545 31689.944 10.563315 61.748317 5700 3000 10 10 10
300 0.98351268 31756.124 10.585375 61.164735 5700 3000 10 10 10
350 0.99570183 31840.098 10.613366 61.210337 5700 3000 10 10 10
400 1.0025719 31832.008 10.610669 61.270633 5700 3000 10 10 10
450 0.99464256 31812.213 10.604071 60.625168 5700 3000 10 10 10
500 0.98753036 31822.577 10.607526 61.007786 5700 3000 10 10 10
550 0.98085348 31779.406 10.593135 61.268608 5700 3000 10 10 10
600 1.0031999 31849.695 10.616565 61.938464 5700 3000 10 10 10
650 1.0102644 31912.564 10.637521 61.298438 5700 3000 10 10 10
700 1.0238545 31799.622 10.599874 61.424427 5700 3000 10 10 10
750 1.0186874 31781.261 10.593754 60.706143 5700 3000 10 10 10
800 1.0245821 31738.473 10.579491 61.550865 5700 3000 10 10 10
850 1.0179726 31720.521 10.573507 61.881576 5700 3000 10 10 10
900 1.0154591 31760.887 10.586962 61.673156 5700 3000 10 10 10
950 0.99349056 31834.644 10.611548 61.624864 5700 3000 10 10 10
1000 1.0033121 31820.089 10.606696 60.698277 5700 3000 10 10 10
Deleted 2700 atoms, new total = 3000
Loop time of 2.18923 on 4 procs for 1000 steps with 3000 atoms
Performance: 394659.660 tau/day, 456.782 timesteps/s
98.1% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 1.2744 | 1.2921 | 1.3222 | 1.6 | 59.02
Bond | 0.0092027 | 0.0093722 | 0.009696 | 0.2 | 0.43
Neigh | 0.47767 | 0.47768 | 0.47769 | 0.0 | 21.82
Comm | 0.34932 | 0.37877 | 0.39403 | 2.9 | 17.30
Output | 0.001045 | 0.0015711 | 0.003145 | 2.3 | 0.07
Modify | 0.015498 | 0.016073 | 0.017271 | 0.6 | 0.73
Other | | 0.01362 | | | 0.62
Nlocal: 750.000 ave 754 max 743 min
Histogram: 1 0 0 0 0 0 1 0 0 2
Nghost: 6941.25 ave 6967 max 6911 min
Histogram: 1 0 0 0 0 1 1 0 0 1
Neighs: 0.00000 ave 0 max 0 min
Histogram: 4 0 0 0 0 0 0 0 0 0
Total # of neighbors = 0
Ave neighs/atom = 0.0000000
Ave special neighs/atom = 1.8000000
Neighbor list builds = 21
Dangerous builds = 0
#write_restart end-run.restart
Total wall time: 0:00:02

View File

@ -449,10 +449,10 @@ int FixSRP::unpack_border(int n, int first, double *buf)
int m = 0; int m = 0;
last = first + n; last = first + n;
for (i = first; i < last; i++) { for (i = first; i < last; i++) {
array[i][0] = buf[m++]; array[i][0] = buf[m++];
array[i][1] = buf[m++]; array[i][1] = buf[m++];
} }
return m; return m;
} }

View File

@ -68,7 +68,7 @@ static int srp_instance = 0;
set size of pair comms in constructor set size of pair comms in constructor
---------------------------------------------------------------------- */ ---------------------------------------------------------------------- */
PairSRP::PairSRP(LAMMPS *lmp) : Pair(lmp) PairSRP::PairSRP(LAMMPS *lmp) : Pair(lmp), fix_id(nullptr)
{ {
writedata = 1; writedata = 1;
single_enable = 0; single_enable = 0;
@ -118,18 +118,16 @@ void PairSRP::allocate()
PairSRP::~PairSRP() PairSRP::~PairSRP()
{ {
if (allocated) if (allocated) {
{ memory->destroy(setflag);
memory->destroy(setflag); memory->destroy(cutsq);
memory->destroy(cutsq); memory->destroy(cut);
memory->destroy(cut); memory->destroy(a0);
memory->destroy(a0); memory->destroy(segment);
memory->destroy(segment); }
}
// check nfix in case all fixes have already been deleted // check nfix in case all fixes have already been deleted
if (modify->nfix) modify->delete_fix(fix_id); if (modify->nfix) modify->delete_fix(f_srp->id);
free(fix_id);
} }
/* ---------------------------------------------------------------------- /* ----------------------------------------------------------------------
@ -412,33 +410,31 @@ void PairSRP::settings(int narg, char **arg)
void PairSRP::coeff(int narg, char **arg) void PairSRP::coeff(int narg, char **arg)
{ {
if (narg < 3 || narg > 4) if (narg < 3 || narg > 4)
error->all(FLERR,"PairSRP: Incorrect args for pair coeff"); error->all(FLERR,"PairSRP: Incorrect args for pair coeff");
if (!allocated) allocate(); if (!allocated) allocate();
// set ij bond-bond cutoffs // set ij bond-bond cutoffs
int ilo, ihi, jlo, jhi; int ilo, ihi, jlo, jhi;
utils::bounds(FLERR,arg[0], 1, bptype, ilo, ihi, error); utils::bounds(FLERR,arg[0], 1, bptype, ilo, ihi, error);
utils::bounds(FLERR,arg[1], 1, bptype, jlo, jhi, error); utils::bounds(FLERR,arg[1], 1, bptype, jlo, jhi, error);
double a0_one = utils::numeric(FLERR,arg[2],false,lmp); double a0_one = utils::numeric(FLERR,arg[2],false,lmp);
double cut_one = cut_global; double cut_one = cut_global;
if (narg == 4) cut_one = utils::numeric(FLERR,arg[3],false,lmp); if (narg == 4) cut_one = utils::numeric(FLERR,arg[3],false,lmp);
int count = 0; int count = 0;
for (int i = ilo; i <= ihi; i++) for (int i = ilo; i <= ihi; i++) {
{ for (int j = MAX(jlo,i); j <= jhi; j++) {
for (int j = MAX(jlo,i); j <= jhi; j++) a0[i][j] = a0_one;
{ cut[i][j] = cut_one;
a0[i][j] = a0_one; cutsq[i][j] = cut_one * cut_one;
cut[i][j] = cut_one; setflag[i][j] = 1;
cutsq[i][j] = cut_one * cut_one; count++;
setflag[i][j] = 1;
count++;
}
} }
}
if (count == 0) error->warning(FLERR,"PairSRP: No pair coefficients were set"); if (count == 0) error->warning(FLERR,"PairSRP: No pair coefficients were set");
} }
/* ---------------------------------------------------------------------- /* ----------------------------------------------------------------------
@ -452,8 +448,7 @@ void PairSRP::init_style()
// verify that fix SRP is still defined and has not been changed. // verify that fix SRP is still defined and has not been changed.
int ifix = modify->find_fix(fix_id); if (strcmp(f_srp->style,"SRP") != 0)
if (f_srp != (FixSRP *)modify->fix[ifix])
error->all(FLERR,"Fix SRP has been changed unexpectedly"); error->all(FLERR,"Fix SRP has been changed unexpectedly");
if (comm->me == 0) if (comm->me == 0)