195 lines
7.5 KiB
Groff
195 lines
7.5 KiB
Groff
LAMMPS (3 Nov 2022)
|
|
# electrodes with constrained total charges imposed from dynamically computed potentials
|
|
# for graphene-ionic liquid supercapacitor
|
|
|
|
boundary p p f # slab calculation
|
|
include settings.mod # styles, groups, computes and fixes
|
|
# set boundary in main script because ffield is periodic
|
|
units real
|
|
# distribute electrode atoms among all processors:
|
|
if "$(extract_setting(world_size) % 2) == 0" then "processors * * 2"
|
|
processors * * 2
|
|
|
|
atom_style full
|
|
pair_style lj/cut/coul/long 16
|
|
bond_style harmonic
|
|
angle_style harmonic
|
|
kspace_style pppm/electrode 1e-7
|
|
# kspace_modify in main script because ffield is periodic
|
|
|
|
read_data "data.graph-il"
|
|
Reading data file ...
|
|
orthogonal box = (0 0 -68) to (32.2 34.4 68)
|
|
1 by 2 by 2 MPI processor grid
|
|
reading atoms ...
|
|
3776 atoms
|
|
scanning bonds ...
|
|
2 = max bonds/atom
|
|
scanning angles ...
|
|
1 = max angles/atom
|
|
reading bonds ...
|
|
640 bonds
|
|
reading angles ...
|
|
320 angles
|
|
Finding 1-2 1-3 1-4 neighbors ...
|
|
special bond factors lj: 0 0 0
|
|
special bond factors coul: 0 0 0
|
|
2 = max # of 1-2 neighbors
|
|
1 = max # of 1-3 neighbors
|
|
1 = max # of 1-4 neighbors
|
|
2 = max # of special neighbors
|
|
special bonds CPU = 0.005 seconds
|
|
read_data CPU = 0.044 seconds
|
|
|
|
# replicate 4 4 1 # test different sys sizes
|
|
|
|
variable zpos atom "z > 0"
|
|
group zpos variable zpos
|
|
1891 atoms in group zpos
|
|
group ele type 5
|
|
832 atoms in group ele
|
|
group top intersect ele zpos
|
|
416 atoms in group top
|
|
group bot subtract ele top
|
|
416 atoms in group bot
|
|
|
|
group bmi type 1 2 3
|
|
960 atoms in group bmi
|
|
group electrolyte type 1 2 3 4
|
|
1280 atoms in group electrolyte
|
|
|
|
fix nvt electrolyte nvt temp 500.0 500.0 100
|
|
fix shake bmi shake 1e-4 20 0 b 1 2 a 1
|
|
Finding SHAKE clusters ...
|
|
0 = # of size 2 clusters
|
|
0 = # of size 3 clusters
|
|
0 = # of size 4 clusters
|
|
320 = # of frozen angles
|
|
find clusters CPU = 0.002 seconds
|
|
|
|
variable q atom q
|
|
compute qtop top reduce sum v_q
|
|
compute qbot bot reduce sum v_q
|
|
compute ctemp electrolyte temp
|
|
kspace_modify slab 3.0
|
|
|
|
fix conp bot electrode/conp v_vbot 1.979 couple top v_vtop etypes on
|
|
832 atoms in group conp_group
|
|
|
|
variable qex_bot equal -1.0-f_conp[1][1] # difference between desired and 0V charge
|
|
variable qex_top equal 1.0-f_conp[2][1] # difference between desired and 0V charge
|
|
|
|
# calculate imposed potential as elastance * excess charge
|
|
# note: fix will wait until the run setup to look for its potential variables
|
|
# which is why we can define variable names *after* fix conp without error
|
|
variable vbot equal f_conp[1][4]*v_qex_bot+f_conp[1][5]*v_qex_top
|
|
variable vtop equal f_conp[2][4]*v_qex_bot+f_conp[2][5]*v_qex_top
|
|
|
|
thermo 50
|
|
thermo_style custom step temp c_ctemp epair etotal c_qbot c_qtop v_vbot v_vtop
|
|
run 500
|
|
|
|
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
|
|
|
Your simulation uses code contributions which should be cited:
|
|
|
|
- kspace_style pppm/electrode command:
|
|
|
|
@article{Ahrens2021,
|
|
author = {Ahrens-Iwers, Ludwig J.V. and Mei{\ss}ner, Robert H.},
|
|
doi = {10.1063/5.0063381},
|
|
title = {{Constant potential simulations on a mesh}},
|
|
journal = {Journal of Chemical Physics},
|
|
year = {2021}
|
|
volume = {155},
|
|
pages = {104104},
|
|
}
|
|
- fix electrode command:
|
|
|
|
@article{Ahrens2022
|
|
author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.},
|
|
doi = {10.1063/5.0099239},
|
|
title = {{ELECTRODE: An electrochemistry package for LAMMPS}},
|
|
journal = {The Journal of Chemical Physics},
|
|
year = {2022}
|
|
volume = {157},
|
|
pages = {084801},
|
|
}
|
|
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
|
|
|
PPPM/electrode initialization ...
|
|
using 12-bit tables for long-range coulomb (src/kspace.cpp:342)
|
|
G vector (1/distance) = 0.20904498
|
|
grid = 32 32 200
|
|
stencil order = 5
|
|
estimated absolute RMS force accuracy = 3.7023506e-05
|
|
estimated relative force accuracy = 1.1149519e-07
|
|
using double precision MKL FFT
|
|
3d grid and FFT values/proc = 151593 85504
|
|
Generated 15 of 15 mixed pair_coeff terms from geometric mixing rule
|
|
Neighbor list info ...
|
|
update: every = 1 steps, delay = 0 steps, check = yes
|
|
max neighbors/atom: 2000, page size: 100000
|
|
master list distance cutoff = 18
|
|
ghost atom cutoff = 18
|
|
binsize = 9, bins = 4 4 16
|
|
3 neighbor lists, perpetual/occasional/extra = 2 1 0
|
|
(1) pair lj/cut/coul/long, perpetual
|
|
attributes: half, newton on
|
|
pair build: half/bin/newton
|
|
stencil: half/bin/3d
|
|
bin: standard
|
|
(2) fix electrode/conp, occasional, skip from (1)
|
|
attributes: half, newton on
|
|
pair build: skip
|
|
stencil: none
|
|
bin: none
|
|
(3) fix electrode/conp, perpetual, skip from (1)
|
|
attributes: half, newton on
|
|
pair build: skip
|
|
stencil: none
|
|
bin: none
|
|
Per MPI rank memory allocation (min/avg/max) = 22.9 | 26.72 | 30.55 Mbytes
|
|
Step Temp c_ctemp E_pair TotEng c_qbot c_qtop v_vbot v_vtop
|
|
0 0 0 25137446 25137446 -1 1 -9.931852 10.097344
|
|
50 20.206425 72.797911 25137263 25137472 -1 1 -9.4359366 9.5964514
|
|
100 55.931663 201.50563 25136961 25137537 -1 1 -8.0440112 8.1861787
|
|
150 81.389273 293.22204 25136818 25137656 -1 1 -6.1113109 6.2267114
|
|
200 92.867946 334.57639 25136841 25137798 -1 1 -4.1857807 4.2740694
|
|
250 97.518304 351.33028 25136942 25137946 -1 1 -2.8383703 2.9101475
|
|
300 102.36577 368.79431 25137045 25138099 -1 1 -2.3831643 2.4461115
|
|
350 113.66597 409.50566 25137086 25138256 -1 1 -2.7083563 2.7457811
|
|
400 122.8443 442.57252 25137148 25138413 -1 1 -3.4311003 3.3941657
|
|
450 128.63713 463.44243 25137235 25138560 -1 1 -4.132871 3.9852959
|
|
500 131.18361 472.61665 25137344 25138695 -1 1 -4.5104095 4.2567261
|
|
Loop time of 54.0351 on 4 procs for 500 steps with 3776 atoms
|
|
|
|
Performance: 0.799 ns/day, 30.019 hours/ns, 9.253 timesteps/s, 34.940 katom-step/s
|
|
75.8% CPU use with 4 MPI tasks x no OpenMP threads
|
|
|
|
MPI task timing breakdown:
|
|
Section | min time | avg time | max time |%varavg| %total
|
|
---------------------------------------------------------------
|
|
Pair | 6.5878 | 6.8799 | 7.1455 | 8.0 | 12.73
|
|
Bond | 0.0011081 | 0.0014187 | 0.0018792 | 0.8 | 0.00
|
|
Kspace | 25.907 | 26.173 | 26.464 | 4.1 | 48.44
|
|
Neigh | 0.16417 | 0.16425 | 0.16438 | 0.0 | 0.30
|
|
Comm | 0.34948 | 0.36296 | 0.37524 | 1.9 | 0.67
|
|
Output | 0.0017398 | 0.0021707 | 0.0033966 | 1.5 | 0.00
|
|
Modify | 20.392 | 20.403 | 20.416 | 0.2 | 37.76
|
|
Other | | 0.04783 | | | 0.09
|
|
|
|
Nlocal: 944 ave 948 max 940 min
|
|
Histogram: 1 0 0 1 0 0 1 0 0 1
|
|
Nghost: 5920.5 ave 5941 max 5899 min
|
|
Histogram: 1 0 0 0 1 1 0 0 0 1
|
|
Neighs: 431397 ave 442329 max 421103 min
|
|
Histogram: 2 0 0 0 0 0 0 0 1 1
|
|
|
|
Total # of neighbors = 1725588
|
|
Ave neighs/atom = 456.98835
|
|
Ave special neighs/atom = 0.50847458
|
|
Neighbor list builds = 6
|
|
Dangerous builds = 0
|
|
Total wall time: 0:01:00
|