Merge branch 'master' into spin-kokkos
This commit is contained in:
36
examples/USER/misc/charge_regulation/README
Normal file
36
examples/USER/misc/charge_regulation/README
Normal file
@ -0,0 +1,36 @@
|
||||
This directory has two input scripts that illustrates how to use fix
|
||||
charge_regulation in LAMMPS to perform coarse-grained molecular dynamics
|
||||
(MD) simulations with incorporation of charge regulation effects. The
|
||||
charge regulation is implemented via Monte Carlo (MC) sampling following
|
||||
the reaction ensemble MC approach, producing a MC/MD hybrid tool for
|
||||
modeling charge regulation in solvated systems.
|
||||
|
||||
The script `in.chreg-acid` sets up a simple weak acid electrolyte
|
||||
(pH=7,pKa=6,pI=3). Four different types of MC moves are implemented:
|
||||
acid protonation & de-protonation, and monovalent ion pair insertion and
|
||||
deletion. Note here we have grouped all free monovalent ions into a
|
||||
single type, a physically natural choice on the level of coarse-grained
|
||||
primitive electrolyte models, which increases the calculation
|
||||
performance but has no effects on thermodynamic observables. The
|
||||
variables such as pH, pKa, pI, and lb at the top of the input script can
|
||||
be adjusted to play with various simulation parameters. The cumulative
|
||||
MC attempted moves and cumulative number of accepted moves, as well as,
|
||||
current number of neutral and charged acid particles, neutral and
|
||||
charged base particles (in this example always 0), and the current
|
||||
number of free cations and anions in the system are printed in the
|
||||
output.
|
||||
|
||||
The script `in.chreg-polymer` sets up a weak poly-electrolyte chain of
|
||||
N=80 beads. Each bead is a weak acid with pKa=5 and solution has pH=7
|
||||
and monovalent salt chemical potential pI=3. In this example, we choose
|
||||
to treat salt ions, protons, and hydroxyl ions separately, which results
|
||||
in 5 types of MC moves: acid [type 1] protonation & de-protonation (with
|
||||
protons [type 4] insertion & deletion), acid [type 1] protonation &
|
||||
de-protonation (with salt cation [type 2] insertion & deletion), water
|
||||
self-ionization (insertion and deletion of proton [type4] and hydroxyl
|
||||
ion [type 5] pair), insertion and deletion of monovalent salt pair [type
|
||||
2 and type 3] , insertion and deletion of a proton [type4] and salt
|
||||
anion [type 3]. The current number of neutral and charged acid
|
||||
particles, the current number of free salt cations and anions, and the
|
||||
current number of protons and hydroxyl ions are printed in the output.
|
||||
|
||||
235
examples/USER/misc/charge_regulation/data.chreg-acid
Normal file
235
examples/USER/misc/charge_regulation/data.chreg-acid
Normal file
@ -0,0 +1,235 @@
|
||||
LAMMPS data file generated by get_input.py
|
||||
|
||||
219 atoms
|
||||
3 atom types
|
||||
-2.5000000000000000e+01 2.5000000000000000e+01 xlo xhi
|
||||
-2.5000000000000000e+01 2.5000000000000000e+01 ylo yhi
|
||||
-2.5000000000000000e+01 2.5000000000000000e+01 zlo zhi
|
||||
|
||||
Masses
|
||||
|
||||
1 1
|
||||
2 1
|
||||
3 1
|
||||
|
||||
Atoms
|
||||
|
||||
1 1 0 2.5983275747497636 -8.368052973860795 20.001288664343484
|
||||
2 1 -1 -18.182868728594865 -8.079792367885453 8.253737231981816
|
||||
3 1 -1 -17.437350808966414 8.120411567445771 10.747650340639332
|
||||
4 1 -1 6.502476583291578 -23.497326620756837 19.948223080086798
|
||||
5 1 -1 -22.528179279677296 -18.783433570718127 -17.964657736688018
|
||||
6 1 -1 -9.713496019164342 18.97235576760402 -19.495620818582825
|
||||
7 1 -1 -12.831976006720659 0.12265736526942561 -21.679396938423718
|
||||
8 1 -1 20.909063679212295 -2.16535062758771 0.46197866620165584
|
||||
9 1 -1 23.86211981166997 24.024928465132284 10.534067202515907
|
||||
10 1 -1 -0.5289298325031275 23.820222457999776 -2.657199543669442
|
||||
11 1 -1 9.57021229491361 11.973871502198485 3.4206509716759186
|
||||
12 1 -1 -10.201559985782705 7.557482594092384 12.07004973873643
|
||||
13 1 -1 4.898458045226889 2.0169997859717945 -20.765285372762087
|
||||
14 1 -1 -24.086606883730077 4.424991619615298 -4.204294764756856
|
||||
15 1 -1 3.6837161829600795 -4.763233144818308 -12.75873457519811
|
||||
16 1 -1 -12.217842496816345 -17.720229208905618 -13.556354139556914
|
||||
17 1 -1 -21.456229140133704 -7.423996317612119 -6.94398044071275
|
||||
18 1 -1 13.697298849253912 8.503639732052164 8.085487457359058
|
||||
19 1 -1 -5.764222710061347 11.49890485049034 -5.1113880296575935
|
||||
20 1 -1 3.9944161041544426 16.928204188257893 -14.875635895409372
|
||||
21 1 -1 4.509525276444776 16.63590711792657 -22.21846494992397
|
||||
22 1 -1 22.115374932704306 -18.97293932558108 -23.982486000144267
|
||||
23 1 -1 14.169061011408473 -16.69837647199978 13.779039228068108
|
||||
24 1 -1 17.186846147657228 8.827459489898189 23.055435051390333
|
||||
25 1 -1 2.9822901981431045 -16.83687718528342 -21.278623587083484
|
||||
26 1 -1 16.657554689423897 -1.6217275605348647 -11.315859420404218
|
||||
27 1 -1 19.215533149393543 -15.512634977936068 7.2701088767584565
|
||||
28 1 -1 -8.886744157248422 -24.09644410100167 4.013016013803799
|
||||
29 1 -1 20.99918340066754 4.4716257356730225 0.3847245765737597
|
||||
30 1 -1 1.3442294253060716 5.601341425720583 -14.918594492786674
|
||||
31 1 -1 -6.962977050326831 20.470183675946515 -16.37885865567279
|
||||
32 1 -1 -9.98531733187143 9.52233798117566 -24.979630708193724
|
||||
33 1 -1 -17.327989778292306 5.761352103841766 5.720220488689204
|
||||
34 1 -1 5.168359673466362 -23.698812306679418 2.6199762372169744
|
||||
35 1 -1 18.978042448492154 6.41188742965139 6.31975357155018
|
||||
36 1 -1 -16.38534911663758 -14.8262205163943 4.125239045887575
|
||||
37 1 -1 7.974455406459249 -18.88332583451115 11.00721254217055
|
||||
38 1 -1 13.779816416416402 1.8581999350851426 9.104219696003227
|
||||
39 1 -1 -23.90949397031401 -3.346877828308571 -10.228782973473443
|
||||
40 1 -1 21.61647622174447 8.443955423089903 -19.12066464239769
|
||||
41 1 -1 -8.823979405515548 14.461154001848172 16.061704411241706
|
||||
42 1 -1 -2.4406878944912513 12.5535360118296 20.606764200087852
|
||||
43 1 -1 -18.459404356124697 15.260951448001258 21.187332685021346
|
||||
44 1 -1 2.2354003384439878 -23.350013178190736 11.369307324043625
|
||||
45 1 -1 15.595889705552018 -6.6075680254604805 5.434256329408505
|
||||
46 1 -1 -17.528243443870238 4.109747707896265 -1.4167331089310942
|
||||
47 1 -1 2.161977144405782 -16.511059804921263 -12.186191310598671
|
||||
48 1 -1 -8.685671837367341 -7.0743613044263185 -1.1561844713769105
|
||||
49 1 -1 15.62258718398045 -6.559293763708908 20.556775995508488
|
||||
50 1 -1 -6.965207014475155 -14.348784897390543 -14.421447863144754
|
||||
51 1 -1 -12.099361509567913 -24.62785640990423 -15.839126670614329
|
||||
52 1 -1 6.673854222058246 7.83575773885061 -9.714128155619994
|
||||
53 1 -1 -17.413453800948826 12.386754276446203 -16.882300786608994
|
||||
54 1 -1 21.8966589175091 12.485943283688762 -14.553421680298634
|
||||
55 1 -1 -8.37629917390651 -24.783875012947064 7.454467809536389
|
||||
56 1 -1 14.081149297694104 -21.719204113108943 -17.447225564400064
|
||||
57 1 -1 4.681992702049627 1.9719544892622558 -7.823736613205725
|
||||
58 1 -1 4.353171917533494 15.86928389762705 24.669680272563014
|
||||
59 1 -1 23.31502072066573 -4.685724298328946 2.459643890128799
|
||||
60 1 -1 7.0470920520598455 23.016693234922386 -13.139471333592677
|
||||
61 1 -1 11.725555941181668 -15.809323171320772 -1.6292879532275037
|
||||
62 1 -1 -20.36388898925061 -12.084932320023162 -22.816700826388757
|
||||
63 1 -1 -2.492146614764735 -0.7314052253623018 -15.89959178250266
|
||||
64 1 -1 -22.45303825831233 -11.27996814407809 -9.553770912146142
|
||||
65 1 -1 24.76771926037101 20.128947543233757 10.528974830883733
|
||||
66 1 -1 11.326213670190818 -11.624187194192492 -9.687726413467862
|
||||
67 1 -1 -5.712764220166093 15.778887306376163 -0.9263244618113831
|
||||
68 1 -1 -15.073201136996362 -12.372916148178115 -5.461704510273556
|
||||
69 1 -1 -5.82976670348781 -4.57812040989473 9.0443548565365
|
||||
70 1 -1 -5.429195387856279 1.4542054472230177 -7.397291151203568
|
||||
71 1 -1 -23.385555726942343 -11.924588975396505 3.8215294321466153
|
||||
72 1 -1 -1.0694104826815725 2.999945633116507 3.67092922106918
|
||||
73 1 -1 12.134312161994352 1.9747455475585376 -14.895893366599623
|
||||
74 1 -1 21.30950120583112 18.97294626436546 -17.520867878211376
|
||||
75 1 -1 -24.356703356157063 3.594879254976714 17.172993705171677
|
||||
76 1 -1 12.634233603338409 24.373499564220822 4.561976273909789
|
||||
77 1 -1 -10.740243207970495 19.345205140729554 -3.3368424800818097
|
||||
78 1 -1 -3.027848793907552 10.604939843027267 7.493012332728249
|
||||
79 1 -1 5.000539296336658 11.770088203844622 17.227492055930185
|
||||
80 1 -1 1.1585200269400353 -24.45822157176123 -12.515688997756257
|
||||
81 1 -1 1.9163088584430596 -14.064330279670672 11.302445490552905
|
||||
82 1 -1 -20.857041355570576 21.292791787236673 17.397470691573346
|
||||
83 1 -1 -24.50473305235651 -12.741459355708756 -1.9325218065560357
|
||||
84 1 -1 2.658628688373309 -1.1131226252194608 7.491603553398086
|
||||
85 1 -1 -18.515435126408363 24.20642384141299 14.466889392835121
|
||||
86 1 -1 19.63928177206153 9.942655640416291 8.691463646789934
|
||||
87 1 -1 -7.69626451160762 11.762517043363786 -7.457263991495665
|
||||
88 1 -1 1.051431093064835 -11.460307039827766 16.90304637479744
|
||||
89 1 -1 0.9157815447227939 23.656751182559688 -6.538587603918376
|
||||
90 1 -1 23.330169435555234 -7.293893221439802 -10.739388379883973
|
||||
91 1 -1 1.3454906653067376 0.3584300740797559 8.837879234629618
|
||||
92 1 -1 -21.93056639286312 -10.890279576013356 -10.412914392053596
|
||||
93 1 -1 21.9136101677979 -10.780221720642636 11.543925933359859
|
||||
94 1 -1 1.213289938136601 -7.171863230861625 20.734527885288102
|
||||
95 1 -1 23.102370131877777 21.949933206350458 0.29281565885028016
|
||||
96 1 -1 -18.917780884063298 -0.03244735062602544 23.633906995676227
|
||||
97 1 -1 7.583004866601307 10.74178675512821 -4.857297835527785
|
||||
98 1 -1 -7.4910066746799835 -14.168364618485734 -6.426540836249767
|
||||
99 1 -1 -20.672200987670426 -8.746789722660697 11.011389790610103
|
||||
100 1 -1 -18.662115132221917 -21.356740361991612 -8.735991534410413
|
||||
101 2 1 11.900973676882046 6.591531431964558 19.018193594877637
|
||||
102 2 1 -23.433591822114983 -18.956429005519567 4.8373984358422994
|
||||
103 2 1 -11.825475204099472 -3.8206287568445134 3.1167558949026173
|
||||
104 2 1 -17.49780467176259 -23.115560141825554 9.614132296727426
|
||||
105 2 1 10.88916113281772 4.512200980010334 18.685489050240854
|
||||
106 2 1 -22.04662313800728 23.973268925992897 -23.417792740205652
|
||||
107 2 1 -13.57041123540546 17.3687874050987 21.186270978357783
|
||||
108 2 1 6.586851196789095 16.27860887432974 -3.638909639278946
|
||||
109 2 1 8.191448685630277 6.828880619305412 -6.347576950950089
|
||||
110 2 1 -15.723292856220288 -20.484673256634117 -15.14713811293425
|
||||
111 2 1 18.58081219522701 19.060706710849452 -10.295676869062909
|
||||
112 2 1 -21.09194001526127 -7.739334786748358 5.417635948058724
|
||||
113 2 1 -14.10404878784055 -15.769737592448523 -18.881834262561505
|
||||
114 2 1 -14.644589058195612 8.84169065013063 8.611654925486256
|
||||
115 2 1 -11.719050253933538 -4.9700119000832 -0.9846728956163453
|
||||
116 2 1 19.498247505274143 -10.418045613133986 -22.12098182226518
|
||||
117 2 1 21.857683401772697 20.157098661061575 -13.652393197742995
|
||||
118 2 1 -17.623414455798407 21.873813778550875 -6.533965802006303
|
||||
119 2 1 7.231785003326529 -13.925962842972222 5.360080190636602
|
||||
120 2 1 -7.509430039873415 19.13541714591672 -16.23545960168472
|
||||
121 2 1 -4.048249209544995 13.126195473202351 -7.156541250053138
|
||||
122 2 1 -20.26837137264583 21.46366988603839 15.603080527043964
|
||||
123 2 1 -4.478253524569759 -3.1812369811955783 -18.52918159641348
|
||||
124 2 1 21.541019047040052 13.514999235394065 -1.8086547561089752
|
||||
125 2 1 -15.223319907923727 -5.958117989814905 -7.194967640819577
|
||||
126 2 1 -20.87181173003304 -7.66780336209651 20.518235718821714
|
||||
127 2 1 -3.7444846073700297 21.014628245718292 7.197818215477007
|
||||
128 2 1 -5.904222844268787 7.656315546673127 -1.3911802017487425
|
||||
129 2 1 -21.49072414090769 -23.123923448235523 10.49453669763092
|
||||
130 2 1 24.90628307456096 7.081046671281136 -14.422530828641655
|
||||
131 2 1 -12.173002002514222 -23.250366655717176 -5.145802772598103
|
||||
132 2 1 -19.68809858318764 4.476541650697328 6.249229323733747
|
||||
133 2 1 16.85550827580734 -0.8462194407221624 18.011901711631936
|
||||
134 2 1 17.289399533444858 -11.99379336569853 11.875868193611936
|
||||
135 2 1 19.532020913911126 -23.053375288330326 -4.9162076250112605
|
||||
136 2 1 -12.432304028989998 5.029488375070969 7.535325299264009
|
||||
137 2 1 14.934807008644 8.086694342170496 19.68691014849572
|
||||
138 2 1 -7.088283921093918 -23.094109864922018 16.57088328184242
|
||||
139 2 1 14.77413976080318 21.343550134324772 13.996489344579572
|
||||
140 2 1 -14.606423208703657 -6.928316926567433 -22.717483260149475
|
||||
141 2 1 -17.139771555632173 14.533410346451518 -21.83064865887975
|
||||
142 2 1 4.261830086466784 15.518968841247663 -17.791505649414617
|
||||
143 2 1 -9.814793042774223 -5.120956154726329 14.054454130549104
|
||||
144 2 1 8.313311590434793 3.9666876022475606 -20.677101093823236
|
||||
145 2 1 10.603190079756637 -2.62347089527481 1.6661989541795634
|
||||
146 2 1 -17.763718339721695 1.2541370478041287 -21.55649971308305
|
||||
147 2 1 -8.538066365356812 14.81814356892842 -4.478673557614034
|
||||
148 2 1 -5.809558827384787 14.611789154829552 13.287687188309562
|
||||
149 2 1 8.986830839040898 -17.43898584267833 -18.08640526127862
|
||||
150 2 1 -13.315275244526854 8.890431200255954 -8.708179477452443
|
||||
151 2 1 -0.5407152591412618 -23.67970550599055 -24.1586910560046
|
||||
152 2 1 -19.79961109336906 -16.10906604558887 -5.879899717095562
|
||||
153 2 1 -23.626316306846658 9.337407355717588 -9.640842288307239
|
||||
154 2 1 -18.847256196659333 -16.303517291166603 -10.786416046984721
|
||||
155 2 1 13.567770091716845 -24.4927974402177 8.896906985984664
|
||||
156 2 1 13.652894892068794 -24.87567116574863 21.89026113439551
|
||||
157 2 1 -8.575912713332162 9.92386172372207 5.029537530028822
|
||||
158 2 1 20.69339436974964 1.129252448454178 0.3584458063532807
|
||||
159 2 1 -0.9971941518705947 18.317397852358788 6.795424830570379
|
||||
160 2 1 23.155704681402298 15.458725773368961 17.01599672991628
|
||||
161 2 1 22.278634187244123 14.642946508468171 20.543957651530896
|
||||
162 2 1 9.771629496835963 -21.696904301438853 -5.259678202922196
|
||||
163 2 1 5.253009955872763 17.911287158418148 15.769047957152992
|
||||
164 2 1 -20.759038961257414 5.59089552770853 -12.383953925685166
|
||||
165 2 1 3.2163819108147145 -4.948608591009169 -17.85036103684716
|
||||
166 2 1 20.637631925250837 9.109955226257064 6.177181979863878
|
||||
167 2 1 5.306344093540837 12.647347581939556 23.229957406774105
|
||||
168 2 1 -24.15187998806597 17.263903348029615 -17.141028077545826
|
||||
169 2 1 -15.705280442832997 -15.655358704303895 -10.488762557871972
|
||||
170 2 1 -6.601131108664461 -22.50322976595015 -5.672942609306119
|
||||
171 2 1 22.869179482568555 13.369592422303498 -9.378437532422556
|
||||
172 2 1 -23.151055417980903 -3.928919101213168 -11.117061489640207
|
||||
173 2 1 1.3592343286386246 -18.552063924235036 -15.346172149331993
|
||||
174 2 1 10.23567488314778 -18.14207926130103 -1.6884247085891886
|
||||
175 2 1 12.595888032974493 -1.7416169207452157 -21.786811832485718
|
||||
176 2 1 -0.14792438162408672 17.11748549051584 1.2788726677139053
|
||||
177 2 1 24.349235298880274 -8.664350854740949 12.4309854455257
|
||||
178 2 1 -18.827147816604253 -18.80258748867273 -1.6980553939283212
|
||||
179 2 1 -9.048793002383698 -1.788614428205263 -11.841289777017172
|
||||
180 2 1 -22.49667217853208 -22.112076711777533 10.01393503943838
|
||||
181 2 1 -16.183333848138453 1.3098533508906556 0.8096413611556166
|
||||
182 2 1 -4.007575369376703 -24.447854073342157 -19.683971619997376
|
||||
183 2 1 8.79123015290173 -15.890906503248287 -23.45721570121758
|
||||
184 2 1 -8.557898021171628 -21.985380426316674 22.626382729361595
|
||||
185 2 1 7.143974673263372 16.57516065778192 0.5907315164854055
|
||||
186 2 1 7.05280226857041 6.658154377550723 17.993436860997946
|
||||
187 2 1 20.98391844656716 -3.7711929542825544 -22.37222924252256
|
||||
188 2 1 -8.856382807041598 -16.421301042649826 -7.682473719905396
|
||||
189 2 1 -14.381919492441797 -7.667674808763277 -10.178028203828621
|
||||
190 2 1 -22.93472549116592 10.072854607637751 3.756868463885592
|
||||
191 2 1 9.458987867260412 17.23200182595278 -0.03503381482496337
|
||||
192 2 1 11.013603635791974 19.842184408029837 -5.83598462187852
|
||||
193 2 1 23.28897987479008 2.835578651649044 -20.512845011389647
|
||||
194 2 1 -18.86161127148128 8.956542530565656 14.193388541103026
|
||||
195 2 1 13.688477473034126 -15.973205475346514 10.952445409682397
|
||||
196 2 1 2.1058159557459497 2.740725960214597 -23.72037436968614
|
||||
197 2 1 20.982351847235442 7.072739454450108 -24.07322254392252
|
||||
198 2 1 5.962360707177609 -19.424513569281604 22.469955103109243
|
||||
199 2 1 -17.13607356062674 20.038457022813326 12.94227215395123
|
||||
200 2 1 11.592617137491743 22.283887092702138 2.339699650677858
|
||||
201 2 1 -1.3864952037065237 19.199632510575505 -7.684210221911414
|
||||
202 2 1 -22.44476570586083 -19.66385674506424 -8.981660607669522
|
||||
203 2 1 0.36547911522815824 -7.628556098996082 16.326944822668068
|
||||
204 2 1 -9.766164330974753 24.38435844399602 -14.352553497163
|
||||
205 2 1 -0.6310792726759544 -5.625399375968325 13.665993163571486
|
||||
206 2 1 2.6795300975636103 -0.37097710463575595 15.575183407667495
|
||||
207 2 1 10.68508361399715 24.638181487800373 -17.538711281692827
|
||||
208 2 1 18.30809729940504 18.39121662193474 18.285926328751984
|
||||
209 2 1 -11.52561870836783 -11.871004571782223 12.890674390475048
|
||||
210 3 -1 16.038097437687007 -0.8308290507120688 9.140710202344948
|
||||
211 3 -1 -12.071581865552927 23.77532123232212 -6.250109721970887
|
||||
212 3 -1 24.179073767023887 19.6390206210449 22.20321951706368
|
||||
213 3 -1 22.899159789805424 8.918385700451317 -1.1269016129923664
|
||||
214 3 -1 -10.48576153865241 5.691510884812594 21.955276995406933
|
||||
215 3 -1 6.272776670877239 10.035821052072265 22.22030412319301
|
||||
216 3 -1 14.689947575936934 -7.785907120217196 0.5033983092114553
|
||||
217 3 -1 23.173937996535116 -21.041572031861037 -21.057283440516468
|
||||
218 3 -1 -6.015120142466472 6.3962924962024985 21.58241945230285
|
||||
219 3 -1 -0.77667042466472 0.3962848125024985 1.582473830285
|
||||
235
examples/USER/misc/charge_regulation/data.chreg-acid-real
Normal file
235
examples/USER/misc/charge_regulation/data.chreg-acid-real
Normal file
@ -0,0 +1,235 @@
|
||||
LAMMPS data file generated by get_input.py
|
||||
|
||||
219 atoms
|
||||
3 atom types
|
||||
-180 180 xlo xhi
|
||||
-180 180 ylo yhi
|
||||
-180 180 zlo zhi
|
||||
|
||||
Masses
|
||||
|
||||
1 20
|
||||
2 20
|
||||
3 20
|
||||
|
||||
Atoms
|
||||
|
||||
1 1 0 18.70795854 -60.24998141 144.0092784
|
||||
2 1 -1 -130.9166548 -58.17450505 59.42690807
|
||||
3 1 -1 -125.5489258 58.46696329 77.38308245
|
||||
4 1 -1 46.8178314 -169.1807517 143.6272062
|
||||
5 1 -1 -162.2028908 -135.2407217 -129.3455357
|
||||
6 1 -1 -69.93717134 136.6009615 -140.3684699
|
||||
7 1 -1 -92.39022725 0.88313303 -156.091658
|
||||
8 1 -1 150.5452585 -15.59052452 3.326246397
|
||||
9 1 -1 171.8072626 172.9794849 75.84528386
|
||||
10 1 -1 -3.808294794 171.5056017 -19.13183671
|
||||
11 1 -1 68.90552852 86.21187482 24.628687
|
||||
12 1 -1 -73.4512319 54.41387468 86.90435812
|
||||
13 1 -1 35.26889793 14.52239846 -149.5100547
|
||||
14 1 -1 -173.4235696 31.85993966 -30.27092231
|
||||
15 1 -1 26.52275652 -34.29527864 -91.86288894
|
||||
16 1 -1 -87.96846598 -127.5856503 -97.6057498
|
||||
17 1 -1 -154.4848498 -53.45277349 -49.99665917
|
||||
18 1 -1 98.62055171 61.22620607 58.21550969
|
||||
19 1 -1 -41.50240351 82.79211492 -36.80199381
|
||||
20 1 -1 28.75979595 121.8830702 -107.1045784
|
||||
21 1 -1 32.46858199 119.7785312 -159.9729476
|
||||
22 1 -1 159.2306995 -136.6051631 -172.6738992
|
||||
23 1 -1 102.0172393 -120.2283106 99.20908244
|
||||
24 1 -1 123.7452923 63.55770833 165.9991324
|
||||
25 1 -1 21.47248943 -121.2255157 -153.2060898
|
||||
26 1 -1 119.9343938 -11.67643844 -81.47418783
|
||||
27 1 -1 138.3518387 -111.6909718 52.34478391
|
||||
28 1 -1 -63.98455793 -173.4943975 28.8937153
|
||||
29 1 -1 151.1941205 32.1957053 2.770016951
|
||||
30 1 -1 9.678451862 40.32965827 -107.4138803
|
||||
31 1 -1 -50.13343476 147.3853225 -117.9277823
|
||||
32 1 -1 -71.89428479 68.56083346 -179.8533411
|
||||
33 1 -1 -124.7615264 41.48173515 41.18558752
|
||||
34 1 -1 37.21218965 -170.6314486 18.86382891
|
||||
35 1 -1 136.6419056 46.16558949 45.50222572
|
||||
36 1 -1 -117.9745136 -106.7487877 29.70172113
|
||||
37 1 -1 57.41607893 -135.959946 79.2519303
|
||||
38 1 -1 99.2146782 13.37903953 65.55038181
|
||||
39 1 -1 -172.1483566 -24.09752036 -73.64723741
|
||||
40 1 -1 155.6386288 60.79647905 -137.6687854
|
||||
41 1 -1 -63.53265172 104.1203088 115.6442718
|
||||
42 1 -1 -17.57295284 90.38545929 148.3687022
|
||||
43 1 -1 -132.9077114 109.8788504 152.5487953
|
||||
44 1 -1 16.09488244 -168.1200949 81.85901273
|
||||
45 1 -1 112.2904059 -47.57448978 39.12664557
|
||||
46 1 -1 -126.2033528 29.5901835 -10.20047838
|
||||
47 1 -1 15.56623544 -118.8796306 -87.74057744
|
||||
48 1 -1 -62.53683723 -50.93540139 -8.324528194
|
||||
49 1 -1 112.4826277 -47.2269151 148.0087872
|
||||
50 1 -1 -50.1494905 -103.3112513 -103.8344246
|
||||
51 1 -1 -87.11540287 -177.3205662 -114.041712
|
||||
52 1 -1 48.0517504 56.41745572 -69.94172272
|
||||
53 1 -1 -125.3768674 89.18463079 -121.5525657
|
||||
54 1 -1 157.6559442 89.89879164 -104.7846361
|
||||
55 1 -1 -60.30935405 -178.4439001 53.67216823
|
||||
56 1 -1 101.3842749 -156.3782696 -125.6200241
|
||||
57 1 -1 33.71034745 14.19807232 -56.33090362
|
||||
58 1 -1 31.34283781 114.2588441 177.621698
|
||||
59 1 -1 167.8681492 -33.73721495 17.70943601
|
||||
60 1 -1 50.73906277 165.7201913 -94.6041936
|
||||
61 1 -1 84.42400278 -113.8271268 -11.73087326
|
||||
62 1 -1 -146.6200007 -87.0115127 -164.2802459
|
||||
63 1 -1 -17.94345563 -5.266117623 -114.4770608
|
||||
64 1 -1 -161.6618755 -81.21577064 -68.78715057
|
||||
65 1 -1 178.3275787 144.9284223 75.80861878
|
||||
66 1 -1 81.54873843 -83.6941478 -69.75163018
|
||||
67 1 -1 -41.13190239 113.6079886 -6.669536125
|
||||
68 1 -1 -108.5270482 -89.08499627 -39.32427247
|
||||
69 1 -1 -41.97432027 -32.96246695 65.11935497
|
||||
70 1 -1 -39.09020679 10.47027922 -53.26049629
|
||||
71 1 -1 -168.3760012 -85.85704062 27.51501191
|
||||
72 1 -1 -7.699755475 21.59960856 26.43069039
|
||||
73 1 -1 87.36704757 14.21816794 -107.2504322
|
||||
74 1 -1 153.4284087 136.6052131 -126.1502487
|
||||
75 1 -1 -175.3682642 25.88313064 123.6455547
|
||||
76 1 -1 90.96648194 175.4891969 32.84622917
|
||||
77 1 -1 -77.3297511 139.285477 -24.02526586
|
||||
78 1 -1 -21.80051132 76.35556687 53.9496888
|
||||
79 1 -1 36.00388293 84.74463507 124.0379428
|
||||
80 1 -1 8.341344194 -176.0991953 -90.11296078
|
||||
81 1 -1 13.79742378 -101.263178 81.37760753
|
||||
82 1 -1 -150.1706978 153.3081009 125.261789
|
||||
83 1 -1 -176.434078 -91.73850736 -13.91415701
|
||||
84 1 -1 19.14212656 -8.014482902 53.93954558
|
||||
85 1 -1 -133.3111329 174.2862517 104.1616036
|
||||
86 1 -1 141.4028288 71.58712061 62.57853826
|
||||
87 1 -1 -55.41310448 84.69012271 -53.69230074
|
||||
88 1 -1 7.57030387 -82.51421069 121.7019339
|
||||
89 1 -1 6.593627122 170.3286085 -47.07783075
|
||||
90 1 -1 167.9772199 -52.51603119 -77.32359634
|
||||
91 1 -1 9.68753279 2.580696533 63.63273049
|
||||
92 1 -1 -157.900078 -78.41001295 -74.97298362
|
||||
93 1 -1 157.7779932 -77.61759639 83.11626672
|
||||
94 1 -1 8.735687555 -51.63741526 149.2886008
|
||||
95 1 -1 166.3370649 158.0395191 2.108272744
|
||||
96 1 -1 -136.2080224 -0.233620925 170.1641304
|
||||
97 1 -1 54.59763504 77.34086464 -34.97254442
|
||||
98 1 -1 -53.93524806 -102.0122253 -46.27109402
|
||||
99 1 -1 -148.8398471 -62.976886 79.28200649
|
||||
100 1 -1 -134.367229 -153.7685306 -62.89913905
|
||||
101 2 1 85.68701047 47.45902631 136.9309939
|
||||
102 2 1 -168.7218611 -136.4862888 34.82926874
|
||||
103 2 1 -85.14342147 -27.50852705 22.44064244
|
||||
104 2 1 -125.9841936 -166.432033 69.22175254
|
||||
105 2 1 78.40196016 32.48784706 134.5355212
|
||||
106 2 1 -158.7356866 172.6075363 -168.6081077
|
||||
107 2 1 -97.70696089 125.0552693 152.541151
|
||||
108 2 1 47.42532862 117.2059839 -26.2001494
|
||||
109 2 1 58.97843054 49.16794046 -45.70255405
|
||||
110 2 1 -113.2077086 -147.4896474 -109.0593944
|
||||
111 2 1 133.7818478 137.2370883 -74.12887346
|
||||
112 2 1 -151.8619681 -55.72321046 39.00697883
|
||||
113 2 1 -101.5491513 -113.5421107 -135.9492067
|
||||
114 2 1 -105.4410412 63.66017268 62.00391546
|
||||
115 2 1 -84.37716183 -35.78408568 -7.089644848
|
||||
116 2 1 140.387382 -75.00992841 -159.2710691
|
||||
117 2 1 157.3753205 145.1311104 -98.29723102
|
||||
118 2 1 -126.8885841 157.4914592 -47.04455377
|
||||
119 2 1 52.06885202 -100.2669325 38.59257737
|
||||
120 2 1 -54.06789629 137.7750035 -116.8953091
|
||||
121 2 1 -29.14739431 94.50860741 -51.527097
|
||||
122 2 1 -145.9322739 154.5384232 112.3421798
|
||||
123 2 1 -32.24342538 -22.90490626 -133.4101075
|
||||
124 2 1 155.0953371 97.30799449 -13.02231424
|
||||
125 2 1 -109.6079033 -42.89844953 -51.80376701
|
||||
126 2 1 -150.2770445 -55.20818421 147.7312972
|
||||
127 2 1 -26.96028917 151.3053234 51.82429115
|
||||
128 2 1 -42.51040448 55.12547194 -10.01649745
|
||||
129 2 1 -154.7332138 -166.4922488 75.56066422
|
||||
130 2 1 179.3252381 50.98353603 -103.842222
|
||||
131 2 1 -87.64561442 -167.4026399 -37.04977996
|
||||
132 2 1 -141.7543098 32.23109989 44.99445113
|
||||
133 2 1 121.3596596 -6.092779973 129.6856923
|
||||
134 2 1 124.4836766 -86.35531223 85.50625099
|
||||
135 2 1 140.6305506 -165.9843021 -35.3966949
|
||||
136 2 1 -89.51258901 36.2123163 54.25434215
|
||||
137 2 1 107.5306105 58.22419926 141.7457531
|
||||
138 2 1 -51.03564423 -166.277591 119.3103596
|
||||
139 2 1 106.3738063 153.673561 100.7747233
|
||||
140 2 1 -105.1662471 -49.88388187 -163.5658795
|
||||
141 2 1 -123.4063552 104.6405545 -157.1806703
|
||||
142 2 1 30.68517662 111.7365757 -128.0988407
|
||||
143 2 1 -70.66650991 -36.87088431 101.1920697
|
||||
144 2 1 59.85584345 28.56015074 -148.8751279
|
||||
145 2 1 76.34296857 -18.88899045 11.99663247
|
||||
146 2 1 -127.898772 9.029786744 -155.2067979
|
||||
147 2 1 -61.47407783 106.6906337 -32.24644961
|
||||
148 2 1 -41.82882356 105.2048819 95.67134776
|
||||
149 2 1 64.70518204 -125.5606981 -130.2221179
|
||||
150 2 1 -95.86998176 64.01110464 -62.69889224
|
||||
151 2 1 -3.893149866 -170.4938796 -173.9425756
|
||||
152 2 1 -142.5571999 -115.9852755 -42.33527796
|
||||
153 2 1 -170.1094774 67.22933296 -69.41406448
|
||||
154 2 1 -135.7002446 -117.3853245 -77.66219554
|
||||
155 2 1 97.68794466 -176.3481416 64.0577303
|
||||
156 2 1 98.30084322 -179.1048324 157.6098802
|
||||
157 2 1 -61.74657154 71.45180441 36.21267022
|
||||
158 2 1 148.9924395 8.130617629 2.580809806
|
||||
159 2 1 -7.179797893 131.8852645 48.92705878
|
||||
160 2 1 166.7210737 111.3028256 122.5151765
|
||||
161 2 1 160.4061661 105.4292149 147.9164951
|
||||
162 2 1 70.35573238 -156.217711 -37.86968306
|
||||
163 2 1 37.82167168 128.9612675 113.5371453
|
||||
164 2 1 -149.4650805 40.2544478 -89.16446826
|
||||
165 2 1 23.15794976 -35.62998186 -128.5225995
|
||||
166 2 1 148.5909499 65.59167763 44.47571026
|
||||
167 2 1 38.20567747 91.06090259 167.2556933
|
||||
168 2 1 -173.8935359 124.3001041 -123.4154022
|
||||
169 2 1 -113.0780192 -112.7185827 -75.51909042
|
||||
170 2 1 -47.52814398 -162.0232543 -40.84518679
|
||||
171 2 1 164.6580923 96.26106544 -67.52475023
|
||||
172 2 1 -166.687599 -28.28821753 -80.04284273
|
||||
173 2 1 9.786487166 -133.5748603 -110.4924395
|
||||
174 2 1 73.69685916 -130.6229707 -12.1566579
|
||||
175 2 1 90.69039384 -12.53964183 -156.8650452
|
||||
176 2 1 -1.065055548 123.2458955 9.207883208
|
||||
177 2 1 175.3144942 -62.38332615 89.50309521
|
||||
178 2 1 -135.5554643 -135.3786299 -12.22599884
|
||||
179 2 1 -65.15130962 -12.87802388 -85.25728639
|
||||
180 2 1 -161.9760397 -159.2069523 72.10033228
|
||||
181 2 1 -116.5200037 9.430944126 5.8294178
|
||||
182 2 1 -28.85454266 -176.0245493 -141.7245957
|
||||
183 2 1 63.2968571 -114.4145268 -168.891953
|
||||
184 2 1 -61.61686575 -158.2947391 162.9099557
|
||||
185 2 1 51.43661765 119.3411567 4.253266919
|
||||
186 2 1 50.78017633 47.93871152 129.5527454
|
||||
187 2 1 151.0842128 -27.15258927 -161.0800505
|
||||
188 2 1 -63.76595621 -118.2333675 -55.31381078
|
||||
189 2 1 -103.5498203 -55.20725862 -73.28180307
|
||||
190 2 1 -165.1300235 72.52455317 27.04945294
|
||||
191 2 1 68.10471264 124.0704131 -0.252243467
|
||||
192 2 1 79.29794618 142.8637277 -42.01908928
|
||||
193 2 1 167.6806551 20.41616629 -147.6924841
|
||||
194 2 1 -135.8036012 64.48710622 102.1923975
|
||||
195 2 1 98.55703781 -115.0070794 78.85760695
|
||||
196 2 1 15.16187488 19.73322691 -170.7866955
|
||||
197 2 1 151.0729333 50.92372407 -173.3272023
|
||||
198 2 1 42.92899709 -139.8564977 161.7836767
|
||||
199 2 1 -123.3797296 144.2768906 93.18435951
|
||||
200 2 1 83.46684339 160.4439871 16.84583748
|
||||
201 2 1 -9.982765467 138.2373541 -55.3263136
|
||||
202 2 1 -161.6023131 -141.5797686 -64.66795638
|
||||
203 2 1 2.63144963 -54.92560391 117.5540027
|
||||
204 2 1 -70.31638318 175.5673808 -103.3383852
|
||||
205 2 1 -4.543770763 -40.50287551 98.39515078
|
||||
206 2 1 19.2926167 -2.671035153 112.1413205
|
||||
207 2 1 76.93260202 177.3949067 -126.2787212
|
||||
208 2 1 131.8183006 132.4167597 131.6586696
|
||||
209 2 1 -82.9844547 -85.47123292 92.81285561
|
||||
210 3 -1 115.4743016 -5.981969165 65.81311346
|
||||
211 3 -1 -86.91538943 171.1823129 -45.00079
|
||||
212 3 -1 174.0893311 141.4009485 159.8631805
|
||||
213 3 -1 164.8739505 64.21237704 -8.113691614
|
||||
214 3 -1 -75.49748308 40.97887837 158.0779944
|
||||
215 3 -1 45.16399203 72.25791157 159.9861897
|
||||
216 3 -1 105.7676225 -56.05853127 3.624467826
|
||||
217 3 -1 166.8523536 -151.4993186 -151.6124408
|
||||
218 3 -1 -43.30886503 46.05330597 155.3934201
|
||||
219 3 -1 -5.592027058 2.85325065 11.39381158
|
||||
264
examples/USER/misc/charge_regulation/data.chreg-polymer
Normal file
264
examples/USER/misc/charge_regulation/data.chreg-polymer
Normal file
@ -0,0 +1,264 @@
|
||||
##A Weak PE Chain of N=80
|
||||
|
||||
160 atoms
|
||||
79 bonds
|
||||
|
||||
5 atom types
|
||||
1 bond types
|
||||
|
||||
-50 50 xlo xhi
|
||||
-50 50 ylo yhi
|
||||
-50 50 zlo zhi
|
||||
|
||||
Masses
|
||||
|
||||
1 1.0
|
||||
2 1.0
|
||||
3 1.0
|
||||
4 1.0
|
||||
5 1.0
|
||||
|
||||
Atoms
|
||||
# atom_id molecule_id atom_type charge x y z
|
||||
1 1 1 -1 0 0 -48.37753795169063
|
||||
2 1 1 -1 0 0 -47.255075903381254
|
||||
3 1 1 -1 0 0 -46.13261385507188
|
||||
4 1 1 -1 0 0 -45.01015180676251
|
||||
5 1 1 -1 0 0 -43.887689758453135
|
||||
6 1 1 -1 0 0 -42.76522771014376
|
||||
7 1 1 -1 0 0 -41.64276566183439
|
||||
8 1 1 -1 0 0 -40.520303613525016
|
||||
9 1 1 -1 0 0 -39.39784156521564
|
||||
10 1 1 -1 0 0 -38.27537951690627
|
||||
11 1 1 -1 0 0 -37.1529174685969
|
||||
12 1 1 -1 0 0 -36.030455420287524
|
||||
13 1 1 -1 0 0 -34.90799337197815
|
||||
14 1 1 -1 0 0 -33.78553132366878
|
||||
15 1 1 -1 0 0 -32.663069275359405
|
||||
16 1 1 -1 0 0 -31.54060722705003
|
||||
17 1 1 -1 0 0 -30.41814517874066
|
||||
18 1 1 -1 0 0 -29.295683130431286
|
||||
19 1 1 -1 0 0 -28.173221082121913
|
||||
20 1 1 -1 0 0 -27.05075903381254
|
||||
21 1 1 -1 0 0 -25.928296985503167
|
||||
22 1 1 -1 0 0 -24.805834937193794
|
||||
23 1 1 -1 0 0 -23.68337288888442
|
||||
24 1 1 -1 0 0 -22.560910840575048
|
||||
25 1 1 -1 0 0 -21.438448792265675
|
||||
26 1 1 -1 0 0 -20.3159867439563
|
||||
27 1 1 -1 0 0 -19.19352469564693
|
||||
28 1 1 -1 0 0 -18.071062647337556
|
||||
29 1 1 -1 0 0 -16.948600599028183
|
||||
30 1 1 -1 0 0 -15.82613855071881
|
||||
31 1 1 -1 0 0 -14.703676502409436
|
||||
32 1 1 -1 0 0 -13.581214454100063
|
||||
33 1 1 -1 0 0 -12.45875240579069
|
||||
34 1 1 -1 0 0 -11.336290357481317
|
||||
35 1 1 -1 0 0 -10.213828309171944
|
||||
36 1 1 -1 0 0 -9.091366260862571
|
||||
37 1 1 -1 0 0 -7.968904212553198
|
||||
38 1 1 -1 0 0 -6.846442164243825
|
||||
39 1 1 -1 0 0 -5.723980115934452
|
||||
40 1 1 -1 0 0 -4.601518067625079
|
||||
41 1 1 -1 0 0 -3.4790560193157063
|
||||
42 1 1 -1 0 0 -2.3565939710063333
|
||||
43 1 1 -1 0 0 -1.2341319226969603
|
||||
44 1 1 -1 0 0 -0.11166987438758724
|
||||
45 1 1 -1 0 0 1.0107921739217858
|
||||
46 1 1 -1 0 0 2.133254222231159
|
||||
47 1 1 -1 0 0 3.255716270540532
|
||||
48 1 1 -1 0 0 4.378178318849905
|
||||
49 1 1 -1 0 0 5.500640367159278
|
||||
50 1 1 -1 0 0 6.623102415468651
|
||||
51 1 1 -1 0 0 7.745564463778024
|
||||
52 1 1 -1 0 0 8.868026512087397
|
||||
53 1 1 -1 0 0 9.99048856039677
|
||||
54 1 1 -1 0 0 11.112950608706143
|
||||
55 1 1 -1 0 0 12.235412657015516
|
||||
56 1 1 -1 0 0 13.357874705324889
|
||||
57 1 1 -1 0 0 14.480336753634262
|
||||
58 1 1 -1 0 0 15.602798801943635
|
||||
59 1 1 -1 0 0 16.725260850253008
|
||||
60 1 1 -1 0 0 17.84772289856238
|
||||
61 1 1 -1 0 0 18.970184946871754
|
||||
62 1 1 -1 0 0 20.092646995181127
|
||||
63 1 1 -1 0 0 21.2151090434905
|
||||
64 1 1 -1 0 0 22.337571091799873
|
||||
65 1 1 -1 0 0 23.460033140109246
|
||||
66 1 1 -1 0 0 24.58249518841862
|
||||
67 1 1 -1 0 0 25.704957236727992
|
||||
68 1 1 -1 0 0 26.827419285037365
|
||||
69 1 1 -1 0 0 27.949881333346738
|
||||
70 1 1 -1 0 0 29.07234338165611
|
||||
71 1 1 -1 0 0 30.194805429965484
|
||||
72 1 1 -1 0 0 31.317267478274857
|
||||
73 1 1 -1 0 0 32.43972952658423
|
||||
74 1 1 -1 0 0 33.5621915748936
|
||||
75 1 1 -1 0 0 34.684653623202976
|
||||
76 1 1 -1 0 0 35.80711567151235
|
||||
77 1 1 -1 0 0 36.92957771982172
|
||||
78 1 1 -1 0 0 38.052039768131095
|
||||
79 1 1 -1 0 0 39.17450181644047
|
||||
80 1 1 -1 0 0 40.29696386474984
|
||||
81 0 2 1 -27.886422274724097 27.72001798427955 38.68169635811057
|
||||
82 0 2 1 29.812255760623188 17.871838747003693 -29.094648426460257
|
||||
83 0 2 1 -13.23881351410531 13.28123966828678 -24.422176415560116
|
||||
84 0 2 1 4.9465650593939685 -37.7521903558826 -15.115417767729575
|
||||
85 0 2 1 34.82527943387106 29.457664434004897 -25.565595338061254
|
||||
86 0 2 1 46.35660570786446 -7.161776614070412 -20.2471250527001
|
||||
87 0 2 1 39.20854546781531 34.96815569014278 13.893531822586723
|
||||
88 0 2 1 -7.797240698180197 0.07861219105048889 48.686453603015224
|
||||
89 0 2 1 43.92391845355516 -39.42362941705827 22.448930565867585
|
||||
90 0 2 1 -40.371744364329984 -17.743039071967246 -15.08153047835009
|
||||
91 0 2 1 -21.573165497710058 -0.5844447399891948 -45.73596994149077
|
||||
92 0 2 1 -19.882394451769102 -7.392447895357577 30.733607063808876
|
||||
93 0 2 1 -17.393031309514107 26.882975097407467 -47.64059480000892
|
||||
94 0 2 1 25.652222561671735 1.0229206994719107 -14.959030208952043
|
||||
95 0 2 1 26.075045766879313 19.902341017250052 46.70284805469666
|
||||
96 0 2 1 39.91980369168496 0.753749460187592 -26.203575929573407
|
||||
97 0 2 1 13.777613371273958 7.112171629839359 -33.5270487721399
|
||||
98 0 2 1 18.944534687271826 20.090215089875286 -34.381335468790574
|
||||
99 0 2 1 -23.801856387842435 -42.275962146864586 -8.322936238250279
|
||||
100 0 2 1 -31.386991395893826 29.83894468611787 8.937114269513422
|
||||
101 0 2 1 -41.07090001085809 49.59339931450579 6.666864232174753
|
||||
102 0 2 1 -46.58911504232167 -32.46068937927039 19.40424197066872
|
||||
103 0 2 1 -39.94659416571965 -36.28203465180086 5.841020764632312
|
||||
104 0 2 1 -26.027467090120137 -41.05522015175137 -1.1145958296128313
|
||||
105 0 2 1 37.09602855959457 23.76087951027276 45.09142423198867
|
||||
106 0 2 1 -27.78138413517528 -48.97344929918942 45.91491289356401
|
||||
107 0 2 1 4.468912883622387 -5.217782298407556 6.381420595433383
|
||||
108 0 2 1 36.758686966564525 48.425582881586166 -25.909273336802997
|
||||
109 0 2 1 -27.045102667146036 -19.713951008254117 4.339232870380627
|
||||
110 0 2 1 -5.984280016624311 -49.45311479123866 36.35727783065221
|
||||
111 0 2 1 27.833389147163018 -47.80144978082761 -47.71458334276804
|
||||
112 0 2 1 -23.628507668044364 -30.353876765128685 36.174277933133254
|
||||
113 0 2 1 -40.93360714431151 40.1336490864843 -27.035347797435495
|
||||
114 0 2 1 6.3523980881104976 -28.636485436097082 -10.671354350535445
|
||||
115 0 2 1 42.765716958607086 -32.85779663523676 -1.9682360265562124
|
||||
116 0 2 1 -33.68069757415453 16.800769050458484 -6.273374390373085
|
||||
117 0 2 1 13.909148568042937 4.921040289518388 12.111069913598996
|
||||
118 0 2 1 6.728324076730296 -48.44092815223126 -35.92436883370601
|
||||
119 0 2 1 -18.121173967321912 -15.76903395165283 2.2495451015454933
|
||||
120 0 2 1 -11.75253233489407 -45.82569982175387 -12.477142440015896
|
||||
121 0 2 1 1.9713864197144133 17.961034900064007 32.97992150691711
|
||||
122 0 2 1 -3.993384770632943 -47.63120435620297 27.75490859098018
|
||||
123 0 2 1 -0.32208279553454844 -47.30616152402566 -22.751109302380367
|
||||
124 0 2 1 -0.135777029397957 23.88599790464609 -31.87440560354473
|
||||
125 0 2 1 -6.123924906817393 -2.038519565120424 45.4809181974626
|
||||
126 0 2 1 -29.622588299895046 42.40404115712096 6.640479709229595
|
||||
127 0 2 1 -11.694512971272673 19.983258641775762 -38.152427411711145
|
||||
128 0 2 1 -20.93721440637313 39.46397829322392 -45.52708262202337
|
||||
129 0 2 1 34.13340147809369 36.14268504987945 -23.978137043267044
|
||||
130 0 2 1 -37.422309952611485 29.181841318883087 27.55677757161692
|
||||
131 0 2 1 30.11314373799594 18.721794400471353 1.5553303682670574
|
||||
132 0 2 1 -7.3563467211571805 46.84253369205935 -39.84708490437832
|
||||
133 0 2 1 -3.695927445484358 2.494403998274727 -7.634369981832755
|
||||
134 0 2 1 44.09701173592077 17.717328437831043 31.54108326477207
|
||||
135 0 2 1 48.070189931616795 10.601166369398662 -28.28574863896286
|
||||
136 0 2 1 -7.044858382811761 -42.080663380241766 -1.4369925734636553
|
||||
137 0 2 1 -12.485032488076918 23.87106169116919 6.178803347562642
|
||||
138 0 2 1 -15.613232443702309 10.103630885941392 -20.447182948810916
|
||||
139 0 2 1 28.610332347774147 37.08335835592116 -19.90280831362493
|
||||
140 0 2 1 25.853920233242505 -27.768648181803655 24.971357611943475
|
||||
141 0 2 1 9.256159541363296 -23.562096053197934 -4.722701100419371
|
||||
142 0 2 1 39.96929397877305 -11.88228547846326 -28.70638149104603
|
||||
143 0 2 1 -37.98545134633291 -23.50528193202669 -10.939982626098441
|
||||
144 0 2 1 25.40017763114089 -47.49220127581256 15.1783064865064
|
||||
145 0 2 1 28.073596076651768 3.6631266774864386 31.54355751177208
|
||||
146 0 2 1 -19.596457173068703 46.79824882013442 -12.302655772327597
|
||||
147 0 2 1 -36.46192411958321 -2.785830672302666 -25.1901381125736
|
||||
148 0 2 1 -27.377389198969894 11.295792272951147 39.32842550184691
|
||||
149 0 2 1 32.24967019136358 -20.517755791016402 31.20590722085157
|
||||
150 0 2 1 47.70698618147787 9.75462874031868 -28.267447889542563
|
||||
151 0 2 1 17.157803106328345 -27.48141290657965 7.7670687016760525
|
||||
152 0 2 1 15.089833959419678 5.342811012118396 27.35336620165029
|
||||
153 0 2 1 9.836963929211372 -11.047378229392443 -20.960811370690678
|
||||
154 0 2 1 44.66600586278604 14.949733274456321 -29.328965994323575
|
||||
155 0 2 1 -21.006260382140685 8.492712712433658 -46.31580169190271
|
||||
156 0 2 1 -29.970979487850748 -36.46250489415931 26.914372830947457
|
||||
157 0 2 1 -1.0821372755756329 -8.453379951300242 -19.95665062432509
|
||||
158 0 2 1 -24.033653425909772 -39.51330620205049 20.067656167683793
|
||||
159 0 2 1 27.747287624384626 -21.904990435351312 -10.819345241055956
|
||||
160 0 2 1 -40.86737066410612 -25.609300376714796 -21.128139356809783
|
||||
|
||||
Bonds
|
||||
# bond_id bond_type atom1_id atom2_id
|
||||
1 1 1 2
|
||||
2 1 2 3
|
||||
3 1 3 4
|
||||
4 1 4 5
|
||||
5 1 5 6
|
||||
6 1 6 7
|
||||
7 1 7 8
|
||||
8 1 8 9
|
||||
9 1 9 10
|
||||
10 1 10 11
|
||||
11 1 11 12
|
||||
12 1 12 13
|
||||
13 1 13 14
|
||||
14 1 14 15
|
||||
15 1 15 16
|
||||
16 1 16 17
|
||||
17 1 17 18
|
||||
18 1 18 19
|
||||
19 1 19 20
|
||||
20 1 20 21
|
||||
21 1 21 22
|
||||
22 1 22 23
|
||||
23 1 23 24
|
||||
24 1 24 25
|
||||
25 1 25 26
|
||||
26 1 26 27
|
||||
27 1 27 28
|
||||
28 1 28 29
|
||||
29 1 29 30
|
||||
30 1 30 31
|
||||
31 1 31 32
|
||||
32 1 32 33
|
||||
33 1 33 34
|
||||
34 1 34 35
|
||||
35 1 35 36
|
||||
36 1 36 37
|
||||
37 1 37 38
|
||||
38 1 38 39
|
||||
39 1 39 40
|
||||
40 1 40 41
|
||||
41 1 41 42
|
||||
42 1 42 43
|
||||
43 1 43 44
|
||||
44 1 44 45
|
||||
45 1 45 46
|
||||
46 1 46 47
|
||||
47 1 47 48
|
||||
48 1 48 49
|
||||
49 1 49 50
|
||||
50 1 50 51
|
||||
51 1 51 52
|
||||
52 1 52 53
|
||||
53 1 53 54
|
||||
54 1 54 55
|
||||
55 1 55 56
|
||||
56 1 56 57
|
||||
57 1 57 58
|
||||
58 1 58 59
|
||||
59 1 59 60
|
||||
60 1 60 61
|
||||
61 1 61 62
|
||||
62 1 62 63
|
||||
63 1 63 64
|
||||
64 1 64 65
|
||||
65 1 65 66
|
||||
66 1 66 67
|
||||
67 1 67 68
|
||||
68 1 68 69
|
||||
69 1 69 70
|
||||
70 1 70 71
|
||||
71 1 71 72
|
||||
72 1 72 73
|
||||
73 1 73 74
|
||||
74 1 74 75
|
||||
75 1 75 76
|
||||
76 1 76 77
|
||||
77 1 77 78
|
||||
78 1 78 79
|
||||
79 1 79 80
|
||||
36
examples/USER/misc/charge_regulation/in.chreg-acid
Normal file
36
examples/USER/misc/charge_regulation/in.chreg-acid
Normal file
@ -0,0 +1,36 @@
|
||||
# Charge regulation lammps for simple weak electrolyte
|
||||
|
||||
units lj
|
||||
atom_style charge
|
||||
neighbor 3.0 bin
|
||||
read_data data.chreg-acid
|
||||
|
||||
variable cut_long equal 12.5
|
||||
variable nevery equal 100
|
||||
variable nmc equal 100
|
||||
variable pH equal 7.0
|
||||
variable pKa equal 6.0
|
||||
variable pIm equal 3.0
|
||||
variable pIp equal 3.0
|
||||
|
||||
variable cut_lj equal 2^(1.0/6.0)
|
||||
variable lunit_nm equal 0.72 # in the units of nm
|
||||
velocity all create 1.0 8008 loop geom
|
||||
|
||||
pair_style lj/cut/coul/long ${cut_lj} ${cut_long}
|
||||
pair_coeff * * 1.0 1.0
|
||||
kspace_style ewald 1.0e-3
|
||||
pair_modify shift yes
|
||||
|
||||
######### VERLET INTEGRATION WITH LANGEVIN THERMOSTAT ###########
|
||||
fix fnve all nve
|
||||
compute dtemp all temp
|
||||
compute_modify dtemp dynamic yes
|
||||
fix fT all langevin 1.0 1.0 1.0 123
|
||||
fix_modify fT temp dtemp
|
||||
|
||||
fix chareg all charge/regulation 2 3 acid_type 1 pH ${pH} pKa ${pKa} pIp ${pIp} pIm ${pIm} lunit_nm ${lunit_nm} nevery ${nevery} nmc ${nmc} seed 2345 tempfixid fT
|
||||
thermo 100
|
||||
thermo_style custom step pe c_dtemp f_chareg[1] f_chareg[2] f_chareg[3] f_chareg[4] f_chareg[5] f_chareg[6] f_chareg[7] f_chareg[8]
|
||||
timestep 0.005
|
||||
run 2000
|
||||
44
examples/USER/misc/charge_regulation/in.chreg-acid-real
Normal file
44
examples/USER/misc/charge_regulation/in.chreg-acid-real
Normal file
@ -0,0 +1,44 @@
|
||||
# Charge regulation lammps for simple weak electrolyte
|
||||
|
||||
units real
|
||||
atom_style charge
|
||||
neighbor 10.0 bin
|
||||
read_data data.chreg-acid-real
|
||||
|
||||
#real units
|
||||
variable sigma equal 7.2 # particle diameter 0.72 nm
|
||||
variable temperature equal 298 # temperature 298 K
|
||||
variable kb index 0.0019872067 # kB in Kcal/mol/K
|
||||
variable epsilon equal ${kb}*${temperature}
|
||||
variable tunit equal 2000 # time unit is 2000 fs
|
||||
variable timestep equal 0.005*${tunit}
|
||||
|
||||
variable cut_long equal 12.5*${sigma}
|
||||
variable nevery equal 100
|
||||
variable nmc equal 100
|
||||
variable pH equal 7.0
|
||||
variable pKa equal 6.0
|
||||
variable pIm equal 3.0
|
||||
variable pIp equal 3.0
|
||||
|
||||
variable cut_lj equal 2^(1.0/6.0)*${sigma}
|
||||
velocity all create ${temperature} 8008 loop geom
|
||||
|
||||
pair_style lj/cut/coul/long ${cut_lj} ${cut_long}
|
||||
pair_coeff * * ${epsilon} ${sigma}
|
||||
kspace_style pppm 1.0e-3
|
||||
dielectric 78
|
||||
pair_modify shift yes
|
||||
|
||||
######### VERLET INTEGRATION WITH LANGEVIN THERMOSTAT ###########
|
||||
fix fnve all nve
|
||||
compute dtemp all temp
|
||||
compute_modify dtemp dynamic yes
|
||||
fix fT all langevin $(v_temperature) $(v_temperature) $(v_tunit) 123
|
||||
fix_modify fT temp dtemp
|
||||
|
||||
fix chareg all charge/regulation 2 3 acid_type 1 pH ${pH} pKa ${pKa} pIp ${pIp} pIm ${pIm} lunit_nm 0.1 nevery ${nevery} nmc ${nmc} seed 2345 tempfixid fT
|
||||
thermo 100
|
||||
thermo_style custom step pe c_dtemp f_chareg[1] f_chareg[2] f_chareg[3] f_chareg[4] f_chareg[5] f_chareg[6] f_chareg[7] f_chareg[8]
|
||||
timestep ${timestep}
|
||||
run 2000
|
||||
33
examples/USER/misc/charge_regulation/in.chreg-polymer
Normal file
33
examples/USER/misc/charge_regulation/in.chreg-polymer
Normal file
@ -0,0 +1,33 @@
|
||||
# Charge regulation lammps for a polymer chain
|
||||
units lj
|
||||
atom_style full
|
||||
neighbor 3.0 bin
|
||||
read_data data.chreg-polymer
|
||||
|
||||
bond_style harmonic
|
||||
bond_coeff 1 100 1.122462 # K R0
|
||||
velocity all create 1.0 8008 loop geom
|
||||
|
||||
pair_style lj/cut/coul/long 1.122462 20
|
||||
pair_coeff * * 1.0 1.0 1.122462 # charges
|
||||
kspace_style pppm 1.0e-3
|
||||
pair_modify shift yes
|
||||
dielectric 1.0
|
||||
|
||||
######### VERLET INTEGRATION WITH LANGEVIN THERMOSTAT ###########
|
||||
fix fnve all nve
|
||||
compute dtemp all temp
|
||||
compute_modify dtemp dynamic yes
|
||||
fix fT all langevin 1.0 1.0 1.0 123
|
||||
fix_modify fT temp dtemp
|
||||
|
||||
fix chareg1 all charge/regulation 2 3 acid_type 1 pH 7.0 pKa 6.5 pIp 3.0 pIm 3.0 temp 1.0 nmc 40 seed 2345
|
||||
fix chareg2 all charge/regulation 4 5 acid_type 1 pH 7.0 pKa 6.5 pIp 7.0 pIm 7.0 temp 1.0 nmc 40 seed 2345
|
||||
fix chareg3 all charge/regulation 4 3 pIp 7.0 pIm 3.0 temp 1.0 nmc 20 seed 2345
|
||||
|
||||
thermo 100
|
||||
# print: step, potential energy, temperature, neutral acids, charged acids, salt cations, salt anions, H+ ions, OH- ions
|
||||
thermo_style custom step pe c_dtemp f_chareg1[3] f_chareg1[4] f_chareg1[7] f_chareg1[8] f_chareg2[7] f_chareg2[8]
|
||||
|
||||
timestep 0.005
|
||||
run 2000
|
||||
@ -0,0 +1,125 @@
|
||||
LAMMPS (10 Feb 2021)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Charge regulation lammps for simple weak electrolyte
|
||||
|
||||
units lj
|
||||
atom_style charge
|
||||
neighbor 3.0 bin
|
||||
read_data data.chreg-acid
|
||||
Reading data file ...
|
||||
orthogonal box = (-25.000000 -25.000000 -25.000000) to (25.000000 25.000000 25.000000)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
219 atoms
|
||||
read_data CPU = 0.003 seconds
|
||||
|
||||
variable cut_long equal 12.5
|
||||
variable nevery equal 100
|
||||
variable nmc equal 100
|
||||
variable pH equal 7.0
|
||||
variable pKa equal 6.0
|
||||
variable pIm equal 3.0
|
||||
variable pIp equal 3.0
|
||||
|
||||
variable cut_lj equal 2^(1.0/6.0)
|
||||
variable lunit_nm equal 0.72 # in the units of nm
|
||||
velocity all create 1.0 8008 loop geom
|
||||
|
||||
pair_style lj/cut/coul/long ${cut_lj} ${cut_long}
|
||||
pair_style lj/cut/coul/long 1.12246204830937 ${cut_long}
|
||||
pair_style lj/cut/coul/long 1.12246204830937 12.5
|
||||
pair_coeff * * 1.0 1.0
|
||||
kspace_style ewald 1.0e-3
|
||||
pair_modify shift yes
|
||||
|
||||
######### VERLET INTEGRATION WITH LANGEVIN THERMOSTAT ###########
|
||||
fix fnve all nve
|
||||
compute dtemp all temp
|
||||
compute_modify dtemp dynamic yes
|
||||
fix fT all langevin 1.0 1.0 1.0 123
|
||||
fix_modify fT temp dtemp
|
||||
|
||||
fix chareg all charge/regulation 2 3 acid_type 1 pH ${pH} pKa ${pKa} pIp ${pIp} pIm ${pIm} lunit_nm ${lunit_nm} nevery ${nevery} nmc ${nmc} seed 2345 tempfixid fT
|
||||
fix chareg all charge/regulation 2 3 acid_type 1 pH 7 pKa ${pKa} pIp ${pIp} pIm ${pIm} lunit_nm ${lunit_nm} nevery ${nevery} nmc ${nmc} seed 2345 tempfixid fT
|
||||
fix chareg all charge/regulation 2 3 acid_type 1 pH 7 pKa 6 pIp ${pIp} pIm ${pIm} lunit_nm ${lunit_nm} nevery ${nevery} nmc ${nmc} seed 2345 tempfixid fT
|
||||
fix chareg all charge/regulation 2 3 acid_type 1 pH 7 pKa 6 pIp 3 pIm ${pIm} lunit_nm ${lunit_nm} nevery ${nevery} nmc ${nmc} seed 2345 tempfixid fT
|
||||
fix chareg all charge/regulation 2 3 acid_type 1 pH 7 pKa 6 pIp 3 pIm 3 lunit_nm ${lunit_nm} nevery ${nevery} nmc ${nmc} seed 2345 tempfixid fT
|
||||
fix chareg all charge/regulation 2 3 acid_type 1 pH 7 pKa 6 pIp 3 pIm 3 lunit_nm 0.72 nevery ${nevery} nmc ${nmc} seed 2345 tempfixid fT
|
||||
fix chareg all charge/regulation 2 3 acid_type 1 pH 7 pKa 6 pIp 3 pIm 3 lunit_nm 0.72 nevery 100 nmc ${nmc} seed 2345 tempfixid fT
|
||||
fix chareg all charge/regulation 2 3 acid_type 1 pH 7 pKa 6 pIp 3 pIm 3 lunit_nm 0.72 nevery 100 nmc 100 seed 2345 tempfixid fT
|
||||
thermo 100
|
||||
thermo_style custom step pe c_dtemp f_chareg[1] f_chareg[2] f_chareg[3] f_chareg[4] f_chareg[5] f_chareg[6] f_chareg[7] f_chareg[8]
|
||||
timestep 0.005
|
||||
run 2000
|
||||
Ewald initialization ...
|
||||
using 12-bit tables for long-range coulomb (src/kspace.cpp:339)
|
||||
G vector (1/distance) = 0.14221027
|
||||
estimated absolute RMS force accuracy = 0.0010128126
|
||||
estimated relative force accuracy = 0.0010128126
|
||||
KSpace vectors: actual max1d max3d = 257 5 665
|
||||
kxmax kymax kzmax = 5 5 5
|
||||
0 atoms in group FixChargeRegulation:exclusion_group:chareg
|
||||
WARNING: Neighbor exclusions used with KSpace solver may give inconsistent Coulombic energies (src/neighbor.cpp:486)
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 15.5
|
||||
ghost atom cutoff = 15.5
|
||||
binsize = 7.75, bins = 7 7 7
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/cut/coul/long, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/atomonly/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 11.91 | 11.91 | 11.91 Mbytes
|
||||
Step PotEng c_dtemp f_chareg[1] f_chareg[2] f_chareg[3] f_chareg[4] f_chareg[5] f_chareg[6] f_chareg[7] f_chareg[8]
|
||||
0 -0.049662059 1 0 0 1 99 0 0 109 10
|
||||
100 -0.053672881 0.99159291 100 71 16 84 0 0 92 8
|
||||
200 -0.053383027 0.90935145 200 156 26 74 0 0 85 11
|
||||
300 -0.040471335 0.97937429 300 240 21 79 0 0 87 8
|
||||
400 -0.036188123 1.0837424 400 319 14 86 0 0 92 6
|
||||
500 -0.057294925 1.0507526 500 407 10 90 0 0 98 8
|
||||
600 -0.056009748 1.0669354 600 487 15 85 0 0 92 7
|
||||
700 -0.069686562 0.99202496 700 567 14 86 0 0 96 10
|
||||
800 -0.054695624 1.0592933 800 647 25 75 0 0 82 7
|
||||
900 -0.058693653 0.97870458 900 728 27 73 0 0 83 10
|
||||
1000 -0.062352957 1.0008923 1000 805 24 76 0 0 84 8
|
||||
1100 -0.065011926 0.91691048 1100 886 22 78 0 0 87 9
|
||||
1200 -0.080463686 0.98879304 1200 963 23 77 0 0 88 11
|
||||
1300 -0.062146141 1.0566033 1300 1047 21 79 0 0 88 9
|
||||
1400 -0.046980246 1.0847512 1400 1129 17 83 0 0 94 11
|
||||
1500 -0.042935292 1.0075805 1500 1203 24 76 0 0 86 10
|
||||
1600 -0.056075891 0.94173489 1600 1277 23 77 0 0 90 13
|
||||
1700 -0.042279161 1.1126317 1700 1355 28 72 0 0 82 10
|
||||
1800 -0.036842528 1.0255327 1800 1436 24 76 0 0 83 7
|
||||
1900 -0.038816022 0.93883373 1900 1511 23 77 0 0 86 9
|
||||
2000 -0.047008287 0.98904085 2000 1592 26 74 0 0 81 7
|
||||
Loop time of 11.6365 on 1 procs for 2000 steps with 188 atoms
|
||||
|
||||
Performance: 74249.079 tau/day, 171.873 timesteps/s
|
||||
99.8% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.24337 | 0.24337 | 0.24337 | 0.0 | 2.09
|
||||
Kspace | 4.6009 | 4.6009 | 4.6009 | 0.0 | 39.54
|
||||
Neigh | 0.023451 | 0.023451 | 0.023451 | 0.0 | 0.20
|
||||
Comm | 0.027729 | 0.027729 | 0.027729 | 0.0 | 0.24
|
||||
Output | 0.0007813 | 0.0007813 | 0.0007813 | 0.0 | 0.01
|
||||
Modify | 6.7345 | 6.7345 | 6.7345 | 0.0 | 57.87
|
||||
Other | | 0.005713 | | | 0.05
|
||||
|
||||
Nlocal: 188.000 ave 188 max 188 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 597.000 ave 597 max 597 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 2196.00 ave 2196 max 2196 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 2196
|
||||
Ave neighs/atom = 11.680851
|
||||
Neighbor list builds = 2059
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:11
|
||||
@ -0,0 +1,125 @@
|
||||
LAMMPS (10 Feb 2021)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Charge regulation lammps for simple weak electrolyte
|
||||
|
||||
units lj
|
||||
atom_style charge
|
||||
neighbor 3.0 bin
|
||||
read_data data.chreg-acid
|
||||
Reading data file ...
|
||||
orthogonal box = (-25.000000 -25.000000 -25.000000) to (25.000000 25.000000 25.000000)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
reading atoms ...
|
||||
219 atoms
|
||||
read_data CPU = 0.003 seconds
|
||||
|
||||
variable cut_long equal 12.5
|
||||
variable nevery equal 100
|
||||
variable nmc equal 100
|
||||
variable pH equal 7.0
|
||||
variable pKa equal 6.0
|
||||
variable pIm equal 3.0
|
||||
variable pIp equal 3.0
|
||||
|
||||
variable cut_lj equal 2^(1.0/6.0)
|
||||
variable lunit_nm equal 0.72 # in the units of nm
|
||||
velocity all create 1.0 8008 loop geom
|
||||
|
||||
pair_style lj/cut/coul/long ${cut_lj} ${cut_long}
|
||||
pair_style lj/cut/coul/long 1.12246204830937 ${cut_long}
|
||||
pair_style lj/cut/coul/long 1.12246204830937 12.5
|
||||
pair_coeff * * 1.0 1.0
|
||||
kspace_style ewald 1.0e-3
|
||||
pair_modify shift yes
|
||||
|
||||
######### VERLET INTEGRATION WITH LANGEVIN THERMOSTAT ###########
|
||||
fix fnve all nve
|
||||
compute dtemp all temp
|
||||
compute_modify dtemp dynamic yes
|
||||
fix fT all langevin 1.0 1.0 1.0 123
|
||||
fix_modify fT temp dtemp
|
||||
|
||||
fix chareg all charge/regulation 2 3 acid_type 1 pH ${pH} pKa ${pKa} pIp ${pIp} pIm ${pIm} lunit_nm ${lunit_nm} nevery ${nevery} nmc ${nmc} seed 2345 tempfixid fT
|
||||
fix chareg all charge/regulation 2 3 acid_type 1 pH 7 pKa ${pKa} pIp ${pIp} pIm ${pIm} lunit_nm ${lunit_nm} nevery ${nevery} nmc ${nmc} seed 2345 tempfixid fT
|
||||
fix chareg all charge/regulation 2 3 acid_type 1 pH 7 pKa 6 pIp ${pIp} pIm ${pIm} lunit_nm ${lunit_nm} nevery ${nevery} nmc ${nmc} seed 2345 tempfixid fT
|
||||
fix chareg all charge/regulation 2 3 acid_type 1 pH 7 pKa 6 pIp 3 pIm ${pIm} lunit_nm ${lunit_nm} nevery ${nevery} nmc ${nmc} seed 2345 tempfixid fT
|
||||
fix chareg all charge/regulation 2 3 acid_type 1 pH 7 pKa 6 pIp 3 pIm 3 lunit_nm ${lunit_nm} nevery ${nevery} nmc ${nmc} seed 2345 tempfixid fT
|
||||
fix chareg all charge/regulation 2 3 acid_type 1 pH 7 pKa 6 pIp 3 pIm 3 lunit_nm 0.72 nevery ${nevery} nmc ${nmc} seed 2345 tempfixid fT
|
||||
fix chareg all charge/regulation 2 3 acid_type 1 pH 7 pKa 6 pIp 3 pIm 3 lunit_nm 0.72 nevery 100 nmc ${nmc} seed 2345 tempfixid fT
|
||||
fix chareg all charge/regulation 2 3 acid_type 1 pH 7 pKa 6 pIp 3 pIm 3 lunit_nm 0.72 nevery 100 nmc 100 seed 2345 tempfixid fT
|
||||
thermo 100
|
||||
thermo_style custom step pe c_dtemp f_chareg[1] f_chareg[2] f_chareg[3] f_chareg[4] f_chareg[5] f_chareg[6] f_chareg[7] f_chareg[8]
|
||||
timestep 0.005
|
||||
run 2000
|
||||
Ewald initialization ...
|
||||
using 12-bit tables for long-range coulomb (src/kspace.cpp:339)
|
||||
G vector (1/distance) = 0.14221027
|
||||
estimated absolute RMS force accuracy = 0.0010128126
|
||||
estimated relative force accuracy = 0.0010128126
|
||||
KSpace vectors: actual max1d max3d = 257 5 665
|
||||
kxmax kymax kzmax = 5 5 5
|
||||
0 atoms in group FixChargeRegulation:exclusion_group:chareg
|
||||
WARNING: Neighbor exclusions used with KSpace solver may give inconsistent Coulombic energies (src/neighbor.cpp:486)
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 15.5
|
||||
ghost atom cutoff = 15.5
|
||||
binsize = 7.75, bins = 7 7 7
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/cut/coul/long, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/atomonly/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 11.89 | 11.89 | 11.89 Mbytes
|
||||
Step PotEng c_dtemp f_chareg[1] f_chareg[2] f_chareg[3] f_chareg[4] f_chareg[5] f_chareg[6] f_chareg[7] f_chareg[8]
|
||||
0 -0.049662059 1 0 0 1 99 0 0 109 10
|
||||
100 -0.06196414 1.0156327 100 72 15 85 0 0 93 8
|
||||
200 -0.053901683 0.95128403 200 160 24 76 0 0 87 11
|
||||
300 -0.043852423 0.98035058 300 246 22 78 0 0 85 7
|
||||
400 -0.048370798 1.0909844 400 324 16 84 0 0 91 7
|
||||
500 -0.042546472 1.026849 500 410 13 87 0 0 95 8
|
||||
600 -0.06133022 0.97805065 600 494 14 86 0 0 93 7
|
||||
700 -0.053815853 1.0641005 700 572 17 83 0 0 91 8
|
||||
800 -0.059974814 1.0192348 800 650 23 77 0 0 83 6
|
||||
900 -0.051808132 1.0773288 900 728 25 75 0 0 85 10
|
||||
1000 -0.050390995 1.0236954 1000 804 28 72 0 0 81 9
|
||||
1100 -0.069766444 1.030965 1100 890 25 75 0 0 85 10
|
||||
1200 -0.074580231 1.0490058 1200 963 21 79 0 0 88 9
|
||||
1300 -0.060169443 0.93456607 1300 1043 22 78 0 0 86 8
|
||||
1400 -0.05120764 1.0374062 1400 1127 19 81 0 0 92 11
|
||||
1500 -0.027644416 0.99804782 1500 1204 24 76 0 0 85 9
|
||||
1600 -0.038599195 0.99015524 1600 1283 22 78 0 0 90 12
|
||||
1700 -0.050222686 1.1444379 1700 1365 27 73 0 0 84 11
|
||||
1800 -0.049338003 1.1188048 1800 1449 22 78 0 0 84 6
|
||||
1900 -0.04533154 0.99894341 1900 1527 22 78 0 0 86 8
|
||||
2000 -0.058837311 0.95302017 2000 1608 26 74 0 0 81 7
|
||||
Loop time of 3.98119 on 4 procs for 2000 steps with 188 atoms
|
||||
|
||||
Performance: 217020.495 tau/day, 502.362 timesteps/s
|
||||
96.2% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.050626 | 0.061127 | 0.071318 | 3.4 | 1.54
|
||||
Kspace | 1.1987 | 1.2504 | 1.288 | 3.1 | 31.41
|
||||
Neigh | 0.0056982 | 0.0063858 | 0.0069821 | 0.7 | 0.16
|
||||
Comm | 0.068302 | 0.11638 | 0.17922 | 12.8 | 2.92
|
||||
Output | 0.00055408 | 0.00092399 | 0.0020106 | 0.0 | 0.02
|
||||
Modify | 2.5399 | 2.5406 | 2.5417 | 0.0 | 63.81
|
||||
Other | | 0.005394 | | | 0.14
|
||||
|
||||
Nlocal: 47.0000 ave 55 max 42 min
|
||||
Histogram: 1 0 1 1 0 0 0 0 0 1
|
||||
Nghost: 328.250 ave 335 max 317 min
|
||||
Histogram: 1 0 0 0 0 1 0 0 0 2
|
||||
Neighs: 547.000 ave 659 max 466 min
|
||||
Histogram: 2 0 0 0 0 0 1 0 0 1
|
||||
|
||||
Total # of neighbors = 2188
|
||||
Ave neighs/atom = 11.638298
|
||||
Neighbor list builds = 2057
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:04
|
||||
@ -0,0 +1,131 @@
|
||||
LAMMPS (10 Feb 2021)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Charge regulation lammps for a polymer chain
|
||||
units lj
|
||||
atom_style full
|
||||
neighbor 3.0 bin
|
||||
read_data data.chreg-polymer
|
||||
Reading data file ...
|
||||
orthogonal box = (-50.000000 -50.000000 -50.000000) to (50.000000 50.000000 50.000000)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
160 atoms
|
||||
scanning bonds ...
|
||||
1 = max bonds/atom
|
||||
reading bonds ...
|
||||
79 bonds
|
||||
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
|
||||
2 = max # of 1-3 neighbors
|
||||
4 = max # of 1-4 neighbors
|
||||
6 = max # of special neighbors
|
||||
special bonds CPU = 0.001 seconds
|
||||
read_data CPU = 0.009 seconds
|
||||
|
||||
bond_style harmonic
|
||||
bond_coeff 1 100 1.122462 # K R0
|
||||
velocity all create 1.0 8008 loop geom
|
||||
|
||||
pair_style lj/cut/coul/long 1.122462 20
|
||||
pair_coeff * * 1.0 1.0 1.122462 # charges
|
||||
kspace_style pppm 1.0e-3
|
||||
pair_modify shift yes
|
||||
dielectric 1.0
|
||||
|
||||
######### VERLET INTEGRATION WITH LANGEVIN THERMOSTAT ###########
|
||||
fix fnve all nve
|
||||
compute dtemp all temp
|
||||
compute_modify dtemp dynamic yes
|
||||
fix fT all langevin 1.0 1.0 1.0 123
|
||||
fix_modify fT temp dtemp
|
||||
|
||||
fix chareg1 all charge/regulation 2 3 acid_type 1 pH 7.0 pKa 6.5 pIp 3.0 pIm 3.0 temp 1.0 nmc 40 seed 2345
|
||||
fix chareg2 all charge/regulation 4 5 acid_type 1 pH 7.0 pKa 6.5 pIp 7.0 pIm 7.0 temp 1.0 nmc 40 seed 2345
|
||||
fix chareg3 all charge/regulation 4 3 pIp 7.0 pIm 3.0 temp 1.0 nmc 20 seed 2345
|
||||
|
||||
thermo 100
|
||||
# print: step, potential energy, temperature, neutral acids, charged acids, salt cations, salt anions, H+ ions, OH- ions
|
||||
thermo_style custom step pe c_dtemp f_chareg1[3] f_chareg1[4] f_chareg1[7] f_chareg1[8] f_chareg2[7] f_chareg2[8]
|
||||
|
||||
timestep 0.005
|
||||
run 2000
|
||||
PPPM initialization ...
|
||||
using 12-bit tables for long-range coulomb (src/kspace.cpp:339)
|
||||
G vector (1/distance) = 0.077106934
|
||||
grid = 8 8 8
|
||||
stencil order = 5
|
||||
estimated absolute RMS force accuracy = 0.00074388331
|
||||
estimated relative force accuracy = 0.00074388331
|
||||
using double precision FFTW3
|
||||
3d grid and FFT values/proc = 2197 512
|
||||
0 atoms in group FixChargeRegulation:exclusion_group:chareg1
|
||||
0 atoms in group FixChargeRegulation:exclusion_group:chareg2
|
||||
0 atoms in group FixChargeRegulation:exclusion_group:chareg3
|
||||
WARNING: Neighbor exclusions used with KSpace solver may give inconsistent Coulombic energies (src/neighbor.cpp:486)
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 23
|
||||
ghost atom cutoff = 23
|
||||
binsize = 11.5, bins = 9 9 9
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/cut/coul/long, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 6.962 | 6.962 | 6.962 Mbytes
|
||||
Step PotEng c_dtemp f_chareg1[3] f_chareg1[4] f_chareg1[7] f_chareg1[8] f_chareg2[7] f_chareg2[8]
|
||||
0 0.50528297 1 0 80 80 0 0 0
|
||||
100 0.61185377 0.95892928 13 67 74 7 0 0
|
||||
200 0.54355177 1.1282424 19 61 76 15 0 0
|
||||
300 0.4519957 1.0764688 20 60 85 26 1 0
|
||||
400 0.41479389 0.99212685 24 56 92 36 0 0
|
||||
500 0.37382446 0.99776674 28 52 98 46 0 0
|
||||
600 0.34785337 1.1115081 28 52 109 57 0 0
|
||||
700 0.34637618 1.0332262 28 52 120 68 0 0
|
||||
800 0.21020932 1.1264036 29 51 125 74 0 0
|
||||
900 0.21246108 1.1168609 30 50 131 81 0 0
|
||||
1000 0.20997475 1.1201478 32 48 132 84 0 0
|
||||
1100 0.1984165 1.0209092 31 49 144 95 0 0
|
||||
1200 0.2061932 0.95880059 35 45 151 106 0 0
|
||||
1300 0.17220376 0.980077 36 44 156 112 0 0
|
||||
1400 0.15671143 0.93535342 37 43 161 118 0 0
|
||||
1500 0.16174665 0.9495928 36 44 168 124 0 0
|
||||
1600 0.11062965 0.94072924 40 40 164 124 0 0
|
||||
1700 0.13002563 0.95010828 38 42 167 125 0 0
|
||||
1800 0.14527814 0.93555342 37 43 172 129 0 0
|
||||
1900 0.17627465 0.96682495 32 48 176 128 0 0
|
||||
2000 0.16497265 0.95226954 33 47 180 133 0 0
|
||||
Loop time of 7.45499 on 1 procs for 2000 steps with 393 atoms
|
||||
|
||||
Performance: 115895.577 tau/day, 268.277 timesteps/s
|
||||
99.6% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.45607 | 0.45607 | 0.45607 | 0.0 | 6.12
|
||||
Bond | 0.0062385 | 0.0062385 | 0.0062385 | 0.0 | 0.08
|
||||
Kspace | 2.3257 | 2.3257 | 2.3257 | 0.0 | 31.20
|
||||
Neigh | 0.067103 | 0.067103 | 0.067103 | 0.0 | 0.90
|
||||
Comm | 0.02577 | 0.02577 | 0.02577 | 0.0 | 0.35
|
||||
Output | 0.00087047 | 0.00087047 | 0.00087047 | 0.0 | 0.01
|
||||
Modify | 4.5664 | 4.5664 | 4.5664 | 0.0 | 61.25
|
||||
Other | | 0.006848 | | | 0.09
|
||||
|
||||
Nlocal: 393.000 ave 393 max 393 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 749.000 ave 749 max 749 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 5359.00 ave 5359 max 5359 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 5359
|
||||
Ave neighs/atom = 13.636132
|
||||
Ave special neighs/atom = 1.1908397
|
||||
Neighbor list builds = 1489
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:07
|
||||
@ -0,0 +1,131 @@
|
||||
LAMMPS (10 Feb 2021)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Charge regulation lammps for a polymer chain
|
||||
units lj
|
||||
atom_style full
|
||||
neighbor 3.0 bin
|
||||
read_data data.chreg-polymer
|
||||
Reading data file ...
|
||||
orthogonal box = (-50.000000 -50.000000 -50.000000) to (50.000000 50.000000 50.000000)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
reading atoms ...
|
||||
160 atoms
|
||||
scanning bonds ...
|
||||
1 = max bonds/atom
|
||||
reading bonds ...
|
||||
79 bonds
|
||||
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
|
||||
2 = max # of 1-3 neighbors
|
||||
4 = max # of 1-4 neighbors
|
||||
6 = max # of special neighbors
|
||||
special bonds CPU = 0.001 seconds
|
||||
read_data CPU = 0.016 seconds
|
||||
|
||||
bond_style harmonic
|
||||
bond_coeff 1 100 1.122462 # K R0
|
||||
velocity all create 1.0 8008 loop geom
|
||||
|
||||
pair_style lj/cut/coul/long 1.122462 20
|
||||
pair_coeff * * 1.0 1.0 1.122462 # charges
|
||||
kspace_style pppm 1.0e-3
|
||||
pair_modify shift yes
|
||||
dielectric 1.0
|
||||
|
||||
######### VERLET INTEGRATION WITH LANGEVIN THERMOSTAT ###########
|
||||
fix fnve all nve
|
||||
compute dtemp all temp
|
||||
compute_modify dtemp dynamic yes
|
||||
fix fT all langevin 1.0 1.0 1.0 123
|
||||
fix_modify fT temp dtemp
|
||||
|
||||
fix chareg1 all charge/regulation 2 3 acid_type 1 pH 7.0 pKa 6.5 pIp 3.0 pIm 3.0 temp 1.0 nmc 40 seed 2345
|
||||
fix chareg2 all charge/regulation 4 5 acid_type 1 pH 7.0 pKa 6.5 pIp 7.0 pIm 7.0 temp 1.0 nmc 40 seed 2345
|
||||
fix chareg3 all charge/regulation 4 3 pIp 7.0 pIm 3.0 temp 1.0 nmc 20 seed 2345
|
||||
|
||||
thermo 100
|
||||
# print: step, potential energy, temperature, neutral acids, charged acids, salt cations, salt anions, H+ ions, OH- ions
|
||||
thermo_style custom step pe c_dtemp f_chareg1[3] f_chareg1[4] f_chareg1[7] f_chareg1[8] f_chareg2[7] f_chareg2[8]
|
||||
|
||||
timestep 0.005
|
||||
run 2000
|
||||
PPPM initialization ...
|
||||
using 12-bit tables for long-range coulomb (src/kspace.cpp:339)
|
||||
G vector (1/distance) = 0.077106934
|
||||
grid = 8 8 8
|
||||
stencil order = 5
|
||||
estimated absolute RMS force accuracy = 0.00074388331
|
||||
estimated relative force accuracy = 0.00074388331
|
||||
using double precision FFTW3
|
||||
3d grid and FFT values/proc = 1053 128
|
||||
0 atoms in group FixChargeRegulation:exclusion_group:chareg1
|
||||
0 atoms in group FixChargeRegulation:exclusion_group:chareg2
|
||||
0 atoms in group FixChargeRegulation:exclusion_group:chareg3
|
||||
WARNING: Neighbor exclusions used with KSpace solver may give inconsistent Coulombic energies (src/neighbor.cpp:486)
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 23
|
||||
ghost atom cutoff = 23
|
||||
binsize = 11.5, bins = 9 9 9
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/cut/coul/long, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 6.878 | 6.935 | 6.992 Mbytes
|
||||
Step PotEng c_dtemp f_chareg1[3] f_chareg1[4] f_chareg1[7] f_chareg1[8] f_chareg2[7] f_chareg2[8]
|
||||
0 0.50528297 1 0 80 80 0 0 0
|
||||
100 0.60223729 0.89547569 13 67 75 8 0 0
|
||||
200 0.65253636 0.87662399 18 62 78 16 0 0
|
||||
300 0.51550501 1.0542131 22 58 84 27 1 0
|
||||
400 0.43566766 0.94557633 26 54 90 36 0 0
|
||||
500 0.36269507 1.0386276 31 49 94 45 0 0
|
||||
600 0.32430641 0.99903033 27 53 111 58 0 0
|
||||
700 0.30255299 0.91225991 28 52 121 69 0 0
|
||||
800 0.27189951 0.9747089 28 52 127 75 0 0
|
||||
900 0.25495247 1.0747821 28 52 135 83 0 0
|
||||
1000 0.25950416 0.95256449 32 48 134 86 0 0
|
||||
1100 0.22561248 1.0102255 32 48 147 99 0 0
|
||||
1200 0.1734754 0.99475154 33 47 157 110 0 0
|
||||
1300 0.20081084 0.99873599 36 44 160 116 0 0
|
||||
1400 0.14240417 0.99442152 36 44 164 121 1 0
|
||||
1500 0.15314186 0.94559876 39 41 167 126 0 0
|
||||
1600 0.13574107 1.0484195 43 37 164 127 0 0
|
||||
1700 0.14477789 1.0105172 42 38 166 128 0 0
|
||||
1800 0.13493107 1.0349667 41 39 171 132 0 0
|
||||
1900 0.14849779 0.9994329 33 47 178 131 0 0
|
||||
2000 0.14485171 0.99739608 34 46 183 137 0 0
|
||||
Loop time of 3.18871 on 4 procs for 2000 steps with 400 atoms
|
||||
|
||||
Performance: 270955.695 tau/day, 627.212 timesteps/s
|
||||
94.5% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.086456 | 0.11738 | 0.18562 | 11.8 | 3.68
|
||||
Bond | 0.00099182 | 0.0018544 | 0.0030079 | 1.8 | 0.06
|
||||
Kspace | 0.77406 | 0.79354 | 0.80895 | 1.5 | 24.89
|
||||
Neigh | 0.017894 | 0.017948 | 0.018002 | 0.0 | 0.56
|
||||
Comm | 0.029044 | 0.07885 | 0.11432 | 11.3 | 2.47
|
||||
Output | 0.00054932 | 0.0009656 | 0.0021319 | 0.0 | 0.03
|
||||
Modify | 2.1676 | 2.1706 | 2.1733 | 0.2 | 68.07
|
||||
Other | | 0.007591 | | | 0.24
|
||||
|
||||
Nlocal: 100.000 ave 110 max 89 min
|
||||
Histogram: 1 1 0 0 0 0 0 0 0 2
|
||||
Nghost: 415.000 ave 418 max 411 min
|
||||
Histogram: 1 0 1 0 0 0 0 0 0 2
|
||||
Neighs: 1360.75 ave 1872 max 1018 min
|
||||
Histogram: 1 1 0 0 1 0 0 0 0 1
|
||||
|
||||
Total # of neighbors = 5443
|
||||
Ave neighs/atom = 13.607500
|
||||
Ave special neighs/atom = 1.1700000
|
||||
Neighbor list builds = 1492
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:03
|
||||
@ -0,0 +1,145 @@
|
||||
LAMMPS (10 Feb 2021)
|
||||
# Charge regulation lammps for simple weak electrolyte
|
||||
|
||||
units real
|
||||
atom_style charge
|
||||
neighbor 10.0 bin
|
||||
read_data data.chreg-acid-real
|
||||
Reading data file ...
|
||||
orthogonal box = (-180.00000 -180.00000 -180.00000) to (180.00000 180.00000 180.00000)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
219 atoms
|
||||
read_data CPU = 0.002 seconds
|
||||
|
||||
#real units
|
||||
variable sigma equal 7.2 # particle diameter 0.72 nm
|
||||
variable temperature equal 298 # temperature 298 K
|
||||
variable kb index 0.0019872067 # kB in Kcal/mol/K
|
||||
variable epsilon equal ${kb}*${temperature}
|
||||
variable epsilon equal 0.0019872067*${temperature}
|
||||
variable epsilon equal 0.0019872067*298
|
||||
variable tunit equal 2000 # time unit is 2000 fs
|
||||
variable timestep equal 0.005*${tunit}
|
||||
variable timestep equal 0.005*2000
|
||||
|
||||
variable cut_long equal 12.5*${sigma}
|
||||
variable cut_long equal 12.5*7.2
|
||||
variable nevery equal 100
|
||||
variable nmc equal 100
|
||||
variable pH equal 7.0
|
||||
variable pKa equal 6.0
|
||||
variable pIm equal 3.0
|
||||
variable pIp equal 3.0
|
||||
|
||||
variable cut_lj equal 2^(1.0/6.0)*${sigma}
|
||||
variable cut_lj equal 2^(1.0/6.0)*7.2
|
||||
velocity all create ${temperature} 8008 loop geom
|
||||
velocity all create 298 8008 loop geom
|
||||
|
||||
pair_style lj/cut/coul/long ${cut_lj} ${cut_long}
|
||||
pair_style lj/cut/coul/long 8.08172674782749 ${cut_long}
|
||||
pair_style lj/cut/coul/long 8.08172674782749 90
|
||||
pair_coeff * * ${epsilon} ${sigma}
|
||||
pair_coeff * * 0.5921875966 ${sigma}
|
||||
pair_coeff * * 0.5921875966 7.2
|
||||
kspace_style pppm 1.0e-3
|
||||
dielectric 78
|
||||
pair_modify shift yes
|
||||
|
||||
######### VERLET INTEGRATION WITH LANGEVIN THERMOSTAT ###########
|
||||
fix fnve all nve
|
||||
compute dtemp all temp
|
||||
compute_modify dtemp dynamic yes
|
||||
fix fT all langevin $(v_temperature) $(v_temperature) $(v_tunit) 123
|
||||
fix fT all langevin 298 $(v_temperature) $(v_tunit) 123
|
||||
fix fT all langevin 298 298 $(v_tunit) 123
|
||||
fix fT all langevin 298 298 2000 123
|
||||
fix_modify fT temp dtemp
|
||||
|
||||
fix chareg all charge/regulation 2 3 acid_type 1 pH ${pH} pKa ${pKa} pIp ${pIp} pIm ${pIm} lunit_nm 0.1 nevery ${nevery} nmc ${nmc} seed 2345 tempfixid fT
|
||||
fix chareg all charge/regulation 2 3 acid_type 1 pH 7 pKa ${pKa} pIp ${pIp} pIm ${pIm} lunit_nm 0.1 nevery ${nevery} nmc ${nmc} seed 2345 tempfixid fT
|
||||
fix chareg all charge/regulation 2 3 acid_type 1 pH 7 pKa 6 pIp ${pIp} pIm ${pIm} lunit_nm 0.1 nevery ${nevery} nmc ${nmc} seed 2345 tempfixid fT
|
||||
fix chareg all charge/regulation 2 3 acid_type 1 pH 7 pKa 6 pIp 3 pIm ${pIm} lunit_nm 0.1 nevery ${nevery} nmc ${nmc} seed 2345 tempfixid fT
|
||||
fix chareg all charge/regulation 2 3 acid_type 1 pH 7 pKa 6 pIp 3 pIm 3 lunit_nm 0.1 nevery ${nevery} nmc ${nmc} seed 2345 tempfixid fT
|
||||
fix chareg all charge/regulation 2 3 acid_type 1 pH 7 pKa 6 pIp 3 pIm 3 lunit_nm 0.1 nevery 100 nmc ${nmc} seed 2345 tempfixid fT
|
||||
fix chareg all charge/regulation 2 3 acid_type 1 pH 7 pKa 6 pIp 3 pIm 3 lunit_nm 0.1 nevery 100 nmc 100 seed 2345 tempfixid fT
|
||||
thermo 100
|
||||
thermo_style custom step pe c_dtemp f_chareg[1] f_chareg[2] f_chareg[3] f_chareg[4] f_chareg[5] f_chareg[6] f_chareg[7] f_chareg[8]
|
||||
timestep ${timestep}
|
||||
timestep 10
|
||||
run 2000
|
||||
PPPM initialization ...
|
||||
using 12-bit tables for long-range coulomb (../kspace.cpp:339)
|
||||
G vector (1/distance) = 0.019408615
|
||||
grid = 8 8 8
|
||||
stencil order = 5
|
||||
estimated absolute RMS force accuracy = 0.00012527706
|
||||
estimated relative force accuracy = 3.7726815e-07
|
||||
using double precision KISS FFT
|
||||
3d grid and FFT values/proc = 2197 512
|
||||
0 atoms in group FixChargeRegulation:exclusion_group:chareg
|
||||
WARNING: Neighbor exclusions used with KSpace solver may give inconsistent Coulombic energies (../neighbor.cpp:486)
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 100
|
||||
ghost atom cutoff = 100
|
||||
binsize = 50, bins = 8 8 8
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/cut/coul/long, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/atomonly/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.708 | 3.708 | 3.708 Mbytes
|
||||
Step PotEng c_dtemp f_chareg[1] f_chareg[2] f_chareg[3] f_chareg[4] f_chareg[5] f_chareg[6] f_chareg[7] f_chareg[8]
|
||||
0 -6.4798431 298 0 0 1 99 0 0 109 10
|
||||
100 -6.9219668 306.44177 100 77 15 85 0 0 94 9
|
||||
200 -6.8175255 306.64254 200 164 23 77 0 0 87 10
|
||||
300 -5.2482381 331.67831 300 248 21 79 0 0 85 6
|
||||
400 -7.4531538 285.3495 400 326 17 83 0 0 89 6
|
||||
500 -6.9662528 286.2123 500 408 14 86 0 0 95 9
|
||||
600 -6.528214 291.41762 600 492 14 86 0 0 95 9
|
||||
700 -6.290871 271.50948 700 567 14 86 0 0 96 10
|
||||
800 -6.4944741 300.66261 800 650 23 77 0 0 83 6
|
||||
900 -8.0414672 305.6179 900 731 25 75 0 0 84 9
|
||||
1000 -8.5694583 298.73349 1000 810 25 75 0 0 83 8
|
||||
1100 -8.6677368 269.67435 1100 894 22 78 0 0 87 9
|
||||
1200 -8.2246183 284.14886 1200 969 22 78 0 0 88 10
|
||||
1300 -7.7674621 320.04838 1300 1040 23 77 0 0 85 8
|
||||
1400 -9.5186335 303.48091 1400 1124 18 82 0 0 93 11
|
||||
1500 -5.8437493 271.40712 1500 1204 25 75 0 0 83 8
|
||||
1600 -5.9149181 268.24708 1600 1285 23 77 0 0 90 13
|
||||
1700 -6.5047738 303.79732 1700 1369 27 73 0 0 84 11
|
||||
1800 -7.3010139 308.98213 1800 1450 22 78 0 0 83 5
|
||||
1900 -6.3505397 306.94357 1900 1527 22 78 0 0 86 8
|
||||
2000 -5.7144173 287.06184 2000 1605 27 73 0 0 80 7
|
||||
Loop time of 1.17189 on 1 procs for 2000 steps with 187 atoms
|
||||
|
||||
Performance: 1474.535 ns/day, 0.016 hours/ns, 1706.638 timesteps/s
|
||||
99.6% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.035807 | 0.035807 | 0.035807 | 0.0 | 3.06
|
||||
Kspace | 0.37689 | 0.37689 | 0.37689 | 0.0 | 32.16
|
||||
Neigh | 0.008694 | 0.008694 | 0.008694 | 0.0 | 0.74
|
||||
Comm | 0.004793 | 0.004793 | 0.004793 | 0.0 | 0.41
|
||||
Output | 0.000746 | 0.000746 | 0.000746 | 0.0 | 0.06
|
||||
Modify | 0.74292 | 0.74292 | 0.74292 | 0.0 | 63.39
|
||||
Other | | 0.00205 | | | 0.17
|
||||
|
||||
Nlocal: 187.000 ave 187 max 187 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 437.000 ave 437 max 437 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 1500.00 ave 1500 max 1500 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 1500
|
||||
Ave neighs/atom = 8.0213904
|
||||
Neighbor list builds = 2080
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:01
|
||||
@ -0,0 +1,145 @@
|
||||
LAMMPS (10 Feb 2021)
|
||||
# Charge regulation lammps for simple weak electrolyte
|
||||
|
||||
units real
|
||||
atom_style charge
|
||||
neighbor 10.0 bin
|
||||
read_data data.chreg-acid-real
|
||||
Reading data file ...
|
||||
orthogonal box = (-180.00000 -180.00000 -180.00000) to (180.00000 180.00000 180.00000)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
reading atoms ...
|
||||
219 atoms
|
||||
read_data CPU = 0.002 seconds
|
||||
|
||||
#real units
|
||||
variable sigma equal 7.2 # particle diameter 0.72 nm
|
||||
variable temperature equal 298 # temperature 298 K
|
||||
variable kb index 0.0019872067 # kB in Kcal/mol/K
|
||||
variable epsilon equal ${kb}*${temperature}
|
||||
variable epsilon equal 0.0019872067*${temperature}
|
||||
variable epsilon equal 0.0019872067*298
|
||||
variable tunit equal 2000 # time unit is 2000 fs
|
||||
variable timestep equal 0.005*${tunit}
|
||||
variable timestep equal 0.005*2000
|
||||
|
||||
variable cut_long equal 12.5*${sigma}
|
||||
variable cut_long equal 12.5*7.2
|
||||
variable nevery equal 100
|
||||
variable nmc equal 100
|
||||
variable pH equal 7.0
|
||||
variable pKa equal 6.0
|
||||
variable pIm equal 3.0
|
||||
variable pIp equal 3.0
|
||||
|
||||
variable cut_lj equal 2^(1.0/6.0)*${sigma}
|
||||
variable cut_lj equal 2^(1.0/6.0)*7.2
|
||||
velocity all create ${temperature} 8008 loop geom
|
||||
velocity all create 298 8008 loop geom
|
||||
|
||||
pair_style lj/cut/coul/long ${cut_lj} ${cut_long}
|
||||
pair_style lj/cut/coul/long 8.08172674782749 ${cut_long}
|
||||
pair_style lj/cut/coul/long 8.08172674782749 90
|
||||
pair_coeff * * ${epsilon} ${sigma}
|
||||
pair_coeff * * 0.5921875966 ${sigma}
|
||||
pair_coeff * * 0.5921875966 7.2
|
||||
kspace_style pppm 1.0e-3
|
||||
dielectric 78
|
||||
pair_modify shift yes
|
||||
|
||||
######### VERLET INTEGRATION WITH LANGEVIN THERMOSTAT ###########
|
||||
fix fnve all nve
|
||||
compute dtemp all temp
|
||||
compute_modify dtemp dynamic yes
|
||||
fix fT all langevin $(v_temperature) $(v_temperature) $(v_tunit) 123
|
||||
fix fT all langevin 298 $(v_temperature) $(v_tunit) 123
|
||||
fix fT all langevin 298 298 $(v_tunit) 123
|
||||
fix fT all langevin 298 298 2000 123
|
||||
fix_modify fT temp dtemp
|
||||
|
||||
fix chareg all charge/regulation 2 3 acid_type 1 pH ${pH} pKa ${pKa} pIp ${pIp} pIm ${pIm} lunit_nm 0.1 nevery ${nevery} nmc ${nmc} seed 2345 tempfixid fT
|
||||
fix chareg all charge/regulation 2 3 acid_type 1 pH 7 pKa ${pKa} pIp ${pIp} pIm ${pIm} lunit_nm 0.1 nevery ${nevery} nmc ${nmc} seed 2345 tempfixid fT
|
||||
fix chareg all charge/regulation 2 3 acid_type 1 pH 7 pKa 6 pIp ${pIp} pIm ${pIm} lunit_nm 0.1 nevery ${nevery} nmc ${nmc} seed 2345 tempfixid fT
|
||||
fix chareg all charge/regulation 2 3 acid_type 1 pH 7 pKa 6 pIp 3 pIm ${pIm} lunit_nm 0.1 nevery ${nevery} nmc ${nmc} seed 2345 tempfixid fT
|
||||
fix chareg all charge/regulation 2 3 acid_type 1 pH 7 pKa 6 pIp 3 pIm 3 lunit_nm 0.1 nevery ${nevery} nmc ${nmc} seed 2345 tempfixid fT
|
||||
fix chareg all charge/regulation 2 3 acid_type 1 pH 7 pKa 6 pIp 3 pIm 3 lunit_nm 0.1 nevery 100 nmc ${nmc} seed 2345 tempfixid fT
|
||||
fix chareg all charge/regulation 2 3 acid_type 1 pH 7 pKa 6 pIp 3 pIm 3 lunit_nm 0.1 nevery 100 nmc 100 seed 2345 tempfixid fT
|
||||
thermo 100
|
||||
thermo_style custom step pe c_dtemp f_chareg[1] f_chareg[2] f_chareg[3] f_chareg[4] f_chareg[5] f_chareg[6] f_chareg[7] f_chareg[8]
|
||||
timestep ${timestep}
|
||||
timestep 10
|
||||
run 2000
|
||||
PPPM initialization ...
|
||||
using 12-bit tables for long-range coulomb (../kspace.cpp:339)
|
||||
G vector (1/distance) = 0.019408615
|
||||
grid = 8 8 8
|
||||
stencil order = 5
|
||||
estimated absolute RMS force accuracy = 0.00012527706
|
||||
estimated relative force accuracy = 3.7726815e-07
|
||||
using double precision KISS FFT
|
||||
3d grid and FFT values/proc = 1053 128
|
||||
0 atoms in group FixChargeRegulation:exclusion_group:chareg
|
||||
WARNING: Neighbor exclusions used with KSpace solver may give inconsistent Coulombic energies (../neighbor.cpp:486)
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 100
|
||||
ghost atom cutoff = 100
|
||||
binsize = 50, bins = 8 8 8
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/cut/coul/long, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/atomonly/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.624 | 3.624 | 3.624 Mbytes
|
||||
Step PotEng c_dtemp f_chareg[1] f_chareg[2] f_chareg[3] f_chareg[4] f_chareg[5] f_chareg[6] f_chareg[7] f_chareg[8]
|
||||
0 -6.4798431 298 0 0 1 99 0 0 109 10
|
||||
100 -7.6327126 304.68909 100 73 15 85 0 0 94 9
|
||||
200 -6.1699041 272.19597 200 156 24 76 0 0 87 11
|
||||
300 -7.7876571 288.90801 300 240 20 80 0 0 87 7
|
||||
400 -6.3239918 274.65708 400 315 16 84 0 0 90 6
|
||||
500 -5.3978659 257.49208 500 398 15 85 0 0 93 8
|
||||
600 -5.6433949 322.52048 600 477 18 82 0 0 90 8
|
||||
700 -6.5351367 269.20244 700 558 18 82 0 0 91 9
|
||||
800 -6.2093085 315.21326 800 638 24 76 0 0 83 7
|
||||
900 -7.0795998 311.93228 900 719 28 72 0 0 82 10
|
||||
1000 -6.4668438 281.72674 1000 796 27 73 0 0 81 8
|
||||
1100 -6.2377994 318.48594 1100 875 25 75 0 0 84 9
|
||||
1200 -6.6305072 304.9091 1200 950 23 77 0 0 87 10
|
||||
1300 -5.9624552 286.05027 1300 1029 22 78 0 0 86 8
|
||||
1400 -4.4695814 261.81053 1400 1111 20 80 0 0 90 10
|
||||
1500 -5.6928652 293.72403 1500 1191 24 76 0 0 86 10
|
||||
1600 -6.8715413 290.47065 1600 1275 22 78 0 0 90 12
|
||||
1700 -6.5067505 292.74735 1700 1356 25 75 0 0 85 10
|
||||
1800 -5.3902702 307.79012 1800 1434 22 78 0 0 83 5
|
||||
1900 -5.1407153 318.48918 1900 1510 21 79 0 0 87 8
|
||||
2000 -4.9514719 281.87771 2000 1589 25 75 0 0 82 7
|
||||
Loop time of 0.562889 on 4 procs for 2000 steps with 189 atoms
|
||||
|
||||
Performance: 3069.876 ns/day, 0.008 hours/ns, 3553.097 timesteps/s
|
||||
99.6% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.008399 | 0.010383 | 0.011765 | 1.2 | 1.84
|
||||
Kspace | 0.17501 | 0.17543 | 0.1757 | 0.1 | 31.17
|
||||
Neigh | 0.001833 | 0.0021325 | 0.002293 | 0.4 | 0.38
|
||||
Comm | 0.023099 | 0.024255 | 0.026645 | 0.9 | 4.31
|
||||
Output | 0.000465 | 0.000546 | 0.000783 | 0.0 | 0.10
|
||||
Modify | 0.3464 | 0.34669 | 0.34698 | 0.0 | 61.59
|
||||
Other | | 0.003452 | | | 0.61
|
||||
|
||||
Nlocal: 47.2500 ave 57 max 41 min
|
||||
Histogram: 1 1 0 1 0 0 0 0 0 1
|
||||
Nghost: 285.750 ave 303 max 263 min
|
||||
Histogram: 1 0 0 0 1 0 0 0 1 1
|
||||
Neighs: 403.500 ave 548 max 324 min
|
||||
Histogram: 2 0 0 1 0 0 0 0 0 1
|
||||
|
||||
Total # of neighbors = 1614
|
||||
Ave neighs/atom = 8.5396825
|
||||
Neighbor list builds = 2081
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:00
|
||||
1
examples/USER/pace/Cu-PBE-core-rep.ace
Symbolic link
1
examples/USER/pace/Cu-PBE-core-rep.ace
Symbolic link
@ -0,0 +1 @@
|
||||
../../../potentials/Cu-PBE-core-rep.ace
|
||||
38
examples/USER/pace/in.pace.product
Normal file
38
examples/USER/pace/in.pace.product
Normal file
@ -0,0 +1,38 @@
|
||||
# simple test of fcc Cu with ACE product
|
||||
|
||||
units metal
|
||||
atom_style atomic
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify every 2 delay 10 check yes
|
||||
|
||||
variable a equal 3.597
|
||||
lattice fcc $a
|
||||
region box block 0 4 0 4 0 4
|
||||
create_box 1 box
|
||||
create_atoms 1 box
|
||||
|
||||
mass 1 26.98
|
||||
|
||||
group Al type 1
|
||||
|
||||
pair_style pace product
|
||||
pair_coeff * * Cu-PBE-core-rep.ace Cu
|
||||
|
||||
velocity all create 300 8728 loop geom
|
||||
timestep 0.0005
|
||||
fix 1 all nve
|
||||
|
||||
compute eatom all pe/atom
|
||||
compute energy all reduce sum c_eatom
|
||||
variable delenergy equal c_energy-pe
|
||||
|
||||
compute satom all stress/atom NULL
|
||||
compute str all reduce sum c_satom[1] c_satom[2] c_satom[3]
|
||||
variable delpress equal -(c_str[1]+c_str[2]+c_str[3])/(3*vol)-press
|
||||
|
||||
thermo 10
|
||||
thermo_style custom step temp epair etotal press v_delenergy v_delpress
|
||||
|
||||
run 100
|
||||
|
||||
38
examples/USER/pace/in.pace.recursive
Normal file
38
examples/USER/pace/in.pace.recursive
Normal file
@ -0,0 +1,38 @@
|
||||
# simple test of fcc Cu with ACE recursive
|
||||
|
||||
units metal
|
||||
atom_style atomic
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify every 2 delay 10 check yes
|
||||
|
||||
variable a equal 3.597
|
||||
lattice fcc $a
|
||||
region box block 0 4 0 4 0 4
|
||||
create_box 1 box
|
||||
create_atoms 1 box
|
||||
|
||||
mass 1 26.98
|
||||
|
||||
group Al type 1
|
||||
|
||||
pair_style pace recursive
|
||||
pair_coeff * * Cu-PBE-core-rep.ace Cu
|
||||
|
||||
velocity all create 300 8728 loop geom
|
||||
timestep 0.0005
|
||||
fix 1 all nve
|
||||
|
||||
compute eatom all pe/atom
|
||||
compute energy all reduce sum c_eatom
|
||||
variable delenergy equal c_energy-pe
|
||||
|
||||
compute satom all stress/atom NULL
|
||||
compute str all reduce sum c_satom[1] c_satom[2] c_satom[3]
|
||||
variable delpress equal -(c_str[1]+c_str[2]+c_str[3])/(3*vol)-press
|
||||
|
||||
thermo 10
|
||||
thermo_style custom step temp epair etotal press v_delenergy v_delpress
|
||||
|
||||
run 100
|
||||
|
||||
108
examples/USER/pace/log.03Feb2021.pace.product.g++.1
Normal file
108
examples/USER/pace/log.03Feb2021.pace.product.g++.1
Normal file
@ -0,0 +1,108 @@
|
||||
LAMMPS (24 Dec 2020)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:94)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# simple test of fcc Cu with ACE product
|
||||
|
||||
units metal
|
||||
atom_style atomic
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify every 2 delay 10 check yes
|
||||
|
||||
variable a equal 3.597
|
||||
lattice fcc $a
|
||||
lattice fcc 3.597
|
||||
Lattice spacing in x,y,z = 3.5970000 3.5970000 3.5970000
|
||||
region box block 0 4 0 4 0 4
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (14.388000 14.388000 14.388000)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 256 atoms
|
||||
create_atoms CPU = 0.000 seconds
|
||||
|
||||
mass 1 26.98
|
||||
|
||||
group Al type 1
|
||||
256 atoms in group Al
|
||||
|
||||
pair_style pace product
|
||||
ACE version: 2021.2.3
|
||||
Product evaluator is used
|
||||
pair_coeff * * Cu-PBE-core-rep.ace Cu
|
||||
Loading Cu-PBE-core-rep.ace
|
||||
Total number of basis functions
|
||||
Cu: 16 (r=1) 726 (r>1)
|
||||
Mapping LAMMPS atom type #1(Cu) -> ACE species type #0
|
||||
|
||||
velocity all create 300 8728 loop geom
|
||||
timestep 0.0005
|
||||
fix 1 all nve
|
||||
|
||||
compute eatom all pe/atom
|
||||
compute energy all reduce sum c_eatom
|
||||
variable delenergy equal c_energy-pe
|
||||
|
||||
compute satom all stress/atom NULL
|
||||
compute str all reduce sum c_satom[1] c_satom[2] c_satom[3]
|
||||
variable delpress equal -(c_str[1]+c_str[2]+c_str[3])/(3*vol)-press
|
||||
|
||||
thermo 10
|
||||
thermo_style custom step temp epair etotal press v_delenergy v_delpress
|
||||
|
||||
run 100
|
||||
Neighbor list info ...
|
||||
update every 2 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 7.7
|
||||
ghost atom cutoff = 7.7
|
||||
binsize = 3.85, bins = 4 4 4
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair pace, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 4.036 | 4.036 | 4.036 Mbytes
|
||||
Step Temp E_pair TotEng Press v_delenergy v_delpress
|
||||
0 300 -945.9873 -936.0989 45359.818 0 2.1827873e-11
|
||||
10 280.68558 -945.35055 -936.09878 46326.919 0 2.910383e-11
|
||||
20 228.73618 -943.63789 -936.09844 48903.598 0 -2.910383e-11
|
||||
30 160.53661 -941.38948 -936.09798 52222.083 0 -2.910383e-11
|
||||
40 97.732944 -939.31899 -936.09758 55176.875 0 2.1827873e-11
|
||||
50 59.165961 -938.04759 -936.0974 56850.103 0 2.910383e-11
|
||||
60 53.124678 -937.84857 -936.09751 56878.948 0 0
|
||||
70 74.623347 -938.5575 -936.09782 55565.237 0 4.3655746e-11
|
||||
80 109.4762 -939.70663 -936.09815 53665.652 0 2.910383e-11
|
||||
90 142.02657 -940.77975 -936.09837 52001.1 0 0
|
||||
100 161.73598 -941.42945 -936.09842 51114.997 0 1.4551915e-11
|
||||
Loop time of 11.4718 on 1 procs for 100 steps with 256 atoms
|
||||
|
||||
Performance: 0.377 ns/day, 63.732 hours/ns, 8.717 timesteps/s
|
||||
99.3% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 11.468 | 11.468 | 11.468 | 0.0 | 99.96
|
||||
Neigh | 0.001181 | 0.001181 | 0.001181 | 0.0 | 0.01
|
||||
Comm | 0.001207 | 0.001207 | 0.001207 | 0.0 | 0.01
|
||||
Output | 0.000876 | 0.000876 | 0.000876 | 0.0 | 0.01
|
||||
Modify | 0.000455 | 0.000455 | 0.000455 | 0.0 | 0.00
|
||||
Other | | 0.000397 | | | 0.00
|
||||
|
||||
Nlocal: 256.000 ave 256 max 256 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 2201.00 ave 2201 max 2201 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
|
||||
FullNghs: 43118.0 ave 43118 max 43118 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 43118
|
||||
Ave neighs/atom = 168.42969
|
||||
Neighbor list builds = 1
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:00:11
|
||||
108
examples/USER/pace/log.03Feb2021.pace.product.g++.4
Normal file
108
examples/USER/pace/log.03Feb2021.pace.product.g++.4
Normal file
@ -0,0 +1,108 @@
|
||||
LAMMPS (24 Dec 2020)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:94)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# simple test of fcc Cu with ACE product
|
||||
|
||||
units metal
|
||||
atom_style atomic
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify every 2 delay 10 check yes
|
||||
|
||||
variable a equal 3.597
|
||||
lattice fcc $a
|
||||
lattice fcc 3.597
|
||||
Lattice spacing in x,y,z = 3.5970000 3.5970000 3.5970000
|
||||
region box block 0 4 0 4 0 4
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (14.388000 14.388000 14.388000)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 256 atoms
|
||||
create_atoms CPU = 0.000 seconds
|
||||
|
||||
mass 1 26.98
|
||||
|
||||
group Al type 1
|
||||
256 atoms in group Al
|
||||
|
||||
pair_style pace product
|
||||
ACE version: 2021.2.3
|
||||
Product evaluator is used
|
||||
pair_coeff * * Cu-PBE-core-rep.ace Cu
|
||||
Loading Cu-PBE-core-rep.ace
|
||||
Total number of basis functions
|
||||
Cu: 16 (r=1) 726 (r>1)
|
||||
Mapping LAMMPS atom type #1(Cu) -> ACE species type #0
|
||||
|
||||
velocity all create 300 8728 loop geom
|
||||
timestep 0.0005
|
||||
fix 1 all nve
|
||||
|
||||
compute eatom all pe/atom
|
||||
compute energy all reduce sum c_eatom
|
||||
variable delenergy equal c_energy-pe
|
||||
|
||||
compute satom all stress/atom NULL
|
||||
compute str all reduce sum c_satom[1] c_satom[2] c_satom[3]
|
||||
variable delpress equal -(c_str[1]+c_str[2]+c_str[3])/(3*vol)-press
|
||||
|
||||
thermo 10
|
||||
thermo_style custom step temp epair etotal press v_delenergy v_delpress
|
||||
|
||||
run 100
|
||||
Neighbor list info ...
|
||||
update every 2 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 7.7
|
||||
ghost atom cutoff = 7.7
|
||||
binsize = 3.85, bins = 4 4 4
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair pace, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 4.005 | 4.005 | 4.005 Mbytes
|
||||
Step Temp E_pair TotEng Press v_delenergy v_delpress
|
||||
0 300 -945.9873 -936.0989 45359.818 0 -1.4551915e-11
|
||||
10 280.68558 -945.35055 -936.09878 46326.919 0 2.910383e-11
|
||||
20 228.73618 -943.63789 -936.09844 48903.598 0 0
|
||||
30 160.53661 -941.38948 -936.09798 52222.083 0 -2.910383e-11
|
||||
40 97.732944 -939.31899 -936.09758 55176.875 0 2.1827873e-11
|
||||
50 59.165961 -938.04759 -936.0974 56850.103 0 -1.4551915e-11
|
||||
60 53.124678 -937.84857 -936.09751 56878.948 0 7.2759576e-12
|
||||
70 74.623347 -938.5575 -936.09782 55565.237 0 0
|
||||
80 109.4762 -939.70663 -936.09815 53665.652 0 2.1827873e-11
|
||||
90 142.02657 -940.77975 -936.09837 52001.1 0 -1.4551915e-11
|
||||
100 161.73598 -941.42945 -936.09842 51114.997 0 1.4551915e-11
|
||||
Loop time of 3.54317 on 4 procs for 100 steps with 256 atoms
|
||||
|
||||
Performance: 1.219 ns/day, 19.684 hours/ns, 28.223 timesteps/s
|
||||
98.7% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 3.1375 | 3.3058 | 3.469 | 6.5 | 93.30
|
||||
Neigh | 0.000284 | 0.00031975 | 0.000352 | 0.0 | 0.01
|
||||
Comm | 0.071607 | 0.23492 | 0.40336 | 24.6 | 6.63
|
||||
Output | 0.001189 | 0.0012315 | 0.001347 | 0.2 | 0.03
|
||||
Modify | 0.000311 | 0.00032725 | 0.000351 | 0.0 | 0.01
|
||||
Other | | 0.0005298 | | | 0.01
|
||||
|
||||
Nlocal: 64.0000 ave 71 max 57 min
|
||||
Histogram: 1 0 0 0 1 1 0 0 0 1
|
||||
Nghost: 1373.00 ave 1380 max 1366 min
|
||||
Histogram: 1 0 0 0 1 1 0 0 0 1
|
||||
Neighs: 0.00000 ave 0 max 0 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 10779.5 ave 11978 max 9604 min
|
||||
Histogram: 1 0 0 0 1 1 0 0 0 1
|
||||
|
||||
Total # of neighbors = 43118
|
||||
Ave neighs/atom = 168.42969
|
||||
Neighbor list builds = 1
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:00:03
|
||||
108
examples/USER/pace/log.03Feb2021.pace.recursive.g++.1
Normal file
108
examples/USER/pace/log.03Feb2021.pace.recursive.g++.1
Normal file
@ -0,0 +1,108 @@
|
||||
LAMMPS (24 Dec 2020)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:94)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# simple test of fcc Cu with ACE recursive
|
||||
|
||||
units metal
|
||||
atom_style atomic
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify every 2 delay 10 check yes
|
||||
|
||||
variable a equal 3.597
|
||||
lattice fcc $a
|
||||
lattice fcc 3.597
|
||||
Lattice spacing in x,y,z = 3.5970000 3.5970000 3.5970000
|
||||
region box block 0 4 0 4 0 4
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (14.388000 14.388000 14.388000)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 256 atoms
|
||||
create_atoms CPU = 0.000 seconds
|
||||
|
||||
mass 1 26.98
|
||||
|
||||
group Al type 1
|
||||
256 atoms in group Al
|
||||
|
||||
pair_style pace recursive
|
||||
ACE version: 2021.2.3
|
||||
Recursive evaluator is used
|
||||
pair_coeff * * Cu-PBE-core-rep.ace Cu
|
||||
Loading Cu-PBE-core-rep.ace
|
||||
Total number of basis functions
|
||||
Cu: 16 (r=1) 726 (r>1)
|
||||
Mapping LAMMPS atom type #1(Cu) -> ACE species type #0
|
||||
|
||||
velocity all create 300 8728 loop geom
|
||||
timestep 0.0005
|
||||
fix 1 all nve
|
||||
|
||||
compute eatom all pe/atom
|
||||
compute energy all reduce sum c_eatom
|
||||
variable delenergy equal c_energy-pe
|
||||
|
||||
compute satom all stress/atom NULL
|
||||
compute str all reduce sum c_satom[1] c_satom[2] c_satom[3]
|
||||
variable delpress equal -(c_str[1]+c_str[2]+c_str[3])/(3*vol)-press
|
||||
|
||||
thermo 10
|
||||
thermo_style custom step temp epair etotal press v_delenergy v_delpress
|
||||
|
||||
run 100
|
||||
Neighbor list info ...
|
||||
update every 2 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 7.7
|
||||
ghost atom cutoff = 7.7
|
||||
binsize = 3.85, bins = 4 4 4
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair pace, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 4.036 | 4.036 | 4.036 Mbytes
|
||||
Step Temp E_pair TotEng Press v_delenergy v_delpress
|
||||
0 300 -945.9873 -936.0989 45359.818 0 0
|
||||
10 280.68558 -945.35055 -936.09878 46326.919 0 5.8207661e-11
|
||||
20 228.73618 -943.63789 -936.09844 48903.598 0 1.4551915e-11
|
||||
30 160.53661 -941.38948 -936.09798 52222.083 0 7.2759576e-11
|
||||
40 97.732944 -939.31899 -936.09758 55176.875 0 -5.8207661e-11
|
||||
50 59.165961 -938.04759 -936.0974 56850.103 0 0
|
||||
60 53.124678 -937.84857 -936.09751 56878.948 0 8.7311491e-11
|
||||
70 74.623347 -938.5575 -936.09782 55565.237 0 -1.4551915e-11
|
||||
80 109.4762 -939.70663 -936.09815 53665.652 0 2.1827873e-11
|
||||
90 142.02657 -940.77975 -936.09837 52001.1 0 2.910383e-11
|
||||
100 161.73598 -941.42945 -936.09842 51114.997 0 0
|
||||
Loop time of 9.31437 on 1 procs for 100 steps with 256 atoms
|
||||
|
||||
Performance: 0.464 ns/day, 51.746 hours/ns, 10.736 timesteps/s
|
||||
99.4% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 9.3103 | 9.3103 | 9.3103 | 0.0 | 99.96
|
||||
Neigh | 0.001214 | 0.001214 | 0.001214 | 0.0 | 0.01
|
||||
Comm | 0.001176 | 0.001176 | 0.001176 | 0.0 | 0.01
|
||||
Output | 0.000827 | 0.000827 | 0.000827 | 0.0 | 0.01
|
||||
Modify | 0.000479 | 0.000479 | 0.000479 | 0.0 | 0.01
|
||||
Other | | 0.000363 | | | 0.00
|
||||
|
||||
Nlocal: 256.000 ave 256 max 256 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 2201.00 ave 2201 max 2201 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
|
||||
FullNghs: 43118.0 ave 43118 max 43118 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 43118
|
||||
Ave neighs/atom = 168.42969
|
||||
Neighbor list builds = 1
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:00:09
|
||||
108
examples/USER/pace/log.03Feb2021.pace.recursive.g++.4
Normal file
108
examples/USER/pace/log.03Feb2021.pace.recursive.g++.4
Normal file
@ -0,0 +1,108 @@
|
||||
LAMMPS (24 Dec 2020)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:94)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# simple test of fcc Cu with ACE recursive
|
||||
|
||||
units metal
|
||||
atom_style atomic
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify every 2 delay 10 check yes
|
||||
|
||||
variable a equal 3.597
|
||||
lattice fcc $a
|
||||
lattice fcc 3.597
|
||||
Lattice spacing in x,y,z = 3.5970000 3.5970000 3.5970000
|
||||
region box block 0 4 0 4 0 4
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (14.388000 14.388000 14.388000)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 256 atoms
|
||||
create_atoms CPU = 0.000 seconds
|
||||
|
||||
mass 1 26.98
|
||||
|
||||
group Al type 1
|
||||
256 atoms in group Al
|
||||
|
||||
pair_style pace recursive
|
||||
ACE version: 2021.2.3
|
||||
Recursive evaluator is used
|
||||
pair_coeff * * Cu-PBE-core-rep.ace Cu
|
||||
Loading Cu-PBE-core-rep.ace
|
||||
Total number of basis functions
|
||||
Cu: 16 (r=1) 726 (r>1)
|
||||
Mapping LAMMPS atom type #1(Cu) -> ACE species type #0
|
||||
|
||||
velocity all create 300 8728 loop geom
|
||||
timestep 0.0005
|
||||
fix 1 all nve
|
||||
|
||||
compute eatom all pe/atom
|
||||
compute energy all reduce sum c_eatom
|
||||
variable delenergy equal c_energy-pe
|
||||
|
||||
compute satom all stress/atom NULL
|
||||
compute str all reduce sum c_satom[1] c_satom[2] c_satom[3]
|
||||
variable delpress equal -(c_str[1]+c_str[2]+c_str[3])/(3*vol)-press
|
||||
|
||||
thermo 10
|
||||
thermo_style custom step temp epair etotal press v_delenergy v_delpress
|
||||
|
||||
run 100
|
||||
Neighbor list info ...
|
||||
update every 2 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 7.7
|
||||
ghost atom cutoff = 7.7
|
||||
binsize = 3.85, bins = 4 4 4
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair pace, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 4.005 | 4.005 | 4.005 Mbytes
|
||||
Step Temp E_pair TotEng Press v_delenergy v_delpress
|
||||
0 300 -945.9873 -936.0989 45359.818 0 -5.0931703e-11
|
||||
10 280.68558 -945.35055 -936.09878 46326.919 0 1.4551915e-11
|
||||
20 228.73618 -943.63789 -936.09844 48903.598 0 0
|
||||
30 160.53661 -941.38948 -936.09798 52222.083 0 -2.910383e-11
|
||||
40 97.732944 -939.31899 -936.09758 55176.875 0 0
|
||||
50 59.165961 -938.04759 -936.0974 56850.103 0 -2.910383e-11
|
||||
60 53.124678 -937.84857 -936.09751 56878.948 0 1.4551915e-11
|
||||
70 74.623347 -938.5575 -936.09782 55565.237 0 3.6379788e-11
|
||||
80 109.4762 -939.70663 -936.09815 53665.652 0 -7.2759576e-12
|
||||
90 142.02657 -940.77975 -936.09837 52001.1 0 -2.910383e-11
|
||||
100 161.73598 -941.42945 -936.09842 51114.997 0 7.2759576e-12
|
||||
Loop time of 2.91339 on 4 procs for 100 steps with 256 atoms
|
||||
|
||||
Performance: 1.483 ns/day, 16.185 hours/ns, 34.324 timesteps/s
|
||||
98.9% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 2.5753 | 2.723 | 2.8656 | 6.3 | 93.46
|
||||
Neigh | 0.000308 | 0.000365 | 0.00046 | 0.0 | 0.01
|
||||
Comm | 0.045106 | 0.18792 | 0.33552 | 24.1 | 6.45
|
||||
Output | 0.001213 | 0.001259 | 0.001388 | 0.2 | 0.04
|
||||
Modify | 0.000304 | 0.00033 | 0.00037 | 0.0 | 0.01
|
||||
Other | | 0.0005595 | | | 0.02
|
||||
|
||||
Nlocal: 64.0000 ave 71 max 57 min
|
||||
Histogram: 1 0 0 0 1 1 0 0 0 1
|
||||
Nghost: 1373.00 ave 1380 max 1366 min
|
||||
Histogram: 1 0 0 0 1 1 0 0 0 1
|
||||
Neighs: 0.00000 ave 0 max 0 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 10779.5 ave 11978 max 9604 min
|
||||
Histogram: 1 0 0 0 1 1 0 0 0 1
|
||||
|
||||
Total # of neighbors = 43118
|
||||
Ave neighs/atom = 168.42969
|
||||
Neighbor list builds = 1
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:00:03
|
||||
56
examples/deposit/in.deposit.molecule.rigid-nve-small
Normal file
56
examples/deposit/in.deposit.molecule.rigid-nve-small
Normal file
@ -0,0 +1,56 @@
|
||||
# sample surface deposition script for molecules
|
||||
|
||||
units lj
|
||||
atom_style bond
|
||||
boundary p p f
|
||||
|
||||
lattice fcc 1.0
|
||||
region box block 0 5 0 5 0 10
|
||||
create_box 3 box bond/types 1 extra/bond/per/atom 1
|
||||
|
||||
region substrate block INF INF INF INF INF 3
|
||||
create_atoms 1 region substrate
|
||||
|
||||
pair_style lj/cut 2.5
|
||||
pair_coeff * * 1.0 1.0
|
||||
pair_coeff 1 2 1.0 1.0 5.0
|
||||
mass * 1.0
|
||||
|
||||
bond_style harmonic
|
||||
bond_coeff 1 5.0 1.0
|
||||
|
||||
neigh_modify delay 0
|
||||
|
||||
molecule dimer molecule.dimer
|
||||
region slab block 0 5 0 5 8 9
|
||||
|
||||
group addatoms empty
|
||||
region mobile block 0 5 0 5 2 INF
|
||||
group mobile region mobile
|
||||
|
||||
compute add addatoms temp
|
||||
compute_modify add dynamic/dof yes extra/dof 0
|
||||
|
||||
fix 1 addatoms rigid/nve/small molecule mol dimer
|
||||
fix 2 mobile langevin 0.1 0.1 0.1 587283
|
||||
fix 3 mobile nve
|
||||
|
||||
fix 4 addatoms deposit 100 0 100 12345 region slab near 1.0 &
|
||||
mol dimer vz -1.0 -1.0 rigid 1
|
||||
fix 5 addatoms wall/reflect zhi EDGE
|
||||
|
||||
thermo_style custom step atoms temp epair etotal press
|
||||
thermo 100
|
||||
thermo_modify temp add lost/bond ignore lost warn
|
||||
|
||||
#dump 1 all atom 50 dump.deposit.atom
|
||||
|
||||
#dump 2 all image 50 image.*.jpg type type &
|
||||
# axes yes 0.8 0.02 view 80 -30
|
||||
#dump_modify 2 pad 5
|
||||
|
||||
#dump 3 all movie 50 tmp.mpg type type &
|
||||
# axes yes 0.8 0.02 view 80 -30
|
||||
#dump_modify 3 pad 5
|
||||
|
||||
run 10000
|
||||
56
examples/deposit/in.deposit.molecule.rigid-nvt-small
Normal file
56
examples/deposit/in.deposit.molecule.rigid-nvt-small
Normal file
@ -0,0 +1,56 @@
|
||||
# sample surface deposition script for molecules
|
||||
|
||||
units lj
|
||||
atom_style bond
|
||||
boundary p p f
|
||||
|
||||
lattice fcc 1.0
|
||||
region box block 0 5 0 5 0 10
|
||||
create_box 3 box bond/types 1 extra/bond/per/atom 1
|
||||
|
||||
region substrate block INF INF INF INF INF 3
|
||||
create_atoms 1 region substrate
|
||||
|
||||
pair_style lj/cut 2.5
|
||||
pair_coeff * * 1.0 1.0
|
||||
pair_coeff 1 2 1.0 1.0 5.0
|
||||
mass * 1.0
|
||||
|
||||
bond_style harmonic
|
||||
bond_coeff 1 5.0 1.0
|
||||
|
||||
neigh_modify delay 0
|
||||
|
||||
molecule dimer molecule.dimer
|
||||
region slab block 0 5 0 5 8 9
|
||||
|
||||
group addatoms empty
|
||||
region mobile block 0 5 0 5 2 INF
|
||||
group mobile region mobile
|
||||
|
||||
compute add addatoms temp
|
||||
compute_modify add dynamic/dof yes extra/dof 0
|
||||
|
||||
fix 1 addatoms rigid/nvt/small molecule temp 0.1 0.1 0.1 mol dimer
|
||||
fix 2 mobile langevin 0.1 0.1 0.1 587283
|
||||
fix 3 mobile nve
|
||||
|
||||
fix 4 addatoms deposit 100 0 100 12345 region slab near 1.0 &
|
||||
mol dimer vz -1.0 -1.0 rigid 1
|
||||
fix 5 addatoms wall/reflect zhi EDGE
|
||||
|
||||
thermo_style custom step atoms temp epair etotal press
|
||||
thermo 100
|
||||
thermo_modify temp add lost/bond ignore lost warn
|
||||
|
||||
#dump 1 all atom 50 dump.deposit.atom
|
||||
|
||||
#dump 2 all image 50 image.*.jpg type type &
|
||||
# axes yes 0.8 0.02 view 80 -30
|
||||
#dump_modify 2 pad 5
|
||||
|
||||
#dump 3 all movie 50 tmp.mpg type type &
|
||||
# axes yes 0.8 0.02 view 80 -30
|
||||
#dump_modify 3 pad 5
|
||||
|
||||
run 10000
|
||||
56
examples/deposit/in.deposit.molecule.rigid-small
Normal file
56
examples/deposit/in.deposit.molecule.rigid-small
Normal file
@ -0,0 +1,56 @@
|
||||
# sample surface deposition script for molecules
|
||||
|
||||
units lj
|
||||
atom_style bond
|
||||
boundary p p f
|
||||
|
||||
lattice fcc 1.0
|
||||
region box block 0 5 0 5 0 10
|
||||
create_box 3 box bond/types 1 extra/bond/per/atom 1
|
||||
|
||||
region substrate block INF INF INF INF INF 3
|
||||
create_atoms 1 region substrate
|
||||
|
||||
pair_style lj/cut 2.5
|
||||
pair_coeff * * 1.0 1.0
|
||||
pair_coeff 1 2 1.0 1.0 5.0
|
||||
mass * 1.0
|
||||
|
||||
bond_style harmonic
|
||||
bond_coeff 1 5.0 1.0
|
||||
|
||||
neigh_modify delay 0
|
||||
|
||||
molecule dimer molecule.dimer
|
||||
region slab block 0 5 0 5 8 9
|
||||
|
||||
group addatoms empty
|
||||
region mobile block 0 5 0 5 2 INF
|
||||
group mobile region mobile
|
||||
|
||||
compute add addatoms temp
|
||||
compute_modify add dynamic/dof yes extra/dof 0
|
||||
|
||||
fix 1 addatoms rigid/small molecule mol dimer
|
||||
fix 2 mobile langevin 0.1 0.1 0.1 587283
|
||||
fix 3 mobile nve
|
||||
|
||||
fix 4 addatoms deposit 100 0 100 12345 region slab near 1.0 &
|
||||
mol dimer vz -1.0 -1.0 rigid 1
|
||||
fix 5 addatoms wall/reflect zhi EDGE
|
||||
|
||||
thermo_style custom step atoms temp epair etotal press
|
||||
thermo 100
|
||||
thermo_modify temp add lost/bond ignore lost warn
|
||||
|
||||
#dump 1 all atom 50 dump.deposit.atom
|
||||
|
||||
#dump 2 all image 50 image.*.jpg type type &
|
||||
# axes yes 0.8 0.02 view 80 -30
|
||||
#dump_modify 2 pad 5
|
||||
|
||||
#dump 3 all movie 50 tmp.mpg type type &
|
||||
# axes yes 0.8 0.02 view 80 -30
|
||||
#dump_modify 3 pad 5
|
||||
|
||||
run 10000
|
||||
@ -21,11 +21,11 @@ bond_coeff 1 5.0 1.0
|
||||
|
||||
neigh_modify delay 0
|
||||
|
||||
group addatoms type 2
|
||||
group addatoms empty
|
||||
region mobile block 0 5 0 5 2 INF
|
||||
group mobile region mobile
|
||||
|
||||
compute add addatoms temp
|
||||
compute add addatoms temp
|
||||
compute_modify add dynamic/dof yes extra/dof 0
|
||||
|
||||
fix 1 addatoms nve
|
||||
|
||||
@ -0,0 +1,218 @@
|
||||
LAMMPS (10 Mar 2021)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# sample surface deposition script for molecules
|
||||
|
||||
units lj
|
||||
atom_style bond
|
||||
boundary p p f
|
||||
|
||||
lattice fcc 1.0
|
||||
Lattice spacing in x,y,z = 1.5874011 1.5874011 1.5874011
|
||||
region box block 0 5 0 5 0 10
|
||||
create_box 3 box bond/types 1 extra/bond/per/atom 1
|
||||
Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (7.9370053 7.9370053 15.874011)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
|
||||
region substrate block INF INF INF INF INF 3
|
||||
create_atoms 1 region substrate
|
||||
Created 350 atoms
|
||||
create_atoms CPU = 0.001 seconds
|
||||
|
||||
pair_style lj/cut 2.5
|
||||
pair_coeff * * 1.0 1.0
|
||||
pair_coeff 1 2 1.0 1.0 5.0
|
||||
mass * 1.0
|
||||
|
||||
bond_style harmonic
|
||||
bond_coeff 1 5.0 1.0
|
||||
|
||||
neigh_modify delay 0
|
||||
|
||||
molecule dimer molecule.dimer
|
||||
Read molecule template dimer:
|
||||
1 molecules
|
||||
2 atoms with max type 3
|
||||
1 bonds with max type 1
|
||||
0 angles with max type 0
|
||||
0 dihedrals with max type 0
|
||||
0 impropers with max type 0
|
||||
region slab block 0 5 0 5 8 9
|
||||
|
||||
group addatoms empty
|
||||
0 atoms in group addatoms
|
||||
region mobile block 0 5 0 5 2 INF
|
||||
group mobile region mobile
|
||||
150 atoms in group mobile
|
||||
|
||||
compute add addatoms temp
|
||||
compute_modify add dynamic/dof yes extra/dof 0
|
||||
|
||||
fix 1 addatoms rigid/nve/small molecule mol dimer
|
||||
create bodies CPU = 0.000 seconds
|
||||
0 rigid bodies with 0 atoms
|
||||
1.0000000 = max distance from body owner to body atom
|
||||
fix 2 mobile langevin 0.1 0.1 0.1 587283
|
||||
fix 3 mobile nve
|
||||
|
||||
fix 4 addatoms deposit 100 0 100 12345 region slab near 1.0 mol dimer vz -1.0 -1.0 rigid 1
|
||||
fix 5 addatoms wall/reflect zhi EDGE
|
||||
|
||||
thermo_style custom step atoms temp epair etotal press
|
||||
thermo 100
|
||||
thermo_modify temp add lost/bond ignore lost warn
|
||||
WARNING: Temperature for thermo pressure is not for group all (src/thermo.cpp:468)
|
||||
|
||||
#dump 1 all atom 50 dump.deposit.atom
|
||||
|
||||
#dump 2 all image 50 image.*.jpg type type # axes yes 0.8 0.02 view 80 -30
|
||||
#dump_modify 2 pad 5
|
||||
|
||||
#dump 3 all movie 50 tmp.mpg type type # axes yes 0.8 0.02 view 80 -30
|
||||
#dump_modify 3 pad 5
|
||||
|
||||
run 10000
|
||||
WARNING: Should not allow rigid bodies to bounce off relecting walls (src/fix_wall_reflect.cpp:182)
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 5.3
|
||||
ghost atom cutoff = 5.3
|
||||
binsize = 2.65, bins = 3 3 6
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/cut, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 5.929 | 5.929 | 5.929 Mbytes
|
||||
Step Atoms Temp E_pair TotEng Press
|
||||
0 350 0 -6.9215833 -6.9215833 -1.0052629
|
||||
100 352 1.0079368 -6.8875167 -6.8803581 -0.73353914
|
||||
200 354 1.0081552 -6.8594643 -6.8452248 -0.70421276
|
||||
300 356 1.0085803 -6.8171524 -6.7959042 -0.6917826
|
||||
400 358 1.0099188 -6.7852701 -6.7570601 -0.70371699
|
||||
500 360 1.0140221 -6.7493429 -6.7141338 -0.68415307
|
||||
600 362 1.026148 -6.7105231 -6.6680032 -0.68314418
|
||||
700 364 1.0683344 -6.6725162 -6.621154 -0.65747369
|
||||
800 366 1.0958953 -6.6412275 -6.5813425 -0.68789615
|
||||
900 368 1.1250034 -6.6101882 -6.541404 -0.66674346
|
||||
1000 370 1.2326365 -6.5993719 -6.5160856 -0.69688655
|
||||
1100 372 1.1397444 -6.5912865 -6.5070312 -0.6333041
|
||||
1200 374 1.0514447 -6.5905753 -6.5062348 -0.71020272
|
||||
1300 376 1.0033284 -6.5747792 -6.4880554 -0.65459641
|
||||
1400 378 0.82996548 -6.5681806 -6.4913319 -0.60438595
|
||||
1500 380 0.90239071 -6.5752982 -6.4862465 -0.66528503
|
||||
1600 382 0.86403681 -6.5692212 -6.4787461 -0.65027922
|
||||
1700 384 0.64748046 -6.5644242 -6.4927629 -0.63046709
|
||||
1800 386 0.74288742 -6.5515741 -6.4649681 -0.67770665
|
||||
1900 388 0.72584537 -6.5565195 -6.4676596 -0.66175025
|
||||
2000 390 0.73351281 -6.5631154 -6.4690753 -0.64686647
|
||||
2100 392 0.76490681 -6.5573734 -6.4549305 -0.68861526
|
||||
2200 394 0.65926638 -6.5511574 -6.4591279 -0.71726284
|
||||
2300 396 0.70267414 -6.5728555 -6.4708258 -0.64360436
|
||||
2400 398 0.60523691 -6.5845973 -6.4933555 -0.63956839
|
||||
2500 400 0.5103586 -6.5812006 -6.5014571 -0.68698448
|
||||
2600 402 0.52401744 -6.6003358 -6.5156066 -0.68987222
|
||||
2700 404 0.46421291 -6.5662747 -6.4887143 -0.72872856
|
||||
2800 406 0.48254258 -6.5724266 -6.4892296 -0.75447872
|
||||
2900 408 0.53073083 -6.5809842 -6.4866754 -0.67592283
|
||||
3000 410 0.55314547 -6.5922077 -6.4910226 -0.74646953
|
||||
3100 412 0.47150308 -6.5907273 -6.5020344 -0.64994935
|
||||
3200 414 0.43047803 -6.5836315 -6.5004473 -0.79764713
|
||||
3300 416 0.46289353 -6.5739439 -6.4821441 -0.76441674
|
||||
3400 418 0.59724106 -6.5980575 -6.4766089 -0.73735626
|
||||
3500 420 0.43571285 -6.5955972 -6.5048237 -0.64145941
|
||||
3600 422 0.42461639 -6.6060271 -6.5154691 -0.70124484
|
||||
3700 424 0.44323254 -6.6059723 -6.5092766 -0.74498147
|
||||
3800 426 0.4037907 -6.592043 -6.5019958 -0.72171799
|
||||
3900 428 0.41668443 -6.5975302 -6.5026079 -0.68327878
|
||||
4000 430 0.44895183 -6.5958671 -6.4914597 -0.73939433
|
||||
4100 432 0.39798052 -6.5952115 -6.5007833 -0.74871822
|
||||
4200 434 0.45156734 -6.6237274 -6.5144772 -0.75111778
|
||||
4300 436 0.48297356 -6.6395283 -6.5204465 -0.76105913
|
||||
4400 438 0.43595234 -6.6347133 -6.5252276 -0.72858275
|
||||
4500 440 0.44683726 -6.6385398 -6.5242916 -0.74280051
|
||||
4600 442 0.47875512 -6.6419903 -6.5174274 -0.75579572
|
||||
4700 444 0.43972605 -6.6406078 -6.5242388 -0.72196509
|
||||
4800 446 0.43572615 -6.6495404 -6.5323047 -0.7135049
|
||||
4900 448 0.38063437 -6.6432385 -6.5391588 -0.77087429
|
||||
5000 450 0.4239223 -6.6617795 -6.5440233 -0.784531
|
||||
5100 452 0.37201988 -6.6581813 -6.5532421 -0.74611403
|
||||
5200 454 0.41765777 -6.6661321 -6.5465385 -0.75422239
|
||||
5300 456 0.38015287 -6.6606624 -6.5502013 -0.78866702
|
||||
5400 458 0.40549607 -6.6807118 -6.5611878 -0.78932883
|
||||
5500 460 0.34444407 -6.6720564 -6.5690976 -0.77859171
|
||||
5600 462 0.36572308 -6.6730078 -6.5621827 -0.85672419
|
||||
5700 464 0.40055073 -6.6976989 -6.574685 -0.74251563
|
||||
5800 466 0.36037213 -6.7022014 -6.5900685 -0.66239625
|
||||
5900 468 0.32810921 -6.6952135 -6.591803 -0.83981757
|
||||
6000 470 0.35110886 -6.6986862 -6.5866302 -0.82474047
|
||||
6100 472 0.29965884 -6.6839503 -6.5871326 -0.7864913
|
||||
6200 474 0.32402637 -6.6902745 -6.5843165 -0.74531083
|
||||
6300 476 0.35042653 -6.6990084 -6.5830585 -0.74839967
|
||||
6400 478 0.32695511 -6.6909459 -6.5815048 -0.76549489
|
||||
6500 480 0.35209088 -6.6902987 -6.5711013 -0.71281516
|
||||
6600 482 0.354106 -6.6890268 -6.567808 -0.81897158
|
||||
6700 484 0.3504816 -6.681739 -6.5604463 -0.811609
|
||||
6800 486 0.37396733 -6.7018369 -6.5710253 -0.80383296
|
||||
6900 488 0.36435774 -6.7010114 -6.5722169 -0.72063651
|
||||
7000 490 0.35631012 -6.7089806 -6.581727 -0.74152078
|
||||
7100 492 0.37646659 -6.719154 -6.5833352 -0.77739001
|
||||
7200 494 0.36546269 -6.7223269 -6.5891623 -0.8288767
|
||||
7300 496 0.37688206 -6.7457243 -6.607053 -0.80062121
|
||||
7400 498 0.30331409 -6.7284953 -6.6158184 -0.79894584
|
||||
7500 500 0.30382936 -6.7333804 -6.6194444 -0.86924602
|
||||
7600 502 0.30163143 -6.7294737 -6.6153104 -0.7689497
|
||||
7700 504 0.30281215 -6.7233976 -6.6077402 -0.8557548
|
||||
7800 506 0.33378009 -6.7244958 -6.5958651 -0.82584084
|
||||
7900 508 0.31843128 -6.7250998 -6.6013002 -0.82424684
|
||||
8000 510 0.35912946 -6.7399052 -6.5990701 -0.81879575
|
||||
8100 512 0.31405017 -6.733487 -6.6092777 -0.72940457
|
||||
8200 514 0.30475 -6.7271485 -6.6056043 -0.87958287
|
||||
8300 516 0.30717434 -6.7277574 -6.6042329 -0.81700937
|
||||
8400 518 0.33032462 -6.7382165 -6.6043011 -0.75436496
|
||||
8500 520 0.32218568 -6.7351971 -6.6035347 -0.77661738
|
||||
8600 522 0.30922651 -6.7275431 -6.6001797 -0.85334327
|
||||
8700 524 0.30728021 -6.7237477 -6.5962029 -0.94977016
|
||||
8800 526 0.31061903 -6.7181672 -6.5882505 -0.86132456
|
||||
8900 528 0.33543344 -6.728929 -6.5875768 -0.87545919
|
||||
9000 530 0.31887735 -6.7265066 -6.5911341 -0.76892061
|
||||
9100 532 0.31888326 -6.7216274 -6.5852629 -0.83190298
|
||||
9200 534 0.33310892 -6.7111349 -6.567661 -0.94282671
|
||||
9300 536 0.34737171 -6.722515 -6.5718361 -0.95235602
|
||||
9400 538 0.32752858 -6.7246204 -6.5815549 -0.86227131
|
||||
9500 540 0.30665764 -6.7225391 -6.5876665 -0.87144326
|
||||
9600 542 0.32747382 -6.7149245 -6.5699176 -0.86863105
|
||||
9700 544 0.32463079 -6.7205757 -6.5758643 -0.85393932
|
||||
9800 546 0.31517825 -6.7178961 -6.5764699 -0.81017759
|
||||
9900 548 0.33649933 -6.7380644 -6.5860871 -0.80769312
|
||||
10000 550 0.37394555 -6.7612874 -6.5913121 -0.82102213
|
||||
Loop time of 16.7275 on 1 procs for 10000 steps with 550 atoms
|
||||
|
||||
Performance: 258256.688 tau/day, 597.816 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 | 9.2508 | 9.2508 | 9.2508 | 0.0 | 55.30
|
||||
Bond | 0.021603 | 0.021603 | 0.021603 | 0.0 | 0.13
|
||||
Neigh | 4.5325 | 4.5325 | 4.5325 | 0.0 | 27.10
|
||||
Comm | 0.62777 | 0.62777 | 0.62777 | 0.0 | 3.75
|
||||
Output | 0.006916 | 0.006916 | 0.006916 | 0.0 | 0.04
|
||||
Modify | 2.218 | 2.218 | 2.218 | 0.0 | 13.26
|
||||
Other | | 0.07002 | | | 0.42
|
||||
|
||||
Nlocal: 550.000 ave 550 max 550 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 2344.00 ave 2344 max 2344 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 36607.0 ave 36607 max 36607 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 36607
|
||||
Ave neighs/atom = 66.558182
|
||||
Ave special neighs/atom = 0.36363636
|
||||
Neighbor list builds = 847
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:16
|
||||
@ -0,0 +1,218 @@
|
||||
LAMMPS (10 Mar 2021)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# sample surface deposition script for molecules
|
||||
|
||||
units lj
|
||||
atom_style bond
|
||||
boundary p p f
|
||||
|
||||
lattice fcc 1.0
|
||||
Lattice spacing in x,y,z = 1.5874011 1.5874011 1.5874011
|
||||
region box block 0 5 0 5 0 10
|
||||
create_box 3 box bond/types 1 extra/bond/per/atom 1
|
||||
Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (7.9370053 7.9370053 15.874011)
|
||||
1 by 1 by 4 MPI processor grid
|
||||
|
||||
region substrate block INF INF INF INF INF 3
|
||||
create_atoms 1 region substrate
|
||||
Created 350 atoms
|
||||
create_atoms CPU = 0.002 seconds
|
||||
|
||||
pair_style lj/cut 2.5
|
||||
pair_coeff * * 1.0 1.0
|
||||
pair_coeff 1 2 1.0 1.0 5.0
|
||||
mass * 1.0
|
||||
|
||||
bond_style harmonic
|
||||
bond_coeff 1 5.0 1.0
|
||||
|
||||
neigh_modify delay 0
|
||||
|
||||
molecule dimer molecule.dimer
|
||||
Read molecule template dimer:
|
||||
1 molecules
|
||||
2 atoms with max type 3
|
||||
1 bonds with max type 1
|
||||
0 angles with max type 0
|
||||
0 dihedrals with max type 0
|
||||
0 impropers with max type 0
|
||||
region slab block 0 5 0 5 8 9
|
||||
|
||||
group addatoms empty
|
||||
0 atoms in group addatoms
|
||||
region mobile block 0 5 0 5 2 INF
|
||||
group mobile region mobile
|
||||
150 atoms in group mobile
|
||||
|
||||
compute add addatoms temp
|
||||
compute_modify add dynamic/dof yes extra/dof 0
|
||||
|
||||
fix 1 addatoms rigid/nve/small molecule mol dimer
|
||||
create bodies CPU = 0.000 seconds
|
||||
0 rigid bodies with 0 atoms
|
||||
1.0000000 = max distance from body owner to body atom
|
||||
fix 2 mobile langevin 0.1 0.1 0.1 587283
|
||||
fix 3 mobile nve
|
||||
|
||||
fix 4 addatoms deposit 100 0 100 12345 region slab near 1.0 mol dimer vz -1.0 -1.0 rigid 1
|
||||
fix 5 addatoms wall/reflect zhi EDGE
|
||||
|
||||
thermo_style custom step atoms temp epair etotal press
|
||||
thermo 100
|
||||
thermo_modify temp add lost/bond ignore lost warn
|
||||
WARNING: Temperature for thermo pressure is not for group all (src/thermo.cpp:468)
|
||||
|
||||
#dump 1 all atom 50 dump.deposit.atom
|
||||
|
||||
#dump 2 all image 50 image.*.jpg type type # axes yes 0.8 0.02 view 80 -30
|
||||
#dump_modify 2 pad 5
|
||||
|
||||
#dump 3 all movie 50 tmp.mpg type type # axes yes 0.8 0.02 view 80 -30
|
||||
#dump_modify 3 pad 5
|
||||
|
||||
run 10000
|
||||
WARNING: Should not allow rigid bodies to bounce off relecting walls (src/fix_wall_reflect.cpp:182)
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 5.3
|
||||
ghost atom cutoff = 5.3
|
||||
binsize = 2.65, bins = 3 3 6
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/cut, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 5.255 | 5.852 | 6.302 Mbytes
|
||||
Step Atoms Temp E_pair TotEng Press
|
||||
0 350 0 -6.9215833 -6.9215833 -1.0052629
|
||||
100 352 1.0079368 -6.8946578 -6.8874992 -0.73775337
|
||||
200 354 1.0081552 -6.8645575 -6.850318 -0.69629729
|
||||
300 356 1.0085803 -6.821677 -6.8004288 -0.69532657
|
||||
400 358 1.0099188 -6.7837923 -6.7555822 -0.68879568
|
||||
500 360 1.0140221 -6.7446709 -6.7094618 -0.72991641
|
||||
600 362 1.026146 -6.7129201 -6.6704003 -0.67063836
|
||||
700 364 1.0683193 -6.6776523 -6.6262908 -0.65572472
|
||||
800 366 1.0958894 -6.6402029 -6.5803182 -0.66307282
|
||||
900 368 1.1231769 -6.6050912 -6.5364187 -0.64076928
|
||||
1000 370 1.1976289 -6.5942508 -6.51333 -0.69249047
|
||||
1100 372 1.05061 -6.5772306 -6.4995645 -0.6307289
|
||||
1200 374 0.93723829 -6.5732962 -6.4981166 -0.64963821
|
||||
1300 376 0.93899122 -6.5578418 -6.476679 -0.65096688
|
||||
1400 378 0.87050694 -6.546852 -6.4662495 -0.67613401
|
||||
1500 380 0.84462904 -6.5400883 -6.4567368 -0.64376986
|
||||
1600 382 0.92417795 -6.5611292 -6.4643567 -0.62092779
|
||||
1700 384 0.67296541 -6.5589985 -6.4845167 -0.6779111
|
||||
1800 386 0.87159158 -6.5655058 -6.4638954 -0.6582786
|
||||
1900 388 0.67504975 -6.5772537 -6.4946123 -0.665098
|
||||
2000 390 0.65034978 -6.5717854 -6.4884072 -0.73162072
|
||||
2100 392 0.63389859 -6.5652907 -6.4803935 -0.64937411
|
||||
2200 394 0.6265637 -6.5582412 -6.4707767 -0.70819854
|
||||
2300 396 0.85352983 -6.5750751 -6.4511408 -0.69995918
|
||||
2400 398 0.69792348 -6.5938659 -6.4886513 -0.63755214
|
||||
2500 400 0.45320495 -6.595022 -6.5242087 -0.70462183
|
||||
2600 402 0.46824374 -6.5697613 -6.4940502 -0.75497893
|
||||
2700 404 0.46605975 -6.5599272 -6.4820583 -0.66778506
|
||||
2800 406 0.50637604 -6.5700492 -6.482743 -0.63812082
|
||||
2900 408 0.55335921 -6.5873352 -6.4890054 -0.62891652
|
||||
3000 410 0.51731142 -6.5890566 -6.4944264 -0.64305355
|
||||
3100 412 0.59439734 -6.6003127 -6.4885025 -0.67140541
|
||||
3200 414 0.53413632 -6.595564 -6.4923492 -0.76242248
|
||||
3300 416 0.49221593 -6.5990831 -6.5014681 -0.71330819
|
||||
3400 418 0.55006126 -6.6015725 -6.4897179 -0.72044309
|
||||
3500 420 0.49065348 -6.6329864 -6.5307669 -0.65775397
|
||||
3600 422 0.41907335 -6.6219753 -6.5325995 -0.75936391
|
||||
3700 424 0.38720116 -6.6153349 -6.5308629 -0.74166397
|
||||
3800 426 0.40625994 -6.6150209 -6.5244231 -0.7595111
|
||||
3900 428 0.40460547 -6.6122642 -6.5200936 -0.70484465
|
||||
4000 430 0.45014991 -6.6254404 -6.5207544 -0.70069933
|
||||
4100 432 0.44820466 -6.640222 -6.5338771 -0.805972
|
||||
4200 434 0.39767521 -6.6450316 -6.5488199 -0.72841414
|
||||
4300 436 0.4155331 -6.6547917 -6.5523381 -0.6894484
|
||||
4400 438 0.43034353 -6.6615074 -6.5534303 -0.74026062
|
||||
4500 440 0.38062977 -6.6541618 -6.5568417 -0.85911194
|
||||
4600 442 0.39357419 -6.6522517 -6.5498512 -0.66232114
|
||||
4700 444 0.40296801 -6.6647029 -6.5580616 -0.67307577
|
||||
4800 446 0.38194993 -6.6510248 -6.548258 -0.77887746
|
||||
4900 448 0.40739835 -6.6601751 -6.5487771 -0.84146416
|
||||
5000 450 0.38392807 -6.6560665 -6.5494198 -0.77343399
|
||||
5100 452 0.35209286 -6.6481476 -6.5488294 -0.68065755
|
||||
5200 454 0.41355143 -6.6615988 -6.543181 -0.81611092
|
||||
5300 456 0.42200484 -6.6627494 -6.5401273 -0.7774134
|
||||
5400 458 0.37764326 -6.661431 -6.550117 -0.72187808
|
||||
5500 460 0.41857405 -6.6674232 -6.542306 -0.74929745
|
||||
5600 462 0.41682611 -6.6710961 -6.5447852 -0.7557454
|
||||
5700 464 0.44396148 -6.6924346 -6.5560887 -0.78018312
|
||||
5800 466 0.37058077 -6.6865013 -6.5711919 -0.74146125
|
||||
5900 468 0.346812 -6.681215 -6.57191 -0.81184233
|
||||
6000 470 0.34919462 -6.6827931 -6.571348 -0.87330821
|
||||
6100 472 0.39360936 -6.6933359 -6.5661634 -0.79237598
|
||||
6200 474 0.33270778 -6.6847095 -6.5759127 -0.77978526
|
||||
6300 476 0.35973804 -6.6951254 -6.5760944 -0.80340174
|
||||
6400 478 0.38124318 -6.7045984 -6.5769857 -0.81628407
|
||||
6500 480 0.41188302 -6.7133356 -6.573896 -0.7940289
|
||||
6600 482 0.36998039 -6.7079555 -6.5813025 -0.75055442
|
||||
6700 484 0.37615026 -6.722917 -6.592741 -0.76534055
|
||||
6800 486 0.3466597 -6.7188712 -6.5976116 -0.77986211
|
||||
6900 488 0.32902492 -6.7247054 -6.6084005 -0.75702458
|
||||
7000 490 0.31856427 -6.7167709 -6.6029979 -0.76014555
|
||||
7100 492 0.30233891 -6.7144406 -6.6053651 -0.96246708
|
||||
7200 494 0.32557309 -6.7315347 -6.6129049 -0.8122153
|
||||
7300 496 0.29919611 -6.7186327 -6.6085455 -0.71917931
|
||||
7400 498 0.29778169 -6.7259455 -6.6153238 -0.88199391
|
||||
7500 500 0.35535305 -6.7419073 -6.6086499 -0.90344083
|
||||
7600 502 0.31979187 -6.7326802 -6.6116434 -0.78324572
|
||||
7700 504 0.30821359 -6.72895 -6.6112295 -0.81363335
|
||||
7800 506 0.31374993 -6.7255461 -6.6046346 -0.89904197
|
||||
7900 508 0.29072338 -6.7177355 -6.6047082 -0.81423073
|
||||
8000 510 0.30557494 -6.7208283 -6.600995 -0.85853575
|
||||
8100 512 0.30521237 -6.726874 -6.6061601 -0.75361257
|
||||
8200 514 0.29622226 -6.7152225 -6.5970794 -0.85766132
|
||||
8300 516 0.28337698 -6.7023552 -6.5884003 -0.8985415
|
||||
8400 518 0.32860902 -6.7211074 -6.5878875 -0.89758921
|
||||
8500 520 0.35483743 -6.7406183 -6.5956126 -0.77602077
|
||||
8600 522 0.32928486 -6.7326607 -6.5970358 -0.75070137
|
||||
8700 524 0.36008106 -6.7474714 -6.5980103 -0.87093836
|
||||
8800 526 0.36082301 -6.743579 -6.5926644 -0.90132107
|
||||
8900 528 0.35010285 -6.7501553 -6.6026214 -0.85238959
|
||||
9000 530 0.31513985 -6.7411795 -6.6073937 -0.75884529
|
||||
9100 532 0.30895083 -6.7421063 -6.6099891 -0.74482692
|
||||
9200 534 0.33631849 -6.751265 -6.6064087 -0.95632911
|
||||
9300 536 0.33306096 -6.759187 -6.6147156 -0.76275935
|
||||
9400 538 0.34582537 -6.7706766 -6.619619 -0.72251598
|
||||
9500 540 0.32003146 -6.772057 -6.6313024 -0.88195851
|
||||
9600 542 0.32439637 -6.7743569 -6.6307127 -0.90233104
|
||||
9700 544 0.33988235 -6.7763721 -6.624862 -0.85185581
|
||||
9800 546 0.32877587 -6.7744977 -6.62697 -0.8550905
|
||||
9900 548 0.29570051 -6.7623752 -6.6288243 -1.0371157
|
||||
10000 550 0.33675914 -6.7757315 -6.6226591 -1.0082157
|
||||
Loop time of 16.2553 on 4 procs for 10000 steps with 550 atoms
|
||||
|
||||
Performance: 265759.101 tau/day, 615.183 timesteps/s
|
||||
97.0% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.0034051 | 2.6646 | 8.0317 | 200.7 | 16.39
|
||||
Bond | 0.0022626 | 0.0072971 | 0.019437 | 8.3 | 0.04
|
||||
Neigh | 0.018657 | 1.218 | 3.7621 | 137.5 | 7.49
|
||||
Comm | 1.1497 | 6.7957 | 12.192 | 164.2 | 41.81
|
||||
Output | 0.010692 | 0.01431 | 0.019901 | 3.2 | 0.09
|
||||
Modify | 3.1502 | 5.3779 | 11.342 | 149.0 | 33.08
|
||||
Other | | 0.1775 | | | 1.09
|
||||
|
||||
Nlocal: 137.500 ave 299 max 2 min
|
||||
Histogram: 2 0 0 0 0 0 0 1 0 1
|
||||
Nghost: 1903.75 ave 2686 max 529 min
|
||||
Histogram: 1 0 0 0 0 0 1 0 0 2
|
||||
Neighs: 9209.75 ave 23206 max 0 min
|
||||
Histogram: 2 0 0 0 0 1 0 0 0 1
|
||||
|
||||
Total # of neighbors = 36839
|
||||
Ave neighs/atom = 66.980000
|
||||
Ave special neighs/atom = 0.36363636
|
||||
Neighbor list builds = 829
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:16
|
||||
@ -0,0 +1,218 @@
|
||||
LAMMPS (10 Mar 2021)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# sample surface deposition script for molecules
|
||||
|
||||
units lj
|
||||
atom_style bond
|
||||
boundary p p f
|
||||
|
||||
lattice fcc 1.0
|
||||
Lattice spacing in x,y,z = 1.5874011 1.5874011 1.5874011
|
||||
region box block 0 5 0 5 0 10
|
||||
create_box 3 box bond/types 1 extra/bond/per/atom 1
|
||||
Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (7.9370053 7.9370053 15.874011)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
|
||||
region substrate block INF INF INF INF INF 3
|
||||
create_atoms 1 region substrate
|
||||
Created 350 atoms
|
||||
create_atoms CPU = 0.001 seconds
|
||||
|
||||
pair_style lj/cut 2.5
|
||||
pair_coeff * * 1.0 1.0
|
||||
pair_coeff 1 2 1.0 1.0 5.0
|
||||
mass * 1.0
|
||||
|
||||
bond_style harmonic
|
||||
bond_coeff 1 5.0 1.0
|
||||
|
||||
neigh_modify delay 0
|
||||
|
||||
molecule dimer molecule.dimer
|
||||
Read molecule template dimer:
|
||||
1 molecules
|
||||
2 atoms with max type 3
|
||||
1 bonds with max type 1
|
||||
0 angles with max type 0
|
||||
0 dihedrals with max type 0
|
||||
0 impropers with max type 0
|
||||
region slab block 0 5 0 5 8 9
|
||||
|
||||
group addatoms empty
|
||||
0 atoms in group addatoms
|
||||
region mobile block 0 5 0 5 2 INF
|
||||
group mobile region mobile
|
||||
150 atoms in group mobile
|
||||
|
||||
compute add addatoms temp
|
||||
compute_modify add dynamic/dof yes extra/dof 0
|
||||
|
||||
fix 1 addatoms rigid/nvt/small molecule temp 0.1 0.1 0.1 mol dimer
|
||||
create bodies CPU = 0.000 seconds
|
||||
0 rigid bodies with 0 atoms
|
||||
1.0000000 = max distance from body owner to body atom
|
||||
fix 2 mobile langevin 0.1 0.1 0.1 587283
|
||||
fix 3 mobile nve
|
||||
|
||||
fix 4 addatoms deposit 100 0 100 12345 region slab near 1.0 mol dimer vz -1.0 -1.0 rigid 1
|
||||
fix 5 addatoms wall/reflect zhi EDGE
|
||||
|
||||
thermo_style custom step atoms temp epair etotal press
|
||||
thermo 100
|
||||
thermo_modify temp add lost/bond ignore lost warn
|
||||
WARNING: Temperature for thermo pressure is not for group all (src/thermo.cpp:468)
|
||||
|
||||
#dump 1 all atom 50 dump.deposit.atom
|
||||
|
||||
#dump 2 all image 50 image.*.jpg type type # axes yes 0.8 0.02 view 80 -30
|
||||
#dump_modify 2 pad 5
|
||||
|
||||
#dump 3 all movie 50 tmp.mpg type type # axes yes 0.8 0.02 view 80 -30
|
||||
#dump_modify 3 pad 5
|
||||
|
||||
run 10000
|
||||
WARNING: Should not allow rigid bodies to bounce off relecting walls (src/fix_wall_reflect.cpp:182)
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 5.3
|
||||
ghost atom cutoff = 5.3
|
||||
binsize = 2.65, bins = 3 3 6
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/cut, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 5.929 | 5.929 | 5.929 Mbytes
|
||||
Step Atoms Temp E_pair TotEng Press
|
||||
0 350 0 -6.9215833 -6.9215833 -1.0052629
|
||||
100 352 1.0079368 -6.8875167 -6.8803581 -0.73353914
|
||||
200 354 1.0081552 -6.8594643 -6.8452248 -0.70421276
|
||||
300 356 1.0085803 -6.8171524 -6.7959042 -0.6917826
|
||||
400 358 1.0099188 -6.7852701 -6.7570601 -0.70371699
|
||||
500 360 1.0140221 -6.7493429 -6.7141338 -0.68415307
|
||||
600 362 1.026148 -6.7105231 -6.6680032 -0.68314418
|
||||
700 364 1.0683344 -6.6725162 -6.621154 -0.65747369
|
||||
800 366 1.0958953 -6.6412275 -6.5813425 -0.68789615
|
||||
900 368 1.1250034 -6.6101882 -6.541404 -0.66674346
|
||||
1000 370 1.2326365 -6.5993719 -6.5160856 -0.69688655
|
||||
1100 372 1.1397444 -6.5912865 -6.5070312 -0.6333041
|
||||
1200 374 1.0514447 -6.5905753 -6.5062348 -0.71020272
|
||||
1300 376 1.0033284 -6.5747792 -6.4880554 -0.65459641
|
||||
1400 378 0.82996548 -6.5681806 -6.4913319 -0.60438595
|
||||
1500 380 0.90239071 -6.5752982 -6.4862465 -0.66528503
|
||||
1600 382 0.86403681 -6.5692212 -6.4787461 -0.65027922
|
||||
1700 384 0.64748046 -6.5644242 -6.4927629 -0.63046709
|
||||
1800 386 0.74288742 -6.5515741 -6.4649681 -0.67770665
|
||||
1900 388 0.72584537 -6.5565195 -6.4676596 -0.66175025
|
||||
2000 390 0.73351281 -6.5631154 -6.4690753 -0.64686647
|
||||
2100 392 0.76490681 -6.5573734 -6.4549305 -0.68861526
|
||||
2200 394 0.65926638 -6.5511574 -6.4591279 -0.71726284
|
||||
2300 396 0.70267414 -6.5728555 -6.4708258 -0.64360436
|
||||
2400 398 0.60523691 -6.5845973 -6.4933555 -0.63956839
|
||||
2500 400 0.5103586 -6.5812006 -6.5014571 -0.68698448
|
||||
2600 402 0.52401744 -6.6003358 -6.5156066 -0.68987222
|
||||
2700 404 0.46421291 -6.5662747 -6.4887143 -0.72872856
|
||||
2800 406 0.48254258 -6.5724266 -6.4892296 -0.75447872
|
||||
2900 408 0.53073083 -6.5809842 -6.4866754 -0.67592283
|
||||
3000 410 0.55314547 -6.5922077 -6.4910226 -0.74646953
|
||||
3100 412 0.47150308 -6.5907273 -6.5020344 -0.64994935
|
||||
3200 414 0.43047803 -6.5836315 -6.5004473 -0.79764713
|
||||
3300 416 0.46289353 -6.5739439 -6.4821441 -0.76441674
|
||||
3400 418 0.59724106 -6.5980575 -6.4766089 -0.73735626
|
||||
3500 420 0.43571285 -6.5955972 -6.5048237 -0.64145941
|
||||
3600 422 0.42461639 -6.6060271 -6.5154691 -0.70124484
|
||||
3700 424 0.44323254 -6.6059723 -6.5092766 -0.74498147
|
||||
3800 426 0.4037907 -6.592043 -6.5019958 -0.72171799
|
||||
3900 428 0.41668443 -6.5975302 -6.5026079 -0.68327878
|
||||
4000 430 0.44895183 -6.5958671 -6.4914597 -0.73939433
|
||||
4100 432 0.39798052 -6.5952115 -6.5007833 -0.74871822
|
||||
4200 434 0.45156734 -6.6237274 -6.5144772 -0.75111778
|
||||
4300 436 0.48297356 -6.6395283 -6.5204465 -0.76105913
|
||||
4400 438 0.43595234 -6.6347133 -6.5252276 -0.72858275
|
||||
4500 440 0.44683726 -6.6385398 -6.5242916 -0.74280051
|
||||
4600 442 0.47875512 -6.6419903 -6.5174274 -0.75579572
|
||||
4700 444 0.43972605 -6.6406078 -6.5242388 -0.72196509
|
||||
4800 446 0.43572615 -6.6495404 -6.5323047 -0.7135049
|
||||
4900 448 0.38063437 -6.6432385 -6.5391588 -0.77087429
|
||||
5000 450 0.4239223 -6.6617795 -6.5440233 -0.784531
|
||||
5100 452 0.37201988 -6.6581813 -6.5532421 -0.74611403
|
||||
5200 454 0.41765777 -6.6661321 -6.5465385 -0.75422239
|
||||
5300 456 0.38015287 -6.6606624 -6.5502013 -0.78866702
|
||||
5400 458 0.40549607 -6.6807118 -6.5611878 -0.78932883
|
||||
5500 460 0.34444407 -6.6720564 -6.5690976 -0.77859171
|
||||
5600 462 0.36572308 -6.6730078 -6.5621827 -0.85672419
|
||||
5700 464 0.40055073 -6.6976989 -6.574685 -0.74251563
|
||||
5800 466 0.36037213 -6.7022014 -6.5900685 -0.66239625
|
||||
5900 468 0.32810921 -6.6952135 -6.591803 -0.83981757
|
||||
6000 470 0.35110886 -6.6986862 -6.5866302 -0.82474047
|
||||
6100 472 0.29965884 -6.6839503 -6.5871326 -0.7864913
|
||||
6200 474 0.32402637 -6.6902745 -6.5843165 -0.74531083
|
||||
6300 476 0.35042653 -6.6990084 -6.5830585 -0.74839967
|
||||
6400 478 0.32695511 -6.6909459 -6.5815048 -0.76549489
|
||||
6500 480 0.35209088 -6.6902987 -6.5711013 -0.71281516
|
||||
6600 482 0.354106 -6.6890268 -6.567808 -0.81897158
|
||||
6700 484 0.3504816 -6.681739 -6.5604463 -0.811609
|
||||
6800 486 0.37396733 -6.7018369 -6.5710253 -0.80383296
|
||||
6900 488 0.36435774 -6.7010114 -6.5722169 -0.72063651
|
||||
7000 490 0.35631012 -6.7089806 -6.581727 -0.74152078
|
||||
7100 492 0.37646659 -6.719154 -6.5833352 -0.77739001
|
||||
7200 494 0.36546269 -6.7223269 -6.5891623 -0.8288767
|
||||
7300 496 0.37688206 -6.7457243 -6.607053 -0.80062121
|
||||
7400 498 0.30331409 -6.7284953 -6.6158184 -0.79894584
|
||||
7500 500 0.30382936 -6.7333804 -6.6194444 -0.86924602
|
||||
7600 502 0.30163143 -6.7294737 -6.6153104 -0.7689497
|
||||
7700 504 0.30281215 -6.7233976 -6.6077402 -0.8557548
|
||||
7800 506 0.33378009 -6.7244958 -6.5958651 -0.82584084
|
||||
7900 508 0.31843128 -6.7250998 -6.6013002 -0.82424684
|
||||
8000 510 0.35912946 -6.7399052 -6.5990701 -0.81879575
|
||||
8100 512 0.31405017 -6.733487 -6.6092777 -0.72940457
|
||||
8200 514 0.30475 -6.7271485 -6.6056043 -0.87958287
|
||||
8300 516 0.30717434 -6.7277574 -6.6042329 -0.81700937
|
||||
8400 518 0.33032462 -6.7382165 -6.6043011 -0.75436496
|
||||
8500 520 0.32218568 -6.7351971 -6.6035347 -0.77661738
|
||||
8600 522 0.30922651 -6.7275431 -6.6001797 -0.85334327
|
||||
8700 524 0.30728021 -6.7237477 -6.5962029 -0.94977016
|
||||
8800 526 0.31061903 -6.7181672 -6.5882505 -0.86132456
|
||||
8900 528 0.33543344 -6.728929 -6.5875768 -0.87545919
|
||||
9000 530 0.31887735 -6.7265066 -6.5911341 -0.76892061
|
||||
9100 532 0.31888326 -6.7216274 -6.5852629 -0.83190298
|
||||
9200 534 0.33310892 -6.7111349 -6.567661 -0.94282671
|
||||
9300 536 0.34737171 -6.722515 -6.5718361 -0.95235602
|
||||
9400 538 0.32752858 -6.7246204 -6.5815549 -0.86227131
|
||||
9500 540 0.30665764 -6.7225391 -6.5876665 -0.87144326
|
||||
9600 542 0.32747382 -6.7149245 -6.5699176 -0.86863105
|
||||
9700 544 0.32463079 -6.7205757 -6.5758643 -0.85393932
|
||||
9800 546 0.31517825 -6.7178961 -6.5764699 -0.81017759
|
||||
9900 548 0.33649933 -6.7380644 -6.5860871 -0.80769312
|
||||
10000 550 0.37394555 -6.7612874 -6.5913121 -0.82102213
|
||||
Loop time of 16.6615 on 1 procs for 10000 steps with 550 atoms
|
||||
|
||||
Performance: 259279.806 tau/day, 600.185 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 | 9.2639 | 9.2639 | 9.2639 | 0.0 | 55.60
|
||||
Bond | 0.021559 | 0.021559 | 0.021559 | 0.0 | 0.13
|
||||
Neigh | 4.544 | 4.544 | 4.544 | 0.0 | 27.27
|
||||
Comm | 0.62792 | 0.62792 | 0.62792 | 0.0 | 3.77
|
||||
Output | 0.0069666 | 0.0069666 | 0.0069666 | 0.0 | 0.04
|
||||
Modify | 2.1282 | 2.1282 | 2.1282 | 0.0 | 12.77
|
||||
Other | | 0.06897 | | | 0.41
|
||||
|
||||
Nlocal: 550.000 ave 550 max 550 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 2344.00 ave 2344 max 2344 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 36607.0 ave 36607 max 36607 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 36607
|
||||
Ave neighs/atom = 66.558182
|
||||
Ave special neighs/atom = 0.36363636
|
||||
Neighbor list builds = 847
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:16
|
||||
@ -0,0 +1,218 @@
|
||||
LAMMPS (10 Mar 2021)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# sample surface deposition script for molecules
|
||||
|
||||
units lj
|
||||
atom_style bond
|
||||
boundary p p f
|
||||
|
||||
lattice fcc 1.0
|
||||
Lattice spacing in x,y,z = 1.5874011 1.5874011 1.5874011
|
||||
region box block 0 5 0 5 0 10
|
||||
create_box 3 box bond/types 1 extra/bond/per/atom 1
|
||||
Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (7.9370053 7.9370053 15.874011)
|
||||
1 by 1 by 4 MPI processor grid
|
||||
|
||||
region substrate block INF INF INF INF INF 3
|
||||
create_atoms 1 region substrate
|
||||
Created 350 atoms
|
||||
create_atoms CPU = 0.002 seconds
|
||||
|
||||
pair_style lj/cut 2.5
|
||||
pair_coeff * * 1.0 1.0
|
||||
pair_coeff 1 2 1.0 1.0 5.0
|
||||
mass * 1.0
|
||||
|
||||
bond_style harmonic
|
||||
bond_coeff 1 5.0 1.0
|
||||
|
||||
neigh_modify delay 0
|
||||
|
||||
molecule dimer molecule.dimer
|
||||
Read molecule template dimer:
|
||||
1 molecules
|
||||
2 atoms with max type 3
|
||||
1 bonds with max type 1
|
||||
0 angles with max type 0
|
||||
0 dihedrals with max type 0
|
||||
0 impropers with max type 0
|
||||
region slab block 0 5 0 5 8 9
|
||||
|
||||
group addatoms empty
|
||||
0 atoms in group addatoms
|
||||
region mobile block 0 5 0 5 2 INF
|
||||
group mobile region mobile
|
||||
150 atoms in group mobile
|
||||
|
||||
compute add addatoms temp
|
||||
compute_modify add dynamic/dof yes extra/dof 0
|
||||
|
||||
fix 1 addatoms rigid/nvt/small molecule temp 0.1 0.1 0.1 mol dimer
|
||||
create bodies CPU = 0.000 seconds
|
||||
0 rigid bodies with 0 atoms
|
||||
1.0000000 = max distance from body owner to body atom
|
||||
fix 2 mobile langevin 0.1 0.1 0.1 587283
|
||||
fix 3 mobile nve
|
||||
|
||||
fix 4 addatoms deposit 100 0 100 12345 region slab near 1.0 mol dimer vz -1.0 -1.0 rigid 1
|
||||
fix 5 addatoms wall/reflect zhi EDGE
|
||||
|
||||
thermo_style custom step atoms temp epair etotal press
|
||||
thermo 100
|
||||
thermo_modify temp add lost/bond ignore lost warn
|
||||
WARNING: Temperature for thermo pressure is not for group all (src/thermo.cpp:468)
|
||||
|
||||
#dump 1 all atom 50 dump.deposit.atom
|
||||
|
||||
#dump 2 all image 50 image.*.jpg type type # axes yes 0.8 0.02 view 80 -30
|
||||
#dump_modify 2 pad 5
|
||||
|
||||
#dump 3 all movie 50 tmp.mpg type type # axes yes 0.8 0.02 view 80 -30
|
||||
#dump_modify 3 pad 5
|
||||
|
||||
run 10000
|
||||
WARNING: Should not allow rigid bodies to bounce off relecting walls (src/fix_wall_reflect.cpp:182)
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 5.3
|
||||
ghost atom cutoff = 5.3
|
||||
binsize = 2.65, bins = 3 3 6
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/cut, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 5.255 | 5.852 | 6.302 Mbytes
|
||||
Step Atoms Temp E_pair TotEng Press
|
||||
0 350 0 -6.9215833 -6.9215833 -1.0052629
|
||||
100 352 1.0079368 -6.8946578 -6.8874992 -0.73775337
|
||||
200 354 1.0081552 -6.8645575 -6.850318 -0.69629729
|
||||
300 356 1.0085803 -6.821677 -6.8004288 -0.69532657
|
||||
400 358 1.0099188 -6.7837923 -6.7555822 -0.68879568
|
||||
500 360 1.0140221 -6.7446709 -6.7094618 -0.72991641
|
||||
600 362 1.026146 -6.7129201 -6.6704003 -0.67063836
|
||||
700 364 1.0683193 -6.6776523 -6.6262908 -0.65572472
|
||||
800 366 1.0958894 -6.6402029 -6.5803182 -0.66307282
|
||||
900 368 1.1231769 -6.6050912 -6.5364187 -0.64076928
|
||||
1000 370 1.1976289 -6.5942508 -6.51333 -0.69249047
|
||||
1100 372 1.05061 -6.5772306 -6.4995645 -0.6307289
|
||||
1200 374 0.93723829 -6.5732962 -6.4981166 -0.64963821
|
||||
1300 376 0.93899122 -6.5578418 -6.476679 -0.65096688
|
||||
1400 378 0.87050694 -6.546852 -6.4662495 -0.67613401
|
||||
1500 380 0.84462904 -6.5400883 -6.4567368 -0.64376986
|
||||
1600 382 0.92417795 -6.5611292 -6.4643567 -0.62092779
|
||||
1700 384 0.67296541 -6.5589985 -6.4845167 -0.6779111
|
||||
1800 386 0.87159158 -6.5655058 -6.4638954 -0.6582786
|
||||
1900 388 0.67504975 -6.5772537 -6.4946123 -0.665098
|
||||
2000 390 0.65034978 -6.5717854 -6.4884072 -0.73162072
|
||||
2100 392 0.63389859 -6.5652907 -6.4803935 -0.64937411
|
||||
2200 394 0.6265637 -6.5582412 -6.4707767 -0.70819854
|
||||
2300 396 0.85352983 -6.5750751 -6.4511408 -0.69995918
|
||||
2400 398 0.69792348 -6.5938659 -6.4886513 -0.63755214
|
||||
2500 400 0.45320495 -6.595022 -6.5242087 -0.70462183
|
||||
2600 402 0.46824374 -6.5697613 -6.4940502 -0.75497893
|
||||
2700 404 0.46605975 -6.5599272 -6.4820583 -0.66778506
|
||||
2800 406 0.50637604 -6.5700492 -6.482743 -0.63812082
|
||||
2900 408 0.55335921 -6.5873352 -6.4890054 -0.62891652
|
||||
3000 410 0.51731142 -6.5890566 -6.4944264 -0.64305355
|
||||
3100 412 0.59439734 -6.6003127 -6.4885025 -0.67140541
|
||||
3200 414 0.53413632 -6.595564 -6.4923492 -0.76242248
|
||||
3300 416 0.49221593 -6.5990831 -6.5014681 -0.71330819
|
||||
3400 418 0.55006126 -6.6015725 -6.4897179 -0.72044309
|
||||
3500 420 0.49065348 -6.6329864 -6.5307669 -0.65775397
|
||||
3600 422 0.41907335 -6.6219753 -6.5325995 -0.75936391
|
||||
3700 424 0.38720116 -6.6153349 -6.5308629 -0.74166397
|
||||
3800 426 0.40625994 -6.6150209 -6.5244231 -0.7595111
|
||||
3900 428 0.40460547 -6.6122642 -6.5200936 -0.70484465
|
||||
4000 430 0.45014991 -6.6254404 -6.5207544 -0.70069933
|
||||
4100 432 0.44820466 -6.640222 -6.5338771 -0.805972
|
||||
4200 434 0.39767521 -6.6450316 -6.5488199 -0.72841414
|
||||
4300 436 0.4155331 -6.6547917 -6.5523381 -0.6894484
|
||||
4400 438 0.43034353 -6.6615074 -6.5534303 -0.74026062
|
||||
4500 440 0.38062977 -6.6541618 -6.5568417 -0.85911194
|
||||
4600 442 0.39357419 -6.6522517 -6.5498512 -0.66232114
|
||||
4700 444 0.40296801 -6.6647029 -6.5580616 -0.67307577
|
||||
4800 446 0.38194993 -6.6510248 -6.548258 -0.77887746
|
||||
4900 448 0.40739835 -6.6601751 -6.5487771 -0.84146416
|
||||
5000 450 0.38392807 -6.6560665 -6.5494198 -0.77343399
|
||||
5100 452 0.35209286 -6.6481476 -6.5488294 -0.68065755
|
||||
5200 454 0.41355143 -6.6615988 -6.543181 -0.81611092
|
||||
5300 456 0.42200484 -6.6627494 -6.5401273 -0.7774134
|
||||
5400 458 0.37764326 -6.661431 -6.550117 -0.72187808
|
||||
5500 460 0.41857405 -6.6674232 -6.542306 -0.74929745
|
||||
5600 462 0.41682611 -6.6710961 -6.5447852 -0.7557454
|
||||
5700 464 0.44396148 -6.6924346 -6.5560887 -0.78018312
|
||||
5800 466 0.37058077 -6.6865013 -6.5711919 -0.74146125
|
||||
5900 468 0.346812 -6.681215 -6.57191 -0.81184233
|
||||
6000 470 0.34919462 -6.6827931 -6.571348 -0.87330821
|
||||
6100 472 0.39360936 -6.6933359 -6.5661634 -0.79237598
|
||||
6200 474 0.33270778 -6.6847095 -6.5759127 -0.77978526
|
||||
6300 476 0.35973804 -6.6951254 -6.5760944 -0.80340174
|
||||
6400 478 0.38124318 -6.7045984 -6.5769857 -0.81628407
|
||||
6500 480 0.41188302 -6.7133356 -6.573896 -0.7940289
|
||||
6600 482 0.36998039 -6.7079555 -6.5813025 -0.75055442
|
||||
6700 484 0.37615026 -6.722917 -6.592741 -0.76534055
|
||||
6800 486 0.3466597 -6.7188712 -6.5976116 -0.77986211
|
||||
6900 488 0.32902492 -6.7247054 -6.6084005 -0.75702458
|
||||
7000 490 0.31856427 -6.7167709 -6.6029979 -0.76014555
|
||||
7100 492 0.30233891 -6.7144406 -6.6053651 -0.96246708
|
||||
7200 494 0.32557309 -6.7315347 -6.6129049 -0.8122153
|
||||
7300 496 0.29919611 -6.7186327 -6.6085455 -0.71917931
|
||||
7400 498 0.29778169 -6.7259455 -6.6153238 -0.88199391
|
||||
7500 500 0.35535305 -6.7419073 -6.6086499 -0.90344083
|
||||
7600 502 0.31979187 -6.7326802 -6.6116434 -0.78324572
|
||||
7700 504 0.30821359 -6.72895 -6.6112295 -0.81363335
|
||||
7800 506 0.31374993 -6.7255461 -6.6046346 -0.89904197
|
||||
7900 508 0.29072338 -6.7177355 -6.6047082 -0.81423073
|
||||
8000 510 0.30557494 -6.7208283 -6.600995 -0.85853575
|
||||
8100 512 0.30521237 -6.726874 -6.6061601 -0.75361257
|
||||
8200 514 0.29622226 -6.7152225 -6.5970794 -0.85766132
|
||||
8300 516 0.28337698 -6.7023552 -6.5884003 -0.8985415
|
||||
8400 518 0.32860902 -6.7211074 -6.5878875 -0.89758921
|
||||
8500 520 0.35483743 -6.7406183 -6.5956126 -0.77602077
|
||||
8600 522 0.32928486 -6.7326607 -6.5970358 -0.75070137
|
||||
8700 524 0.36008106 -6.7474714 -6.5980103 -0.87093836
|
||||
8800 526 0.36082301 -6.743579 -6.5926644 -0.90132107
|
||||
8900 528 0.35010285 -6.7501553 -6.6026214 -0.85238959
|
||||
9000 530 0.31513985 -6.7411795 -6.6073937 -0.75884529
|
||||
9100 532 0.30895083 -6.7421063 -6.6099891 -0.74482692
|
||||
9200 534 0.33631849 -6.751265 -6.6064087 -0.95632911
|
||||
9300 536 0.33306096 -6.759187 -6.6147156 -0.76275935
|
||||
9400 538 0.34582537 -6.7706766 -6.619619 -0.72251598
|
||||
9500 540 0.32003146 -6.772057 -6.6313024 -0.88195851
|
||||
9600 542 0.32439637 -6.7743569 -6.6307127 -0.90233104
|
||||
9700 544 0.33988235 -6.7763721 -6.624862 -0.85185581
|
||||
9800 546 0.32877587 -6.7744977 -6.62697 -0.8550905
|
||||
9900 548 0.29570051 -6.7623752 -6.6288243 -1.0371157
|
||||
10000 550 0.33675914 -6.7757315 -6.6226591 -1.0082157
|
||||
Loop time of 16.1559 on 4 procs for 10000 steps with 550 atoms
|
||||
|
||||
Performance: 267395.139 tau/day, 618.970 timesteps/s
|
||||
96.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 | 0.0035574 | 2.5467 | 7.5373 | 192.6 | 15.76
|
||||
Bond | 0.0022929 | 0.0073138 | 0.019471 | 8.3 | 0.05
|
||||
Neigh | 0.018645 | 1.2357 | 3.8167 | 138.4 | 7.65
|
||||
Comm | 1.1946 | 6.6335 | 11.87 | 158.8 | 41.06
|
||||
Output | 0.010714 | 0.014391 | 0.020006 | 3.2 | 0.09
|
||||
Modify | 3.4474 | 5.6081 | 11.47 | 143.2 | 34.71
|
||||
Other | | 0.1102 | | | 0.68
|
||||
|
||||
Nlocal: 137.500 ave 299 max 2 min
|
||||
Histogram: 2 0 0 0 0 0 0 1 0 1
|
||||
Nghost: 1903.75 ave 2686 max 529 min
|
||||
Histogram: 1 0 0 0 0 0 1 0 0 2
|
||||
Neighs: 9209.75 ave 23206 max 0 min
|
||||
Histogram: 2 0 0 0 0 1 0 0 0 1
|
||||
|
||||
Total # of neighbors = 36839
|
||||
Ave neighs/atom = 66.980000
|
||||
Ave special neighs/atom = 0.36363636
|
||||
Neighbor list builds = 829
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:16
|
||||
218
examples/deposit/log.10Mar21.deposit.molecule.rigid-small.g++.1
Normal file
218
examples/deposit/log.10Mar21.deposit.molecule.rigid-small.g++.1
Normal file
@ -0,0 +1,218 @@
|
||||
LAMMPS (10 Mar 2021)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# sample surface deposition script for molecules
|
||||
|
||||
units lj
|
||||
atom_style bond
|
||||
boundary p p f
|
||||
|
||||
lattice fcc 1.0
|
||||
Lattice spacing in x,y,z = 1.5874011 1.5874011 1.5874011
|
||||
region box block 0 5 0 5 0 10
|
||||
create_box 3 box bond/types 1 extra/bond/per/atom 1
|
||||
Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (7.9370053 7.9370053 15.874011)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
|
||||
region substrate block INF INF INF INF INF 3
|
||||
create_atoms 1 region substrate
|
||||
Created 350 atoms
|
||||
create_atoms CPU = 0.001 seconds
|
||||
|
||||
pair_style lj/cut 2.5
|
||||
pair_coeff * * 1.0 1.0
|
||||
pair_coeff 1 2 1.0 1.0 5.0
|
||||
mass * 1.0
|
||||
|
||||
bond_style harmonic
|
||||
bond_coeff 1 5.0 1.0
|
||||
|
||||
neigh_modify delay 0
|
||||
|
||||
molecule dimer molecule.dimer
|
||||
Read molecule template dimer:
|
||||
1 molecules
|
||||
2 atoms with max type 3
|
||||
1 bonds with max type 1
|
||||
0 angles with max type 0
|
||||
0 dihedrals with max type 0
|
||||
0 impropers with max type 0
|
||||
region slab block 0 5 0 5 8 9
|
||||
|
||||
group addatoms empty
|
||||
0 atoms in group addatoms
|
||||
region mobile block 0 5 0 5 2 INF
|
||||
group mobile region mobile
|
||||
150 atoms in group mobile
|
||||
|
||||
compute add addatoms temp
|
||||
compute_modify add dynamic/dof yes extra/dof 0
|
||||
|
||||
fix 1 addatoms rigid/small molecule mol dimer
|
||||
create bodies CPU = 0.000 seconds
|
||||
0 rigid bodies with 0 atoms
|
||||
1.0000000 = max distance from body owner to body atom
|
||||
fix 2 mobile langevin 0.1 0.1 0.1 587283
|
||||
fix 3 mobile nve
|
||||
|
||||
fix 4 addatoms deposit 100 0 100 12345 region slab near 1.0 mol dimer vz -1.0 -1.0 rigid 1
|
||||
fix 5 addatoms wall/reflect zhi EDGE
|
||||
|
||||
thermo_style custom step atoms temp epair etotal press
|
||||
thermo 100
|
||||
thermo_modify temp add lost/bond ignore lost warn
|
||||
WARNING: Temperature for thermo pressure is not for group all (src/thermo.cpp:468)
|
||||
|
||||
#dump 1 all atom 50 dump.deposit.atom
|
||||
|
||||
#dump 2 all image 50 image.*.jpg type type # axes yes 0.8 0.02 view 80 -30
|
||||
#dump_modify 2 pad 5
|
||||
|
||||
#dump 3 all movie 50 tmp.mpg type type # axes yes 0.8 0.02 view 80 -30
|
||||
#dump_modify 3 pad 5
|
||||
|
||||
run 10000
|
||||
WARNING: Should not allow rigid bodies to bounce off relecting walls (src/fix_wall_reflect.cpp:182)
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 5.3
|
||||
ghost atom cutoff = 5.3
|
||||
binsize = 2.65, bins = 3 3 6
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/cut, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 5.929 | 5.929 | 5.929 Mbytes
|
||||
Step Atoms Temp E_pair TotEng Press
|
||||
0 350 0 -6.9215833 -6.9215833 -1.0052629
|
||||
100 352 1.0079368 -6.8875167 -6.8803581 -0.73353914
|
||||
200 354 1.0081552 -6.8594643 -6.8452248 -0.70421276
|
||||
300 356 1.0085803 -6.8171524 -6.7959042 -0.6917826
|
||||
400 358 1.0099188 -6.7852701 -6.7570601 -0.70371699
|
||||
500 360 1.0140221 -6.7493429 -6.7141338 -0.68415307
|
||||
600 362 1.026148 -6.7105231 -6.6680032 -0.68314418
|
||||
700 364 1.0683344 -6.6725162 -6.621154 -0.65747369
|
||||
800 366 1.0958952 -6.6412275 -6.5813425 -0.68789614
|
||||
900 368 1.1250033 -6.6101882 -6.541404 -0.66674346
|
||||
1000 370 1.2326373 -6.5993719 -6.5160856 -0.6968868
|
||||
1100 372 1.1397426 -6.5912861 -6.5070309 -0.63330356
|
||||
1200 374 1.0514292 -6.5905747 -6.5062354 -0.71020362
|
||||
1300 376 1.003296 -6.5747765 -6.4880555 -0.65459732
|
||||
1400 378 0.82999289 -6.5681797 -6.4913285 -0.60438126
|
||||
1500 380 0.90239175 -6.575298 -6.4862461 -0.66528725
|
||||
1600 382 0.86399799 -6.5692206 -6.4787496 -0.65027781
|
||||
1700 384 0.64747231 -6.5644237 -6.4927634 -0.6304614
|
||||
1800 386 0.74288971 -6.5515735 -6.4649672 -0.67772325
|
||||
1900 388 0.7257202 -6.5565091 -6.4676644 -0.66173549
|
||||
2000 390 0.73381036 -6.5631515 -6.4690733 -0.64685916
|
||||
2100 392 0.76476562 -6.5574124 -6.4549885 -0.68866192
|
||||
2200 394 0.65932468 -6.5511557 -6.459118 -0.71728829
|
||||
2300 396 0.70269509 -6.5728146 -6.4707819 -0.64362081
|
||||
2400 398 0.60528919 -6.5845991 -6.4933494 -0.63956327
|
||||
2500 400 0.51025744 -6.5812452 -6.5015175 -0.68706961
|
||||
2600 402 0.5245131 -6.6003894 -6.5155801 -0.68972215
|
||||
2700 404 0.46330251 -6.5659175 -6.4885092 -0.72870942
|
||||
2800 406 0.48039778 -6.5715192 -6.488692 -0.753758
|
||||
2900 408 0.53698616 -6.5813154 -6.4858951 -0.67117541
|
||||
3000 410 0.50231419 -6.5886963 -6.4968096 -0.71905351
|
||||
3100 412 0.49420225 -6.596733 -6.5037702 -0.65947518
|
||||
3200 414 0.42703699 -6.5879338 -6.5054146 -0.80033546
|
||||
3300 416 0.44306009 -6.580249 -6.4923825 -0.76503083
|
||||
3400 418 0.55620672 -6.5923388 -6.4792346 -0.69367877
|
||||
3500 420 0.39815033 -6.5911154 -6.5081674 -0.65569211
|
||||
3600 422 0.44197847 -6.6026382 -6.5083774 -0.73299102
|
||||
3700 424 0.45049389 -6.6060616 -6.5077817 -0.7552914
|
||||
3800 426 0.43047295 -6.6079275 -6.51193 -0.71501328
|
||||
3900 428 0.43779129 -6.6099306 -6.5102001 -0.71539515
|
||||
4000 430 0.41113503 -6.6123009 -6.5166881 -0.74177096
|
||||
4100 432 0.32800011 -6.5983566 -6.5205325 -0.71688103
|
||||
4200 434 0.39168203 -6.6110342 -6.5162724 -0.78927697
|
||||
4300 436 0.48151013 -6.6183315 -6.4996106 -0.70523035
|
||||
4400 438 0.45391027 -6.6331732 -6.5191775 -0.7270855
|
||||
4500 440 0.349126 -6.6091657 -6.5199006 -0.76974115
|
||||
4600 442 0.43375023 -6.6219188 -6.5090653 -0.74576212
|
||||
4700 444 0.40071749 -6.6184164 -6.5123707 -0.71919052
|
||||
4800 446 0.414292 -6.6298132 -6.5183445 -0.76237313
|
||||
4900 448 0.44210681 -6.6364174 -6.5155288 -0.78753121
|
||||
5000 450 0.36101771 -6.6232703 -6.5229876 -0.73927083
|
||||
5100 452 0.41481171 -6.6442404 -6.5272305 -0.76316209
|
||||
5200 454 0.40283527 -6.6512252 -6.5358759 -0.79645689
|
||||
5300 456 0.3642061 -6.6530346 -6.5472072 -0.77458364
|
||||
5400 458 0.38449826 -6.6514864 -6.5381518 -0.73083784
|
||||
5500 460 0.42559408 -6.6769326 -6.5497169 -0.78932279
|
||||
5600 462 0.38905756 -6.6698705 -6.5519743 -0.77118812
|
||||
5700 464 0.38354955 -6.6706904 -6.5528977 -0.75067129
|
||||
5800 466 0.36760943 -6.6942519 -6.5798669 -0.685487
|
||||
5900 468 0.30783118 -6.6838159 -6.5867965 -0.79233808
|
||||
6000 470 0.33145368 -6.6733504 -6.5675673 -0.84390449
|
||||
6100 472 0.39252324 -6.6912189 -6.5643973 -0.83342022
|
||||
6200 474 0.32342144 -6.6906083 -6.5848481 -0.71262158
|
||||
6300 476 0.34445238 -6.7008453 -6.5868721 -0.76650756
|
||||
6400 478 0.38152782 -6.7017838 -6.5740758 -0.77113022
|
||||
6500 480 0.37540166 -6.7119996 -6.5849105 -0.79907635
|
||||
6600 482 0.3579419 -6.7034721 -6.5809401 -0.8141269
|
||||
6700 484 0.33538235 -6.6916682 -6.575601 -0.83265486
|
||||
6800 486 0.34081871 -6.6931924 -6.573976 -0.80582583
|
||||
6900 488 0.3555283 -6.6939997 -6.5683263 -0.74771423
|
||||
7000 490 0.3543769 -6.7093364 -6.5827732 -0.77643516
|
||||
7100 492 0.31263107 -6.698361 -6.5855723 -0.73108333
|
||||
7200 494 0.32107 -6.6959056 -6.5789166 -0.7575478
|
||||
7300 496 0.32908165 -6.7137605 -6.592677 -0.86538023
|
||||
7400 498 0.32539571 -6.7030353 -6.5821554 -0.79337428
|
||||
7500 500 0.33902577 -6.7078178 -6.5806832 -0.85408988
|
||||
7600 502 0.35530921 -6.707507 -6.5730274 -0.79914613
|
||||
7700 504 0.32391812 -6.6978823 -6.5741635 -0.78603595
|
||||
7800 506 0.36390015 -6.7151325 -6.5748943 -0.83164222
|
||||
7900 508 0.3372561 -6.7086718 -6.5775535 -0.7949992
|
||||
8000 510 0.36612946 -6.7225238 -6.5789437 -0.80322866
|
||||
8100 512 0.34622305 -6.7229825 -6.5860486 -0.70478659
|
||||
8200 514 0.3212233 -6.7202524 -6.5921381 -0.91836713
|
||||
8300 516 0.3402461 -6.721488 -6.5846642 -0.88273592
|
||||
8400 518 0.34070258 -6.7268378 -6.5887152 -0.76057264
|
||||
8500 520 0.36267747 -6.744602 -6.5963924 -0.81051317
|
||||
8600 522 0.3439948 -6.7376267 -6.595943 -0.84600203
|
||||
8700 524 0.30960289 -6.7276471 -6.5991382 -0.90965986
|
||||
8800 526 0.28868972 -6.7159628 -6.595218 -0.876093
|
||||
8900 528 0.31020216 -6.7162903 -6.5855707 -0.83193125
|
||||
9000 530 0.31836275 -6.7171479 -6.5819939 -0.82093897
|
||||
9100 532 0.32543293 -6.724167 -6.5850016 -0.7690143
|
||||
9200 534 0.32644265 -6.7139575 -6.5733549 -0.86903096
|
||||
9300 536 0.33050759 -6.7254715 -6.5821077 -0.94504522
|
||||
9400 538 0.30372582 -6.7139931 -6.5813247 -0.91128612
|
||||
9500 540 0.32943659 -6.7206223 -6.5757312 -0.87818439
|
||||
9600 542 0.30911968 -6.708091 -6.5712114 -0.79092372
|
||||
9700 544 0.33909826 -6.7222948 -6.5711342 -0.80266151
|
||||
9800 546 0.29015141 -6.7086869 -6.5784908 -0.87763769
|
||||
9900 548 0.33838474 -6.7384955 -6.5856667 -0.85630604
|
||||
10000 550 0.30213198 -6.7338924 -6.5965597 -0.75738882
|
||||
Loop time of 17.2852 on 1 procs for 10000 steps with 550 atoms
|
||||
|
||||
Performance: 249924.414 tau/day, 578.529 timesteps/s
|
||||
99.7% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 9.637 | 9.637 | 9.637 | 0.0 | 55.75
|
||||
Bond | 0.025444 | 0.025444 | 0.025444 | 0.0 | 0.15
|
||||
Neigh | 4.6852 | 4.6852 | 4.6852 | 0.0 | 27.11
|
||||
Comm | 0.65556 | 0.65556 | 0.65556 | 0.0 | 3.79
|
||||
Output | 0.0099883 | 0.0099883 | 0.0099883 | 0.0 | 0.06
|
||||
Modify | 2.1895 | 2.1895 | 2.1895 | 0.0 | 12.67
|
||||
Other | | 0.08248 | | | 0.48
|
||||
|
||||
Nlocal: 550.000 ave 550 max 550 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 2367.00 ave 2367 max 2367 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 36781.0 ave 36781 max 36781 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 36781
|
||||
Ave neighs/atom = 66.874545
|
||||
Ave special neighs/atom = 0.36363636
|
||||
Neighbor list builds = 840
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:17
|
||||
218
examples/deposit/log.10Mar21.deposit.molecule.rigid-small.g++.4
Normal file
218
examples/deposit/log.10Mar21.deposit.molecule.rigid-small.g++.4
Normal file
@ -0,0 +1,218 @@
|
||||
LAMMPS (10 Mar 2021)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# sample surface deposition script for molecules
|
||||
|
||||
units lj
|
||||
atom_style bond
|
||||
boundary p p f
|
||||
|
||||
lattice fcc 1.0
|
||||
Lattice spacing in x,y,z = 1.5874011 1.5874011 1.5874011
|
||||
region box block 0 5 0 5 0 10
|
||||
create_box 3 box bond/types 1 extra/bond/per/atom 1
|
||||
Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (7.9370053 7.9370053 15.874011)
|
||||
1 by 1 by 4 MPI processor grid
|
||||
|
||||
region substrate block INF INF INF INF INF 3
|
||||
create_atoms 1 region substrate
|
||||
Created 350 atoms
|
||||
create_atoms CPU = 0.139 seconds
|
||||
|
||||
pair_style lj/cut 2.5
|
||||
pair_coeff * * 1.0 1.0
|
||||
pair_coeff 1 2 1.0 1.0 5.0
|
||||
mass * 1.0
|
||||
|
||||
bond_style harmonic
|
||||
bond_coeff 1 5.0 1.0
|
||||
|
||||
neigh_modify delay 0
|
||||
|
||||
molecule dimer molecule.dimer
|
||||
Read molecule template dimer:
|
||||
1 molecules
|
||||
2 atoms with max type 3
|
||||
1 bonds with max type 1
|
||||
0 angles with max type 0
|
||||
0 dihedrals with max type 0
|
||||
0 impropers with max type 0
|
||||
region slab block 0 5 0 5 8 9
|
||||
|
||||
group addatoms empty
|
||||
0 atoms in group addatoms
|
||||
region mobile block 0 5 0 5 2 INF
|
||||
group mobile region mobile
|
||||
150 atoms in group mobile
|
||||
|
||||
compute add addatoms temp
|
||||
compute_modify add dynamic/dof yes extra/dof 0
|
||||
|
||||
fix 1 addatoms rigid/small molecule mol dimer
|
||||
create bodies CPU = 0.006 seconds
|
||||
0 rigid bodies with 0 atoms
|
||||
1.0000000 = max distance from body owner to body atom
|
||||
fix 2 mobile langevin 0.1 0.1 0.1 587283
|
||||
fix 3 mobile nve
|
||||
|
||||
fix 4 addatoms deposit 100 0 100 12345 region slab near 1.0 mol dimer vz -1.0 -1.0 rigid 1
|
||||
fix 5 addatoms wall/reflect zhi EDGE
|
||||
|
||||
thermo_style custom step atoms temp epair etotal press
|
||||
thermo 100
|
||||
thermo_modify temp add lost/bond ignore lost warn
|
||||
WARNING: Temperature for thermo pressure is not for group all (src/thermo.cpp:468)
|
||||
|
||||
#dump 1 all atom 50 dump.deposit.atom
|
||||
|
||||
#dump 2 all image 50 image.*.jpg type type # axes yes 0.8 0.02 view 80 -30
|
||||
#dump_modify 2 pad 5
|
||||
|
||||
#dump 3 all movie 50 tmp.mpg type type # axes yes 0.8 0.02 view 80 -30
|
||||
#dump_modify 3 pad 5
|
||||
|
||||
run 10000
|
||||
WARNING: Should not allow rigid bodies to bounce off relecting walls (src/fix_wall_reflect.cpp:182)
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 5.3
|
||||
ghost atom cutoff = 5.3
|
||||
binsize = 2.65, bins = 3 3 6
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/cut, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 5.255 | 5.852 | 6.302 Mbytes
|
||||
Step Atoms Temp E_pair TotEng Press
|
||||
0 350 0 -6.9215833 -6.9215833 -1.0052629
|
||||
100 352 1.0079368 -6.8946578 -6.8874992 -0.73775337
|
||||
200 354 1.0081552 -6.8645575 -6.850318 -0.69629729
|
||||
300 356 1.0085803 -6.821677 -6.8004288 -0.69532657
|
||||
400 358 1.0099188 -6.7837923 -6.7555822 -0.68879568
|
||||
500 360 1.0140221 -6.7446709 -6.7094618 -0.72991641
|
||||
600 362 1.026146 -6.7129201 -6.6704003 -0.67063836
|
||||
700 364 1.0683193 -6.6776523 -6.6262908 -0.65572472
|
||||
800 366 1.0958893 -6.6402029 -6.5803182 -0.66307281
|
||||
900 368 1.1231768 -6.6050912 -6.5364187 -0.64076928
|
||||
1000 370 1.1976283 -6.5942507 -6.5133299 -0.69249019
|
||||
1100 372 1.0506263 -6.5772313 -6.499564 -0.63072939
|
||||
1200 374 0.93724351 -6.5732957 -6.4981157 -0.64963897
|
||||
1300 376 0.93899686 -6.5578406 -6.4766773 -0.65096289
|
||||
1400 378 0.8704974 -6.5468498 -6.4662482 -0.67613931
|
||||
1500 380 0.84490693 -6.5401094 -6.4567304 -0.64385968
|
||||
1600 382 0.9243154 -6.5611604 -6.4643734 -0.62096869
|
||||
1700 384 0.67202953 -6.5590557 -6.4846775 -0.67807465
|
||||
1800 386 0.8712464 -6.5654953 -6.4639251 -0.65860236
|
||||
1900 388 0.70011668 -6.5808612 -6.495151 -0.65146463
|
||||
2000 390 0.64019295 -6.5652168 -6.4831408 -0.70291888
|
||||
2100 392 0.67578277 -6.5596196 -6.469113 -0.63315981
|
||||
2200 394 0.60785287 -6.558941 -6.4740885 -0.7133822
|
||||
2300 396 0.8155086 -6.5756022 -6.4571887 -0.69176417
|
||||
2400 398 0.69028748 -6.5875474 -6.483484 -0.63743938
|
||||
2500 400 0.5013913 -6.5871851 -6.5088427 -0.65872179
|
||||
2600 402 0.51268385 -6.5782356 -6.495339 -0.74289067
|
||||
2700 404 0.57745388 -6.5815718 -6.4850912 -0.67922914
|
||||
2800 406 0.47317895 -6.5974978 -6.5159152 -0.64657562
|
||||
2900 408 0.50593124 -6.6019054 -6.5120034 -0.64211427
|
||||
3000 410 0.44423233 -6.5956684 -6.5144064 -0.66526127
|
||||
3100 412 0.40808865 -6.5949863 -6.5182221 -0.62722445
|
||||
3200 414 0.40692632 -6.5866689 -6.5080358 -0.76440608
|
||||
3300 416 0.43908529 -6.5851721 -6.4980939 -0.69345883
|
||||
3400 418 0.53825907 -6.5880076 -6.478553 -0.69726204
|
||||
3500 420 0.46363057 -6.6135193 -6.5169296 -0.58015901
|
||||
3600 422 0.39262699 -6.621857 -6.5381213 -0.74921264
|
||||
3700 424 0.42679205 -6.6146579 -6.5215488 -0.69040431
|
||||
3800 426 0.38997492 -6.6139725 -6.5270063 -0.78237667
|
||||
3900 428 0.5222531 -6.6403886 -6.5214174 -0.78298122
|
||||
4000 430 0.47841128 -6.6502681 -6.5390097 -0.68125967
|
||||
4100 432 0.44609186 -6.6610827 -6.5552392 -0.81157037
|
||||
4200 434 0.4591431 -6.6858064 -6.5747234 -0.79000753
|
||||
4300 436 0.40690573 -6.6800195 -6.579693 -0.6781696
|
||||
4400 438 0.43023944 -6.6849804 -6.5769294 -0.7620548
|
||||
4500 440 0.40889421 -6.6783124 -6.5737656 -0.8577593
|
||||
4600 442 0.41452051 -6.6968565 -6.5890061 -0.70427746
|
||||
4700 444 0.36740394 -6.6920933 -6.5948636 -0.69303162
|
||||
4800 446 0.40112316 -6.6869413 -6.5790158 -0.84792822
|
||||
4900 448 0.42437165 -6.6789835 -6.5629444 -0.82278531
|
||||
5000 450 0.41822898 -6.6770254 -6.5608507 -0.72224472
|
||||
5100 452 0.38445688 -6.6738997 -6.5654522 -0.7022418
|
||||
5200 454 0.39998238 -6.6670536 -6.5525212 -0.73639959
|
||||
5300 456 0.39471029 -6.6728592 -6.5581681 -0.70419927
|
||||
5400 458 0.35817807 -6.6702423 -6.5646658 -0.81657219
|
||||
5500 460 0.37151428 -6.6690855 -6.558035 -0.78076653
|
||||
5600 462 0.32642513 -6.6622352 -6.5633185 -0.69118644
|
||||
5700 464 0.43665879 -6.6811227 -6.5470195 -0.77500043
|
||||
5800 466 0.40704721 -6.6858874 -6.5592311 -0.72683597
|
||||
5900 468 0.3861903 -6.6896953 -6.5679794 -0.78001958
|
||||
6000 470 0.34073346 -6.6833717 -6.574627 -0.78170837
|
||||
6100 472 0.39953874 -6.7083668 -6.5792785 -0.81791744
|
||||
6200 474 0.36685189 -6.7114648 -6.5915027 -0.80545451
|
||||
6300 476 0.35851799 -6.7261023 -6.607475 -0.77350495
|
||||
6400 478 0.41771823 -6.7427425 -6.6029205 -0.85319003
|
||||
6500 480 0.36519478 -6.732662 -6.6090284 -0.78712805
|
||||
6600 482 0.30669571 -6.7269784 -6.6219892 -0.76698134
|
||||
6700 484 0.3384344 -6.7261448 -6.6090213 -0.79935239
|
||||
6800 486 0.36420902 -6.7320259 -6.6046277 -0.84650552
|
||||
6900 488 0.40181215 -6.7490619 -6.6070279 -0.75753238
|
||||
7000 490 0.30536068 -6.7398924 -6.6308351 -0.73210162
|
||||
7100 492 0.28813004 -6.7257287 -6.6217794 -0.92178435
|
||||
7200 494 0.30956277 -6.7342688 -6.6214727 -0.77532949
|
||||
7300 496 0.36625115 -6.7528159 -6.6180561 -0.76247835
|
||||
7400 498 0.30935271 -6.7401433 -6.6252231 -0.82809158
|
||||
7500 500 0.33222282 -6.7410421 -6.6164585 -0.81948236
|
||||
7600 502 0.33318693 -6.7488106 -6.622704 -0.82395904
|
||||
7700 504 0.34570598 -6.7547394 -6.6226989 -0.85644369
|
||||
7800 506 0.34587242 -6.7446006 -6.6113099 -0.82476511
|
||||
7900 508 0.2969166 -6.7305429 -6.6151078 -0.8210214
|
||||
8000 510 0.32355758 -6.7437629 -6.6168776 -0.81719054
|
||||
8100 512 0.33784479 -6.7545537 -6.6209335 -0.78082067
|
||||
8200 514 0.32351289 -6.7525032 -6.6234757 -0.87093587
|
||||
8300 516 0.31900134 -6.7550972 -6.6268166 -0.79928704
|
||||
8400 518 0.3338521 -6.7588757 -6.6235302 -0.81699503
|
||||
8500 520 0.33115184 -6.7614854 -6.6261589 -0.79958489
|
||||
8600 522 0.29478929 -6.7490188 -6.6276018 -0.81954456
|
||||
8700 524 0.267993 -6.7467764 -6.6355389 -0.76642994
|
||||
8800 526 0.28792085 -6.7527118 -6.6322887 -0.86911619
|
||||
8900 528 0.32430992 -6.75901 -6.6223453 -0.87087898
|
||||
9000 530 0.33151321 -6.7534845 -6.6127478 -0.79309499
|
||||
9100 532 0.32760982 -6.7599992 -6.6199028 -0.7506309
|
||||
9200 534 0.32579101 -6.7671489 -6.6268269 -0.94238755
|
||||
9300 536 0.35144354 -6.7782581 -6.625813 -0.77952234
|
||||
9400 538 0.33689976 -6.7804455 -6.6332867 -0.75768501
|
||||
9500 540 0.3052486 -6.7745436 -6.6402908 -0.89621525
|
||||
9600 542 0.30617581 -6.7648172 -6.6292412 -0.90623541
|
||||
9700 544 0.30097715 -6.7714379 -6.6372707 -0.85534149
|
||||
9800 546 0.31297479 -6.7814978 -6.6410604 -0.88651064
|
||||
9900 548 0.31832347 -6.790661 -6.6468926 -1.006
|
||||
10000 550 0.29239559 -6.7823137 -6.6494066 -1.0337518
|
||||
Loop time of 34.7661 on 4 procs for 10000 steps with 550 atoms
|
||||
|
||||
Performance: 124259.065 tau/day, 287.637 timesteps/s
|
||||
73.4% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.0076709 | 3.1286 | 9.1834 | 211.7 | 9.00
|
||||
Bond | 0.0040276 | 0.010416 | 0.022169 | 7.0 | 0.03
|
||||
Neigh | 0.052413 | 1.5948 | 4.885 | 155.3 | 4.59
|
||||
Comm | 4.9736 | 12.242 | 20.073 | 166.2 | 35.21
|
||||
Output | 0.053549 | 0.10104 | 0.21642 | 21.0 | 0.29
|
||||
Modify | 13.435 | 16.191 | 23.851 | 110.0 | 46.57
|
||||
Other | | 1.499 | | | 4.31
|
||||
|
||||
Nlocal: 137.500 ave 299 max 2 min
|
||||
Histogram: 2 0 0 0 0 0 0 1 0 1
|
||||
Nghost: 1898.75 ave 2679 max 524 min
|
||||
Histogram: 1 0 0 0 0 0 1 0 0 2
|
||||
Neighs: 9204.00 ave 23014 max 0 min
|
||||
Histogram: 2 0 0 0 0 1 0 0 0 1
|
||||
|
||||
Total # of neighbors = 36816
|
||||
Ave neighs/atom = 66.938182
|
||||
Ave special neighs/atom = 0.36363636
|
||||
Neighbor list builds = 832
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:34
|
||||
@ -1,4 +1,4 @@
|
||||
# GCMC for CO2 molecular fluid, rigid/small/nvt dynamics
|
||||
# GCMC for CO2 molecular fluid, rigid/small dynamics
|
||||
# Rigid CO2 TraPPE model
|
||||
# [Potoff and J.I. Siepmann, Vapor-liquid equilibria of
|
||||
# mixtures containing alkanes, carbon dioxide and
|
||||
@ -7,7 +7,7 @@
|
||||
# variables available on command line
|
||||
|
||||
variable mu index -8.1
|
||||
variable disp index 0.5
|
||||
variable disp index 0.5
|
||||
variable temp index 338.0
|
||||
variable lbox index 10.0
|
||||
variable spacing index 5.0
|
||||
@ -17,7 +17,7 @@ variable spacing index 5.0
|
||||
units real
|
||||
atom_style full
|
||||
boundary p p p
|
||||
pair_style lj/cut/coul/long 14
|
||||
pair_style lj/cut/coul/long 14
|
||||
pair_modify mix arithmetic tail yes
|
||||
kspace_style ewald 0.0001
|
||||
bond_style harmonic
|
||||
@ -25,7 +25,7 @@ angle_style harmonic
|
||||
|
||||
# box, start molecules on simple cubic lattice
|
||||
|
||||
lattice sc ${spacing}
|
||||
lattice sc ${spacing}
|
||||
region box block 0 ${lbox} 0 ${lbox} 0 ${lbox} units box
|
||||
create_box 2 box &
|
||||
bond/types 1 &
|
||||
@ -34,56 +34,56 @@ create_box 2 box &
|
||||
extra/angle/per/atom 1 &
|
||||
extra/special/per/atom 2
|
||||
molecule co2mol CO2.txt
|
||||
create_atoms 0 box mol co2mol 464563 units box
|
||||
|
||||
# rigid CO2 TraPPE model
|
||||
create_atoms 0 box mol co2mol 464563 units box
|
||||
|
||||
# rigid CO2 TraPPE model
|
||||
|
||||
pair_coeff 1 1 0.053649 2.8
|
||||
pair_coeff 2 2 0.156973 3.05
|
||||
bond_coeff 1 0 1.16
|
||||
angle_coeff 1 0 180
|
||||
pair_coeff 2 2 0.156973 3.05
|
||||
bond_coeff 1 0 1.16
|
||||
angle_coeff 1 0 180
|
||||
|
||||
# masses
|
||||
|
||||
mass 1 12.0107
|
||||
mass 2 15.9994
|
||||
mass 1 12.0107
|
||||
mass 2 15.9994
|
||||
|
||||
# MD settings
|
||||
|
||||
group co2 type 1 2
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1 delay 10 check yes
|
||||
velocity all create ${temp} 54654
|
||||
velocity all create ${temp} 54654
|
||||
timestep 1.0
|
||||
|
||||
# rigid constraints with thermostat
|
||||
# rigid constraints with thermostat
|
||||
|
||||
fix myrigidnvt co2 rigid/nvt/small molecule temp ${temp} ${temp} 100 mol co2mol
|
||||
fix myrigid co2 rigid/small molecule mol co2mol
|
||||
|
||||
# dynamically update fix rigid/nvt/small temperature ndof
|
||||
fix_modify myrigidnvt dynamic/dof yes
|
||||
fix_modify myrigid dynamic/dof yes
|
||||
|
||||
# gcmc
|
||||
|
||||
variable tfac equal 5.0/3.0 # (3 trans + 2 rot)/(3 trans)
|
||||
fix mygcmc co2 gcmc 100 100 0 0 54341 ${temp} ${mu} ${disp} mol &
|
||||
co2mol tfac_insert ${tfac} group co2 rigid myrigidnvt
|
||||
co2mol tfac_insert ${tfac} group co2 rigid myrigid
|
||||
|
||||
# atom counts
|
||||
|
||||
variable carbon atom "type==1"
|
||||
variable carbon atom "type==1"
|
||||
variable oxygen atom "type==2"
|
||||
group carbon dynamic co2 var carbon
|
||||
group oxygen dynamic co2 var oxygen
|
||||
group carbon dynamic co2 var carbon
|
||||
group oxygen dynamic co2 var oxygen
|
||||
variable nC equal count(carbon)
|
||||
variable nO equal count(oxygen)
|
||||
|
||||
# output
|
||||
|
||||
variable tacc equal f_mygcmc[2]/(f_mygcmc[1]+0.1)
|
||||
variable iacc equal f_mygcmc[4]/(f_mygcmc[3]+0.1)
|
||||
variable dacc equal f_mygcmc[6]/(f_mygcmc[5]+0.1)
|
||||
variable racc equal f_mygcmc[8]/(f_mygcmc[7]+0.1)
|
||||
variable tacc equal f_mygcmc[2]/(f_mygcmc[1]+0.1)
|
||||
variable iacc equal f_mygcmc[4]/(f_mygcmc[3]+0.1)
|
||||
variable dacc equal f_mygcmc[6]/(f_mygcmc[5]+0.1)
|
||||
variable racc equal f_mygcmc[8]/(f_mygcmc[7]+0.1)
|
||||
|
||||
# dynamically update default temperature ndof
|
||||
compute_modify thermo_temp dynamic/dof yes
|
||||
|
||||
@ -1,196 +0,0 @@
|
||||
LAMMPS (27 Nov 2018)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# GCMC for CO2 molecular fluid, rigid/small/nvt dynamics
|
||||
# Rigid CO2 TraPPE model
|
||||
# [Potoff and J.I. Siepmann, Vapor-liquid equilibria of
|
||||
# mixtures containing alkanes, carbon dioxide and
|
||||
# nitrogen AIChE J., 47,1676-1682 (2001)].
|
||||
|
||||
# variables available on command line
|
||||
|
||||
variable mu index -8.1
|
||||
variable disp index 0.5
|
||||
variable temp index 338.0
|
||||
variable lbox index 10.0
|
||||
variable spacing index 5.0
|
||||
|
||||
# global model settings
|
||||
|
||||
units real
|
||||
atom_style full
|
||||
boundary p p p
|
||||
pair_style lj/cut/coul/long 14
|
||||
pair_modify mix arithmetic tail yes
|
||||
kspace_style ewald 0.0001
|
||||
bond_style harmonic
|
||||
angle_style harmonic
|
||||
|
||||
# box, start molecules on simple cubic lattice
|
||||
|
||||
lattice sc ${spacing}
|
||||
lattice sc 5.0
|
||||
Lattice spacing in x,y,z = 5 5 5
|
||||
region box block 0 ${lbox} 0 ${lbox} 0 ${lbox} units box
|
||||
region box block 0 10.0 0 ${lbox} 0 ${lbox} units box
|
||||
region box block 0 10.0 0 10.0 0 ${lbox} units box
|
||||
region box block 0 10.0 0 10.0 0 10.0 units box
|
||||
create_box 2 box bond/types 1 angle/types 1 extra/bond/per/atom 2 extra/angle/per/atom 1 extra/special/per/atom 2
|
||||
Created orthogonal box = (0 0 0) to (10 10 10)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
molecule co2mol CO2.txt
|
||||
Read molecule co2mol:
|
||||
3 atoms with max type 2
|
||||
2 bonds with max type 1
|
||||
1 angles with max type 1
|
||||
0 dihedrals with max type 0
|
||||
0 impropers with max type 0
|
||||
create_atoms 0 box mol co2mol 464563 units box
|
||||
Created 24 atoms
|
||||
Time spent = 0.00134993 secs
|
||||
|
||||
# rigid CO2 TraPPE model
|
||||
|
||||
pair_coeff 1 1 0.053649 2.8
|
||||
pair_coeff 2 2 0.156973 3.05
|
||||
bond_coeff 1 0 1.16
|
||||
angle_coeff 1 0 180
|
||||
|
||||
# masses
|
||||
|
||||
mass 1 12.0107
|
||||
mass 2 15.9994
|
||||
|
||||
# MD settings
|
||||
|
||||
group co2 type 1 2
|
||||
24 atoms in group co2
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1 delay 10 check yes
|
||||
velocity all create ${temp} 54654
|
||||
velocity all create 338.0 54654
|
||||
timestep 1.0
|
||||
|
||||
# rigid constraints with thermostat
|
||||
|
||||
fix myrigidnvt co2 rigid/nvt/small molecule temp ${temp} ${temp} 100 mol co2mol
|
||||
fix myrigidnvt co2 rigid/nvt/small molecule temp 338.0 ${temp} 100 mol co2mol
|
||||
fix myrigidnvt co2 rigid/nvt/small molecule temp 338.0 338.0 100 mol co2mol
|
||||
8 rigid bodies with 24 atoms
|
||||
1.16 = max distance from body owner to body atom
|
||||
|
||||
# dynamically update fix rigid/nvt/small temperature ndof
|
||||
fix_modify myrigidnvt dynamic/dof yes
|
||||
|
||||
# gcmc
|
||||
|
||||
variable tfac equal 5.0/3.0 # (3 trans + 2 rot)/(3 trans)
|
||||
fix mygcmc co2 gcmc 100 100 0 0 54341 ${temp} ${mu} ${disp} mol co2mol tfac_insert ${tfac} group co2 rigid myrigidnvt
|
||||
fix mygcmc co2 gcmc 100 100 0 0 54341 338.0 ${mu} ${disp} mol co2mol tfac_insert ${tfac} group co2 rigid myrigidnvt
|
||||
fix mygcmc co2 gcmc 100 100 0 0 54341 338.0 -8.1 ${disp} mol co2mol tfac_insert ${tfac} group co2 rigid myrigidnvt
|
||||
fix mygcmc co2 gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol co2mol tfac_insert ${tfac} group co2 rigid myrigidnvt
|
||||
fix mygcmc co2 gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol co2mol tfac_insert 1.66666666666667 group co2 rigid myrigidnvt
|
||||
|
||||
# atom counts
|
||||
|
||||
variable carbon atom "type==1"
|
||||
variable oxygen atom "type==2"
|
||||
group carbon dynamic co2 var carbon
|
||||
dynamic group carbon defined
|
||||
group oxygen dynamic co2 var oxygen
|
||||
dynamic group oxygen defined
|
||||
variable nC equal count(carbon)
|
||||
variable nO equal count(oxygen)
|
||||
|
||||
# output
|
||||
|
||||
variable tacc equal f_mygcmc[2]/(f_mygcmc[1]+0.1)
|
||||
variable iacc equal f_mygcmc[4]/(f_mygcmc[3]+0.1)
|
||||
variable dacc equal f_mygcmc[6]/(f_mygcmc[5]+0.1)
|
||||
variable racc equal f_mygcmc[8]/(f_mygcmc[7]+0.1)
|
||||
|
||||
# dynamically update default temperature ndof
|
||||
compute_modify thermo_temp dynamic/dof yes
|
||||
|
||||
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_racc v_nC v_nO
|
||||
thermo 1000
|
||||
|
||||
# run
|
||||
|
||||
run 20000
|
||||
Ewald initialization ...
|
||||
using 12-bit tables for long-range coulomb (src/kspace.cpp:321)
|
||||
G vector (1/distance) = 0.164636
|
||||
estimated absolute RMS force accuracy = 0.0332064
|
||||
estimated relative force accuracy = 0.0001
|
||||
KSpace vectors: actual max1d max3d = 16 2 62
|
||||
kxmax kymax kzmax = 2 2 2
|
||||
WARNING: Fix gcmc using full_energy option (src/MC/fix_gcmc.cpp:487)
|
||||
0 atoms in group FixGCMC:gcmc_exclusion_group:mygcmc
|
||||
0 atoms in group FixGCMC:rotation_gas_atoms:mygcmc
|
||||
WARNING: Neighbor exclusions used with KSpace solver may give inconsistent Coulombic energies (src/neighbor.cpp:471)
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 16
|
||||
ghost atom cutoff = 16
|
||||
binsize = 8, bins = 2 2 2
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/cut/coul/long, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 15.62 | 15.62 | 15.62 Mbytes
|
||||
Step Temp Press PotEng KinEng Density Atoms v_iacc v_dacc v_tacc v_racc v_nC v_nO
|
||||
0 364.27579 4238.8631 -9.6809388 13.391989 0.5846359 24 0 0 0 0 8 16
|
||||
1000 267.9799 -73.919548 -3.6735999 5.8578459 0.36539744 15 0.23663972 0.2494423 0 0 5 10
|
||||
2000 409.06596 -98.033864 -6.7570039 10.974131 0.43847693 18 0.29379544 0.29816284 0 0 6 12
|
||||
3000 279.3225 -836.47758 -26.434976 15.819539 0.87695385 36 0.23798567 0.24203908 0 0 12 24
|
||||
4000 333.6181 606.63478 -30.35312 18.894592 0.87695385 36 0.19121778 0.19481508 0 0 12 24
|
||||
5000 405.98741 -103.97582 -14.180277 16.942399 0.65771539 27 0.15272841 0.15982952 0 0 9 18
|
||||
6000 283.5835 -240.01076 -6.7198093 7.607777 0.43847693 18 0.1606796 0.16536735 0 0 6 12
|
||||
7000 142.00717 154.95914 -0.74192319 0.98769159 0.14615898 6 0.19501993 0.20103405 0 0 2 4
|
||||
8000 376.67702 -118.12474 -10.774631 13.847899 0.5846359 24 0.20133396 0.20468352 0 0 8 16
|
||||
9000 305.43166 -1095.8633 -10.388279 9.7112935 0.51155641 21 0.19445239 0.19869334 0 0 7 14
|
||||
10000 244.08225 -179.31274 -12.974988 8.9732748 0.5846359 24 0.19098971 0.19586397 0 0 8 16
|
||||
11000 305.03389 -568.94714 -21.745425 14.244887 0.73079488 30 0.18517522 0.18978828 0 0 10 20
|
||||
12000 318.29735 767.76579 -37.184231 21.189508 1.0231128 42 0.17256426 0.17580267 0 0 14 28
|
||||
13000 411.21707 433.01125 -4.5149215 8.9889065 0.36539744 15 0.16329385 0.16767604 0 0 5 10
|
||||
14000 304.29535 148.28607 -2.3505844 6.6516754 0.36539744 15 0.17435868 0.17897674 0 0 5 10
|
||||
15000 338.00555 2384.1424 -21.438264 17.463859 0.80387436 33 0.17237066 0.17634112 0 0 11 22
|
||||
16000 613.56062 610.93867 -0.057364228 1.2192718 0.073079488 3 0.17128158 0.1758886 0 0 1 2
|
||||
17000 432.63323 -980.52384 -15.79844 18.054365 0.65771539 27 0.17145651 0.17504846 0 0 9 18
|
||||
18000 181.74572 -352.81765 -1.8617959 2.1669979 0.21923846 9 0.17292463 0.17654774 0 0 3 6
|
||||
19000 208.55292 -248.38735 -4.2287767 4.5588154 0.36539744 15 0.18168324 0.18454331 0 0 5 10
|
||||
20000 304.73317 -649.9896 -16.532405 12.716924 0.65771539 27 0.18085983 0.18345574 0 0 9 18
|
||||
Loop time of 21.0434 on 1 procs for 20000 steps with 27 atoms
|
||||
|
||||
Performance: 82.116 ns/day, 0.292 hours/ns, 950.415 timesteps/s
|
||||
98.5% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 2.2373 | 2.2373 | 2.2373 | 0.0 | 10.63
|
||||
Bond | 0.022895 | 0.022895 | 0.022895 | 0.0 | 0.11
|
||||
Kspace | 0.16756 | 0.16756 | 0.16756 | 0.0 | 0.80
|
||||
Neigh | 0.11436 | 0.11436 | 0.11436 | 0.0 | 0.54
|
||||
Comm | 0.26988 | 0.26988 | 0.26988 | 0.0 | 1.28
|
||||
Output | 0.0014684 | 0.0014684 | 0.0014684 | 0.0 | 0.01
|
||||
Modify | 18.193 | 18.193 | 18.193 | 0.0 | 86.45
|
||||
Other | | 0.03692 | | | 0.18
|
||||
|
||||
Nlocal: 27 ave 27 max 27 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 2081 ave 2081 max 2081 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 6264 ave 6264 max 6264 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 6264
|
||||
Ave neighs/atom = 232
|
||||
Ave special neighs/atom = 2
|
||||
Neighbor list builds = 20177
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:00:21
|
||||
196
examples/gcmc/log.31Mar21.gcmc.co2.g++.1
Normal file
196
examples/gcmc/log.31Mar21.gcmc.co2.g++.1
Normal file
@ -0,0 +1,196 @@
|
||||
LAMMPS (10 Mar 2021)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# GCMC for CO2 molecular fluid, rigid/small dynamics
|
||||
# Rigid CO2 TraPPE model
|
||||
# [Potoff and J.I. Siepmann, Vapor-liquid equilibria of
|
||||
# mixtures containing alkanes, carbon dioxide and
|
||||
# nitrogen AIChE J., 47,1676-1682 (2001)].
|
||||
|
||||
# variables available on command line
|
||||
|
||||
variable mu index -8.1
|
||||
variable disp index 0.5
|
||||
variable temp index 338.0
|
||||
variable lbox index 10.0
|
||||
variable spacing index 5.0
|
||||
|
||||
# global model settings
|
||||
|
||||
units real
|
||||
atom_style full
|
||||
boundary p p p
|
||||
pair_style lj/cut/coul/long 14
|
||||
pair_modify mix arithmetic tail yes
|
||||
kspace_style ewald 0.0001
|
||||
bond_style harmonic
|
||||
angle_style harmonic
|
||||
|
||||
# box, start molecules on simple cubic lattice
|
||||
|
||||
lattice sc ${spacing}
|
||||
lattice sc 5.0
|
||||
Lattice spacing in x,y,z = 5.0000000 5.0000000 5.0000000
|
||||
region box block 0 ${lbox} 0 ${lbox} 0 ${lbox} units box
|
||||
region box block 0 10.0 0 ${lbox} 0 ${lbox} units box
|
||||
region box block 0 10.0 0 10.0 0 ${lbox} units box
|
||||
region box block 0 10.0 0 10.0 0 10.0 units box
|
||||
create_box 2 box bond/types 1 angle/types 1 extra/bond/per/atom 2 extra/angle/per/atom 1 extra/special/per/atom 2
|
||||
Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (10.000000 10.000000 10.000000)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
molecule co2mol CO2.txt
|
||||
Read molecule template co2mol:
|
||||
1 molecules
|
||||
3 atoms with max type 2
|
||||
2 bonds with max type 1
|
||||
1 angles with max type 1
|
||||
0 dihedrals with max type 0
|
||||
0 impropers with max type 0
|
||||
create_atoms 0 box mol co2mol 464563 units box
|
||||
Created 24 atoms
|
||||
create_atoms CPU = 0.002 seconds
|
||||
|
||||
# rigid CO2 TraPPE model
|
||||
|
||||
pair_coeff 1 1 0.053649 2.8
|
||||
pair_coeff 2 2 0.156973 3.05
|
||||
bond_coeff 1 0 1.16
|
||||
angle_coeff 1 0 180
|
||||
|
||||
# masses
|
||||
|
||||
mass 1 12.0107
|
||||
mass 2 15.9994
|
||||
|
||||
# MD settings
|
||||
|
||||
group co2 type 1 2
|
||||
24 atoms in group co2
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1 delay 10 check yes
|
||||
velocity all create ${temp} 54654
|
||||
velocity all create 338.0 54654
|
||||
timestep 1.0
|
||||
|
||||
# rigid constraints with thermostat
|
||||
|
||||
fix myrigid co2 rigid/small molecule mol co2mol
|
||||
create bodies CPU = 0.000 seconds
|
||||
8 rigid bodies with 24 atoms
|
||||
1.1600000 = max distance from body owner to body atom
|
||||
|
||||
# dynamically update fix rigid/nvt/small temperature ndof
|
||||
fix_modify myrigid dynamic/dof yes
|
||||
|
||||
# gcmc
|
||||
|
||||
variable tfac equal 5.0/3.0 # (3 trans + 2 rot)/(3 trans)
|
||||
fix mygcmc co2 gcmc 100 100 0 0 54341 ${temp} ${mu} ${disp} mol co2mol tfac_insert ${tfac} group co2 rigid myrigid
|
||||
fix mygcmc co2 gcmc 100 100 0 0 54341 338.0 ${mu} ${disp} mol co2mol tfac_insert ${tfac} group co2 rigid myrigid
|
||||
fix mygcmc co2 gcmc 100 100 0 0 54341 338.0 -8.1 ${disp} mol co2mol tfac_insert ${tfac} group co2 rigid myrigid
|
||||
fix mygcmc co2 gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol co2mol tfac_insert ${tfac} group co2 rigid myrigid
|
||||
fix mygcmc co2 gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol co2mol tfac_insert 1.66666666666667 group co2 rigid myrigid
|
||||
|
||||
# atom counts
|
||||
|
||||
variable carbon atom "type==1"
|
||||
variable oxygen atom "type==2"
|
||||
group carbon dynamic co2 var carbon
|
||||
dynamic group carbon defined
|
||||
group oxygen dynamic co2 var oxygen
|
||||
dynamic group oxygen defined
|
||||
variable nC equal count(carbon)
|
||||
variable nO equal count(oxygen)
|
||||
|
||||
# output
|
||||
|
||||
variable tacc equal f_mygcmc[2]/(f_mygcmc[1]+0.1)
|
||||
variable iacc equal f_mygcmc[4]/(f_mygcmc[3]+0.1)
|
||||
variable dacc equal f_mygcmc[6]/(f_mygcmc[5]+0.1)
|
||||
variable racc equal f_mygcmc[8]/(f_mygcmc[7]+0.1)
|
||||
|
||||
# dynamically update default temperature ndof
|
||||
compute_modify thermo_temp dynamic/dof yes
|
||||
|
||||
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_racc v_nC v_nO
|
||||
thermo 1000
|
||||
|
||||
# run
|
||||
|
||||
run 20000
|
||||
Ewald initialization ...
|
||||
using 12-bit tables for long-range coulomb (src/kspace.cpp:339)
|
||||
G vector (1/distance) = 0.16463644
|
||||
estimated absolute RMS force accuracy = 0.033206372
|
||||
estimated relative force accuracy = 0.0001
|
||||
KSpace vectors: actual max1d max3d = 16 2 62
|
||||
kxmax kymax kzmax = 2 2 2
|
||||
WARNING: Fix gcmc using full_energy option (src/MC/fix_gcmc.cpp:482)
|
||||
0 atoms in group FixGCMC:gcmc_exclusion_group:mygcmc
|
||||
0 atoms in group FixGCMC:rotation_gas_atoms:mygcmc
|
||||
WARNING: Neighbor exclusions used with KSpace solver may give inconsistent Coulombic energies (src/neighbor.cpp:486)
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 16
|
||||
ghost atom cutoff = 16
|
||||
binsize = 8, bins = 2 2 2
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/cut/coul/long, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 15.62 | 15.62 | 15.62 Mbytes
|
||||
Step Temp Press PotEng KinEng Density Atoms v_iacc v_dacc v_tacc v_racc v_nC v_nO
|
||||
0 364.27579 4238.8631 -9.6809388 13.391989 0.5846359 24 0 0 0 0 8 16
|
||||
1000 261.50949 -204.60974 -9.6459249 8.3147747 0.51155641 21 0.096366192 0.097590121 0 0 7 14
|
||||
2000 479.39697 231.28436 -7.0089345 10.47927 0.36539744 15 0.085531005 0.085453295 0 0 5 10
|
||||
3000 318.31766 -433.17133 -7.3680951 8.5396005 0.43847693 18 0.078556687 0.080101462 0 0 6 12
|
||||
4000 357.40776 -186.78 -16.453111 14.915105 0.65771539 27 0.082003877 0.08249082 0 0 9 18
|
||||
5000 399.94731 1524.2909 -16.624678 18.677282 0.73079488 30 0.071285101 0.072731705 0 0 10 20
|
||||
6000 354.71736 60.134827 -18.988979 16.565073 0.73079488 30 0.071615663 0.071713414 0 0 10 20
|
||||
7000 483.32057 966.32174 -5.7393251 10.565037 0.36539744 15 0.087027775 0.089855826 0 0 5 10
|
||||
8000 547.68562 494.96891 -4.125626 11.97201 0.36539744 15 0.11738082 0.11937373 0 0 5 10
|
||||
9000 433.76488 390.91467 -0.85312985 5.1718828 0.21923846 9 0.13265238 0.13513212 0 0 3 6
|
||||
10000 330.01685 -862.07457 -26.494645 18.690633 0.87695385 36 0.13775034 0.13905403 0 0 12 24
|
||||
11000 334.26318 -578.48274 -13.236965 12.288625 0.5846359 24 0.13713936 0.13960485 0 0 8 16
|
||||
12000 243.68657 -1244.7156 -25.757644 12.590645 0.80387436 33 0.1339588 0.13588739 0 0 11 22
|
||||
13000 307.66758 -429.66928 -17.864639 14.367878 0.73079488 30 0.12604721 0.1278094 0 0 10 20
|
||||
14000 330.91434 495.97112 -15.374248 13.809499 0.65771539 27 0.12011756 0.12145865 0 0 9 18
|
||||
15000 564.87966 982.72332 -14.810525 26.379517 0.73079488 30 0.12164324 0.12343521 0 0 10 20
|
||||
16000 342.63867 -54.776299 -2.2580523 5.7875978 0.29231795 12 0.13535812 0.13790758 0 0 4 8
|
||||
17000 461.07005 -2.4317694 -1.145154 3.2068452 0.14615898 6 0.1444739 0.14730804 0 0 2 4
|
||||
18000 197.21207 -40.124433 -7.0857418 5.2906654 0.43847693 18 0.14403997 0.14574329 0 0 6 12
|
||||
19000 393.36395 -420.49802 -11.172739 14.461366 0.5846359 24 0.15005606 0.15142063 0 0 8 16
|
||||
20000 356.48539 56.071962 -1.7861789 4.2504609 0.21923846 9 0.15422732 0.15627984 0 0 3 6
|
||||
Loop time of 19.5982 on 1 procs for 20000 steps with 9 atoms
|
||||
|
||||
Performance: 88.171 ns/day, 0.272 hours/ns, 1020.502 timesteps/s
|
||||
99.5% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 2.3404 | 2.3404 | 2.3404 | 0.0 | 11.94
|
||||
Bond | 0.033919 | 0.033919 | 0.033919 | 0.0 | 0.17
|
||||
Kspace | 0.19974 | 0.19974 | 0.19974 | 0.0 | 1.02
|
||||
Neigh | 0.11478 | 0.11478 | 0.11478 | 0.0 | 0.59
|
||||
Comm | 0.22538 | 0.22538 | 0.22538 | 0.0 | 1.15
|
||||
Output | 0.00096536 | 0.00096536 | 0.00096536 | 0.0 | 0.00
|
||||
Modify | 16.627 | 16.627 | 16.627 | 0.0 | 84.84
|
||||
Other | | 0.05594 | | | 0.29
|
||||
|
||||
Nlocal: 9.00000 ave 9 max 9 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 703.000 ave 703 max 703 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 719.000 ave 719 max 719 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 719
|
||||
Ave neighs/atom = 79.888889
|
||||
Ave special neighs/atom = 2.0000000
|
||||
Neighbor list builds = 20196
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:00:19
|
||||
@ -9,7 +9,7 @@ create_box 1 box
|
||||
create_atoms 1 box
|
||||
mass 1 1.0
|
||||
|
||||
velocity all create 3.0 87287
|
||||
velocity all create 3.0 87287 loop geom
|
||||
|
||||
pair_style lj/cut 2.5
|
||||
pair_coeff 1 1 1.0 1.0 2.5
|
||||
|
||||
@ -1,85 +0,0 @@
|
||||
LAMMPS (27 Nov 2018)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# 3d Lennard-Jones melt
|
||||
|
||||
units lj
|
||||
atom_style atomic
|
||||
|
||||
lattice fcc 0.8442
|
||||
Lattice spacing in x,y,z = 1.6796 1.6796 1.6796
|
||||
region box block 0 10 0 10 0 10
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (16.796 16.796 16.796)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 4000 atoms
|
||||
Time spent = 0.00041604 secs
|
||||
mass 1 1.0
|
||||
|
||||
velocity all create 3.0 87287
|
||||
|
||||
pair_style lj/cut 2.5
|
||||
pair_coeff 1 1 1.0 1.0 2.5
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify every 20 delay 0 check no
|
||||
|
||||
fix 1 all nve
|
||||
|
||||
#dump id all atom 50 dump.melt
|
||||
|
||||
#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30
|
||||
#dump_modify 2 pad 3
|
||||
|
||||
#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30
|
||||
#dump_modify 3 pad 3
|
||||
|
||||
thermo 50
|
||||
run 250
|
||||
Neighbor list info ...
|
||||
update every 20 steps, delay 0 steps, check no
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 2.8
|
||||
ghost atom cutoff = 2.8
|
||||
binsize = 1.4, bins = 12 12 12
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/cut, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/atomonly/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.705 | 2.705 | 2.705 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 3 -6.7733681 0 -2.2744931 -3.7033504
|
||||
50 1.6754119 -4.7947589 0 -2.2822693 5.6615925
|
||||
100 1.6503357 -4.756014 0 -2.2811293 5.8050524
|
||||
150 1.6596605 -4.7699432 0 -2.2810749 5.7830138
|
||||
200 1.6371874 -4.7365462 0 -2.2813789 5.9246674
|
||||
250 1.6323462 -4.7292021 0 -2.2812949 5.9762238
|
||||
Loop time of 0.223329 on 4 procs for 250 steps with 4000 atoms
|
||||
|
||||
Performance: 483592.231 tau/day, 1119.426 timesteps/s
|
||||
97.3% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.15881 | 0.16314 | 0.16859 | 0.9 | 73.05
|
||||
Neigh | 0.02472 | 0.025218 | 0.025828 | 0.3 | 11.29
|
||||
Comm | 0.025185 | 0.030091 | 0.034351 | 1.9 | 13.47
|
||||
Output | 0.00015163 | 0.00019169 | 0.00030899 | 0.0 | 0.09
|
||||
Modify | 0.0037532 | 0.0038366 | 0.0040054 | 0.2 | 1.72
|
||||
Other | | 0.00085 | | | 0.38
|
||||
|
||||
Nlocal: 1000 ave 1010 max 982 min
|
||||
Histogram: 1 0 0 0 0 0 1 0 0 2
|
||||
Nghost: 2703.75 ave 2713 max 2689 min
|
||||
Histogram: 1 0 0 0 0 0 0 2 0 1
|
||||
Neighs: 37915.5 ave 39239 max 36193 min
|
||||
Histogram: 1 0 0 0 0 1 1 0 0 1
|
||||
|
||||
Total # of neighbors = 151662
|
||||
Ave neighs/atom = 37.9155
|
||||
Neighbor list builds = 12
|
||||
Dangerous builds not checked
|
||||
Total wall time: 0:00:00
|
||||
@ -1,4 +1,4 @@
|
||||
LAMMPS (27 Nov 2018)
|
||||
LAMMPS (8 Apr 2021)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# 3d Lennard-Jones melt
|
||||
|
||||
@ -6,17 +6,17 @@ units lj
|
||||
atom_style atomic
|
||||
|
||||
lattice fcc 0.8442
|
||||
Lattice spacing in x,y,z = 1.6796 1.6796 1.6796
|
||||
Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962
|
||||
region box block 0 10 0 10 0 10
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (16.796 16.796 16.796)
|
||||
Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (16.795962 16.795962 16.795962)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 4000 atoms
|
||||
Time spent = 0.000645638 secs
|
||||
create_atoms CPU = 0.002 seconds
|
||||
mass 1 1.0
|
||||
|
||||
velocity all create 3.0 87287
|
||||
velocity all create 3.0 87287 loop geom
|
||||
|
||||
pair_style lj/cut 2.5
|
||||
pair_coeff 1 1 1.0 1.0 2.5
|
||||
@ -48,38 +48,38 @@ Neighbor list info ...
|
||||
pair build: half/bin/atomonly/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.221 | 3.221 | 3.221 Mbytes
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.222 | 3.222 | 3.222 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 3 -6.7733681 0 -2.2744931 -3.7033504
|
||||
50 1.6758903 -4.7955425 0 -2.2823355 5.670064
|
||||
100 1.6458363 -4.7492704 0 -2.2811332 5.8691042
|
||||
150 1.6324555 -4.7286791 0 -2.280608 5.9589514
|
||||
200 1.6630725 -4.7750988 0 -2.2811136 5.7364886
|
||||
250 1.6275257 -4.7224992 0 -2.281821 5.9567365
|
||||
Loop time of 0.729809 on 1 procs for 250 steps with 4000 atoms
|
||||
50 1.6842865 -4.8082494 0 -2.2824513 5.5666131
|
||||
100 1.6712577 -4.7875609 0 -2.281301 5.6613913
|
||||
150 1.6444751 -4.7471034 0 -2.2810074 5.8614211
|
||||
200 1.6471542 -4.7509053 0 -2.2807916 5.8805431
|
||||
250 1.6645597 -4.7774327 0 -2.2812174 5.7526089
|
||||
Loop time of 1.61045 on 1 procs for 250 steps with 4000 atoms
|
||||
|
||||
Performance: 147983.915 tau/day, 342.555 timesteps/s
|
||||
Performance: 67062.020 tau/day, 155.236 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 | 0.60661 | 0.60661 | 0.60661 | 0.0 | 83.12
|
||||
Neigh | 0.092198 | 0.092198 | 0.092198 | 0.0 | 12.63
|
||||
Comm | 0.013581 | 0.013581 | 0.013581 | 0.0 | 1.86
|
||||
Output | 0.0001452 | 0.0001452 | 0.0001452 | 0.0 | 0.02
|
||||
Modify | 0.014395 | 0.014395 | 0.014395 | 0.0 | 1.97
|
||||
Other | | 0.002878 | | | 0.39
|
||||
Pair | 1.3961 | 1.3961 | 1.3961 | 0.0 | 86.69
|
||||
Neigh | 0.13555 | 0.13555 | 0.13555 | 0.0 | 8.42
|
||||
Comm | 0.037732 | 0.037732 | 0.037732 | 0.0 | 2.34
|
||||
Output | 0.0003345 | 0.0003345 | 0.0003345 | 0.0 | 0.02
|
||||
Modify | 0.038016 | 0.038016 | 0.038016 | 0.0 | 2.36
|
||||
Other | | 0.002731 | | | 0.17
|
||||
|
||||
Nlocal: 4000 ave 4000 max 4000 min
|
||||
Nlocal: 4000.00 ave 4000 max 4000 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 5499 ave 5499 max 5499 min
|
||||
Nghost: 5506.00 ave 5506 max 5506 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 151513 ave 151513 max 151513 min
|
||||
Neighs: 151788.0 ave 151788 max 151788 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 151513
|
||||
Ave neighs/atom = 37.8783
|
||||
Total # of neighbors = 151788
|
||||
Ave neighs/atom = 37.947000
|
||||
Neighbor list builds = 12
|
||||
Dangerous builds not checked
|
||||
Total wall time: 0:00:00
|
||||
Total wall time: 0:00:01
|
||||
85
examples/melt/log.8Apr21.melt.g++.4
Normal file
85
examples/melt/log.8Apr21.melt.g++.4
Normal file
@ -0,0 +1,85 @@
|
||||
LAMMPS (8 Apr 2021)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# 3d Lennard-Jones melt
|
||||
|
||||
units lj
|
||||
atom_style atomic
|
||||
|
||||
lattice fcc 0.8442
|
||||
Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962
|
||||
region box block 0 10 0 10 0 10
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (16.795962 16.795962 16.795962)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 4000 atoms
|
||||
create_atoms CPU = 0.001 seconds
|
||||
mass 1 1.0
|
||||
|
||||
velocity all create 3.0 87287 loop geom
|
||||
|
||||
pair_style lj/cut 2.5
|
||||
pair_coeff 1 1 1.0 1.0 2.5
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify every 20 delay 0 check no
|
||||
|
||||
fix 1 all nve
|
||||
|
||||
#dump id all atom 50 dump.melt
|
||||
|
||||
#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30
|
||||
#dump_modify 2 pad 3
|
||||
|
||||
#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30
|
||||
#dump_modify 3 pad 3
|
||||
|
||||
thermo 50
|
||||
run 250
|
||||
Neighbor list info ...
|
||||
update every 20 steps, delay 0 steps, check no
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 2.8
|
||||
ghost atom cutoff = 2.8
|
||||
binsize = 1.4, bins = 12 12 12
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/cut, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/atomonly/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.706 | 2.706 | 2.706 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 3 -6.7733681 0 -2.2744931 -3.7033504
|
||||
50 1.6842865 -4.8082494 0 -2.2824513 5.5666131
|
||||
100 1.6712577 -4.7875609 0 -2.281301 5.6613913
|
||||
150 1.6444751 -4.7471034 0 -2.2810074 5.8614211
|
||||
200 1.6471542 -4.7509053 0 -2.2807916 5.8805431
|
||||
250 1.6645597 -4.7774327 0 -2.2812174 5.7526089
|
||||
Loop time of 0.490832 on 4 procs for 250 steps with 4000 atoms
|
||||
|
||||
Performance: 220034.754 tau/day, 509.340 timesteps/s
|
||||
96.7% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.35932 | 0.37256 | 0.38746 | 1.9 | 75.90
|
||||
Neigh | 0.035928 | 0.038449 | 0.042344 | 1.3 | 7.83
|
||||
Comm | 0.053452 | 0.068917 | 0.08485 | 5.3 | 14.04
|
||||
Output | 0.00015545 | 0.00023746 | 0.00047684 | 0.0 | 0.05
|
||||
Modify | 0.0096958 | 0.0097951 | 0.0098989 | 0.1 | 2.00
|
||||
Other | | 0.0008721 | | | 0.18
|
||||
|
||||
Nlocal: 1000.00 ave 1008 max 987 min
|
||||
Histogram: 1 0 0 0 0 0 1 0 1 1
|
||||
Nghost: 2711.25 ave 2728 max 2693 min
|
||||
Histogram: 1 0 0 0 0 2 0 0 0 1
|
||||
Neighs: 37947.0 ave 38966 max 37338 min
|
||||
Histogram: 1 1 0 1 0 0 0 0 0 1
|
||||
|
||||
Total # of neighbors = 151788
|
||||
Ave neighs/atom = 37.947000
|
||||
Neighbor list builds = 12
|
||||
Dangerous builds not checked
|
||||
Total wall time: 0:00:00
|
||||
1
examples/plugins/.gitignore
vendored
Normal file
1
examples/plugins/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
/build*
|
||||
68
examples/plugins/CMakeLists.txt
Normal file
68
examples/plugins/CMakeLists.txt
Normal file
@ -0,0 +1,68 @@
|
||||
##########################################
|
||||
# CMake build system for plugin examples.
|
||||
# The is meant to be used as a template for plugins that are
|
||||
# distributed independent from the LAMMPS package.
|
||||
##########################################
|
||||
|
||||
cmake_minimum_required(VERSION 3.10)
|
||||
|
||||
# enforce out-of-source build
|
||||
if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
|
||||
message(FATAL_ERROR "In-source builds are not allowed. You must create and use a build directory. "
|
||||
"Please remove CMakeCache.txt and CMakeFiles first.")
|
||||
endif()
|
||||
|
||||
project(plugins VERSION 1.0 LANGUAGES CXX)
|
||||
|
||||
# NOTE: the next line should be commented out when used outside of the LAMMPS package
|
||||
get_filename_component(LAMMPS_SOURCE_DIR ${PROJECT_SOURCE_DIR}/../../src ABSOLUTE)
|
||||
set(LAMMPS_HEADER_DIR ${LAMMPS_SOURCE_DIR} CACHE PATH "Location of LAMMPS headers")
|
||||
if(NOT LAMMPS_HEADER_DIR)
|
||||
message(FATAL_ERROR "Must set LAMMPS_HEADER_DIR")
|
||||
endif()
|
||||
|
||||
# by default, install into $HOME/.local (not /usr/local),
|
||||
# so that no root access (and sudo) is needed
|
||||
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
|
||||
set(CMAKE_INSTALL_PREFIX "$ENV{HOME}/.local" CACHE PATH "Default install path" FORCE)
|
||||
endif()
|
||||
|
||||
# C++11 is required
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
# bail out on windows
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL Windows)
|
||||
message(FATAL_ERROR "LAMMPS plugins are currently not supported on Windows")
|
||||
endif()
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR})
|
||||
include(CheckIncludeFileCXX)
|
||||
include(LAMMPSInterfaceCXX)
|
||||
|
||||
##########################
|
||||
# building the plugins
|
||||
|
||||
add_library(morse2plugin MODULE morse2plugin.cpp pair_morse2.cpp pair_morse2_omp.cpp)
|
||||
target_include_directories(morse2plugin PRIVATE "${LAMMPS_HEADER_DIR}/USER-OMP")
|
||||
target_link_libraries(morse2plugin PRIVATE lammps)
|
||||
|
||||
add_library(nve2plugin MODULE nve2plugin.cpp fix_nve2.cpp)
|
||||
target_link_libraries(nve2plugin PRIVATE lammps)
|
||||
|
||||
add_library(helloplugin MODULE helloplugin.cpp)
|
||||
target_link_libraries(helloplugin PRIVATE lammps)
|
||||
|
||||
add_library(zero2plugin MODULE zero2plugin.cpp pair_zero2.cpp bond_zero2.cpp
|
||||
angle_zero2.cpp dihedral_zero2.cpp improper_zero2.cpp)
|
||||
target_link_libraries(zero2plugin PRIVATE lammps)
|
||||
|
||||
set_target_properties(morse2plugin nve2plugin helloplugin zero2plugin PROPERTIES
|
||||
PREFIX ""
|
||||
LINK_FLAGS "-rdynamic")
|
||||
|
||||
# MacOS seems to need this
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
|
||||
set_target_properties(morse2plugin nve2plugin helloplugin zero2plugin PROPERTIES
|
||||
LINK_FLAGS "-Wl,-undefined,dynamic_lookup")
|
||||
endif()
|
||||
86
examples/plugins/LAMMPSInterfaceCXX.cmake
Normal file
86
examples/plugins/LAMMPSInterfaceCXX.cmake
Normal file
@ -0,0 +1,86 @@
|
||||
# Cmake script code to define the LAMMPS C++ interface
|
||||
# settings required for building LAMMPS plugins
|
||||
|
||||
################################################################################
|
||||
# helper function
|
||||
function(validate_option name values)
|
||||
string(TOLOWER ${${name}} needle_lower)
|
||||
string(TOUPPER ${${name}} needle_upper)
|
||||
list(FIND ${values} ${needle_lower} IDX_LOWER)
|
||||
list(FIND ${values} ${needle_upper} IDX_UPPER)
|
||||
if(${IDX_LOWER} LESS 0 AND ${IDX_UPPER} LESS 0)
|
||||
list_to_bulletpoints(POSSIBLE_VALUE_LIST ${${values}})
|
||||
message(FATAL_ERROR "\n########################################################################\n"
|
||||
"Invalid value '${${name}}' for option ${name}\n"
|
||||
"\n"
|
||||
"Possible values are:\n"
|
||||
"${POSSIBLE_VALUE_LIST}"
|
||||
"########################################################################")
|
||||
endif()
|
||||
endfunction(validate_option)
|
||||
|
||||
#################################################################################
|
||||
# LAMMPS C++ interface. We only need the header related parts.
|
||||
add_library(lammps INTERFACE)
|
||||
target_include_directories(lammps INTERFACE ${LAMMPS_HEADER_DIR})
|
||||
|
||||
################################################################################
|
||||
# MPI configuration
|
||||
if(NOT CMAKE_CROSSCOMPILING)
|
||||
set(MPI_CXX_SKIP_MPICXX TRUE)
|
||||
find_package(MPI QUIET)
|
||||
option(BUILD_MPI "Build MPI version" ${MPI_FOUND})
|
||||
else()
|
||||
option(BUILD_MPI "Build MPI version" OFF)
|
||||
endif()
|
||||
|
||||
if(BUILD_MPI)
|
||||
find_package(MPI REQUIRED)
|
||||
option(LAMMPS_LONGLONG_TO_LONG "Workaround if your system or MPI version does not recognize 'long long' data types" OFF)
|
||||
if(LAMMPS_LONGLONG_TO_LONG)
|
||||
target_compile_definitions(lammps INTERFACE -DLAMMPS_LONGLONG_TO_LONG)
|
||||
endif()
|
||||
target_link_libraries(lammps INTERFACE MPI::MPI_CXX)
|
||||
else()
|
||||
target_include_directories(lammps INTERFACE "${LAMMPS_SOURCE_DIR}/STUBS")
|
||||
endif()
|
||||
|
||||
set(LAMMPS_SIZES "smallbig" CACHE STRING "LAMMPS integer sizes (smallsmall: all 32-bit, smallbig: 64-bit #atoms #timesteps, bigbig: also 64-bit imageint, 64-bit atom ids)")
|
||||
set(LAMMPS_SIZES_VALUES smallbig bigbig smallsmall)
|
||||
set_property(CACHE LAMMPS_SIZES PROPERTY STRINGS ${LAMMPS_SIZES_VALUES})
|
||||
validate_option(LAMMPS_SIZES LAMMPS_SIZES_VALUES)
|
||||
string(TOUPPER ${LAMMPS_SIZES} LAMMPS_SIZES)
|
||||
target_compile_definitions(lammps INTERFACE -DLAMMPS_${LAMMPS_SIZES})
|
||||
|
||||
################################################################################
|
||||
# detect if we may enable OpenMP support by default
|
||||
set(BUILD_OMP_DEFAULT OFF)
|
||||
find_package(OpenMP QUIET)
|
||||
if(OpenMP_FOUND)
|
||||
check_include_file_cxx(omp.h HAVE_OMP_H_INCLUDE)
|
||||
if(HAVE_OMP_H_INCLUDE)
|
||||
set(BUILD_OMP_DEFAULT ON)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
option(BUILD_OMP "Build with OpenMP support" ${BUILD_OMP_DEFAULT})
|
||||
|
||||
if(BUILD_OMP)
|
||||
find_package(OpenMP REQUIRED)
|
||||
check_include_file_cxx(omp.h HAVE_OMP_H_INCLUDE)
|
||||
if(NOT HAVE_OMP_H_INCLUDE)
|
||||
message(FATAL_ERROR "Cannot find the 'omp.h' header file required for full OpenMP support")
|
||||
endif()
|
||||
|
||||
if (((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 9.0)) OR
|
||||
(CMAKE_CXX_COMPILER_ID STREQUAL "PGI") OR
|
||||
((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 10.0)) OR
|
||||
((CMAKE_CXX_COMPILER_ID STREQUAL "Intel") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.0)))
|
||||
# GCC 9.x and later plus Clang 10.x and later implement strict OpenMP 4.0 semantics for consts.
|
||||
# Intel 18.0 was tested to support both, so we switch to OpenMP 4+ from 19.x onward to be safe.
|
||||
target_compile_definitions(lammps INTERFACE -DLAMMPS_OMP_COMPAT=4)
|
||||
else()
|
||||
target_compile_definitions(lammps INTERFACE -DLAMMPS_OMP_COMPAT=3)
|
||||
endif()
|
||||
target_link_libraries(lammps INTERFACE OpenMP::OpenMP_CXX)
|
||||
endif()
|
||||
6
examples/plugins/Makefile
Normal file
6
examples/plugins/Makefile
Normal file
@ -0,0 +1,6 @@
|
||||
CXX=mpicxx
|
||||
CXXFLAGS=-I../../src -Wall -Wextra -O3 -fPIC -I../../src/USER-OMP -fopenmp
|
||||
LD=$(CXX) -shared -rdynamic -fopenmp
|
||||
DSOEXT=.so
|
||||
|
||||
include Makefile.common
|
||||
36
examples/plugins/Makefile.common
Normal file
36
examples/plugins/Makefile.common
Normal file
@ -0,0 +1,36 @@
|
||||
default: morse2plugin$(DSOEXT) nve2plugin$(DSOEXT) helloplugin$(DSOEXT) zero2plugin$(DSOEXT)
|
||||
|
||||
helloplugin$(DSOEXT): helloplugin.o
|
||||
$(LD) -o $@ $^
|
||||
|
||||
morse2plugin$(DSOEXT): morse2plugin.o pair_morse2.o pair_morse2_omp.o
|
||||
$(LD) -o $@ $^
|
||||
|
||||
nve2plugin$(DSOEXT): nve2plugin.o fix_nve2.o
|
||||
$(LD) -o $@ $^
|
||||
|
||||
zero2plugin$(DSOEXT): zero2plugin.o pair_zero2.o bond_zero2.o angle_zero2.o dihedral_zero2.o improper_zero2.o
|
||||
$(LD) -o $@ $^
|
||||
|
||||
.cpp.o:
|
||||
$(CXX) -o $@ $(CXXFLAGS) -c $<
|
||||
|
||||
helloplugin.o: helloplugin.cpp
|
||||
|
||||
pair_morse2.o: pair_morse2.cpp pair_morse2.h
|
||||
pair_morse2_omp.o: pair_morse2_omp.cpp pair_morse2_omp.h pair_morse2.h
|
||||
morse2plugin.o: morse2plugin.cpp pair_morse2.h pair_morse2_omp.h
|
||||
|
||||
fix_nve2.o: fix_nve2.cpp fix_nve2.h
|
||||
nve2plugin.o: nve2plugin.cpp fix_nve2.h
|
||||
|
||||
pair_zero2.o: pair_zero2.cpp pair_zero2.h
|
||||
bond_zero2.o: bond_zero2.cpp bond_zero2.h
|
||||
angle_zero2.o: angle_zero2.cpp angle_zero2.h
|
||||
dihedral_zero2.o: dihedral_zero2.cpp dihedral_zero2.h
|
||||
improper_zero2.o: improper_zero2.cpp improper_zero2.h
|
||||
zero2plugin.o: zero2plugin.cpp pair_zero2.h bond_zero2.h angle_zero2.h dihedral_zero2.h
|
||||
|
||||
clean:
|
||||
rm -rf *~ *.so *.dylib *.o log.lammps CMakeCache.txt CMakeFiles
|
||||
|
||||
6
examples/plugins/Makefile.macos
Normal file
6
examples/plugins/Makefile.macos
Normal file
@ -0,0 +1,6 @@
|
||||
CXX=mpicxx
|
||||
CXXFLAGS=-I../../src -Wall -Wextra -O3 -fPIC -I../../src/USER-OMP
|
||||
LD=$(CXX) -bundle -rdynamic -Wl,-undefined,dynamic_lookup
|
||||
DSOEXT=.dylib
|
||||
|
||||
include Makefile.common
|
||||
6
examples/plugins/Makefile.serial
Normal file
6
examples/plugins/Makefile.serial
Normal file
@ -0,0 +1,6 @@
|
||||
CXX=g++
|
||||
CXXFLAGS=-I../../src -I../../src/STUBS -Wall -Wextra -O3 -fPIC -I../../src/USER-OMP -fopenmp
|
||||
LD=$(CXX) -shared -rdynamic -fopenmp
|
||||
DSOEXT=.so
|
||||
|
||||
include Makefile.common
|
||||
152
examples/plugins/angle_zero2.cpp
Normal file
152
examples/plugins/angle_zero2.cpp
Normal file
@ -0,0 +1,152 @@
|
||||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://lammps.sandia.gov/, Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||
certain rights in this software. This software is distributed under
|
||||
the GNU General Public License.
|
||||
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing author: Carsten Svaneborg (SDU)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "angle_zero2.h"
|
||||
|
||||
#include "atom.h"
|
||||
#include "comm.h"
|
||||
#include "math_const.h"
|
||||
#include "memory.h"
|
||||
#include "error.h"
|
||||
|
||||
#include <cstring>
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
using namespace MathConst;
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
AngleZero2::AngleZero2(LAMMPS *lmp) : Angle(lmp), coeffflag(1) {}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
AngleZero2::~AngleZero2()
|
||||
{
|
||||
if (allocated && !copymode) {
|
||||
memory->destroy(setflag);
|
||||
memory->destroy(theta0);
|
||||
}
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void AngleZero2::compute(int eflag, int vflag)
|
||||
{
|
||||
ev_init(eflag,vflag);
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void AngleZero2::settings(int narg, char **arg)
|
||||
{
|
||||
if ((narg != 0) && (narg != 1))
|
||||
error->all(FLERR,"Illegal angle_style command");
|
||||
|
||||
if (narg == 1) {
|
||||
if (strcmp("nocoeff",arg[0]) == 0) coeffflag=0;
|
||||
else error->all(FLERR,"Illegal angle_style command");
|
||||
}
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void AngleZero2::allocate()
|
||||
{
|
||||
allocated = 1;
|
||||
int n = atom->nangletypes;
|
||||
|
||||
memory->create(theta0,n+1,"angle:theta0");
|
||||
memory->create(setflag,n+1,"angle:setflag");
|
||||
for (int i = 1; i <= n; i++) setflag[i] = 0;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
set coeffs for one or more types
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void AngleZero2::coeff(int narg, char **arg)
|
||||
{
|
||||
if ((narg < 1) || (coeffflag && narg > 2))
|
||||
error->all(FLERR,"Incorrect args for angle coefficients");
|
||||
|
||||
if (!allocated) allocate();
|
||||
|
||||
int ilo,ihi;
|
||||
utils::bounds(FLERR,arg[0],1,atom->nangletypes,ilo,ihi,error);
|
||||
|
||||
double theta0_one = 0.0;
|
||||
if (coeffflag && (narg == 2))
|
||||
theta0_one = utils::numeric(FLERR,arg[1],false,lmp);
|
||||
|
||||
// convert theta0 from degrees to radians
|
||||
|
||||
int count = 0;
|
||||
for (int i = ilo; i <= ihi; i++) {
|
||||
setflag[i] = 1;
|
||||
theta0[i] = theta0_one/180.0 * MY_PI;
|
||||
count++;
|
||||
}
|
||||
|
||||
if (count == 0) error->all(FLERR,"Incorrect args for angle coefficients");
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
double AngleZero2::equilibrium_angle(int i)
|
||||
{
|
||||
return theta0[i];
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 writes out coeffs to restart file
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void AngleZero2::write_restart(FILE *fp) {
|
||||
fwrite(&theta0[1],sizeof(double),atom->nangletypes,fp);
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 reads coeffs from restart file, bcasts them
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void AngleZero2::read_restart(FILE *fp)
|
||||
{
|
||||
allocate();
|
||||
|
||||
if (comm->me == 0) {
|
||||
utils::sfread(FLERR,&theta0[1],sizeof(double),atom->nangletypes,fp,nullptr,error);
|
||||
}
|
||||
MPI_Bcast(&theta0[1],atom->nangletypes,MPI_DOUBLE,0,world);
|
||||
|
||||
for (int i = 1; i <= atom->nangletypes; i++) setflag[i] = 1;
|
||||
}
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 writes to data file
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void AngleZero2::write_data(FILE *fp)
|
||||
{
|
||||
for (int i = 1; i <= atom->nangletypes; i++)
|
||||
fprintf(fp,"%d %g\n",i,theta0[i]/MY_PI*180.0);
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
double AngleZero2::single(int /*type*/, int /*i1*/, int /*i2*/, int /*i3*/)
|
||||
{
|
||||
return 0.0;
|
||||
}
|
||||
57
examples/plugins/angle_zero2.h
Normal file
57
examples/plugins/angle_zero2.h
Normal file
@ -0,0 +1,57 @@
|
||||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
http://lammps.sandia.gov, Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||
certain rights in this software. This software is distributed under
|
||||
the GNU General Public License.
|
||||
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef LMP_ANGLE_ZERO2_H
|
||||
#define LMP_ANGLE_ZERO2_H
|
||||
|
||||
#include "angle.h"
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
|
||||
class AngleZero2 : public Angle {
|
||||
public:
|
||||
AngleZero2(class LAMMPS *);
|
||||
virtual ~AngleZero2();
|
||||
virtual void compute(int, int);
|
||||
virtual void coeff(int, char **);
|
||||
virtual void settings(int, char **);
|
||||
|
||||
double equilibrium_angle(int);
|
||||
void write_restart(FILE *);
|
||||
void read_restart(FILE *);
|
||||
void write_data(FILE *);
|
||||
|
||||
double single(int, int, int, int);
|
||||
|
||||
protected:
|
||||
double *theta0;
|
||||
int coeffflag;
|
||||
|
||||
void allocate();
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/* ERROR/WARNING messages:
|
||||
|
||||
E: Illegal ... command
|
||||
|
||||
UNDOCUMENTED
|
||||
|
||||
E: Incorrect args for angle coefficients
|
||||
|
||||
Self-explanatory. Check the input script or data file.
|
||||
|
||||
*/
|
||||
161
examples/plugins/bond_zero2.cpp
Normal file
161
examples/plugins/bond_zero2.cpp
Normal file
@ -0,0 +1,161 @@
|
||||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://lammps.sandia.gov/, Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||
certain rights in this software. This software is distributed under
|
||||
the GNU General Public License.
|
||||
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing author: Carsten Svaneborg (SDU)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "bond_zero2.h"
|
||||
|
||||
#include "atom.h"
|
||||
#include "comm.h"
|
||||
#include "error.h"
|
||||
#include "memory.h"
|
||||
|
||||
#include <cstring>
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
BondZero2::BondZero2(LAMMPS *lmp) : Bond(lmp), coeffflag(1) {}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
BondZero2::~BondZero2()
|
||||
{
|
||||
if (allocated && !copymode) {
|
||||
memory->destroy(setflag);
|
||||
memory->destroy(r0);
|
||||
}
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void BondZero2::compute(int eflag, int vflag)
|
||||
{
|
||||
ev_init(eflag,vflag);
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void BondZero2::settings(int narg, char **arg)
|
||||
{
|
||||
if ((narg != 0) && (narg != 1))
|
||||
error->all(FLERR,"Illegal bond_style command");
|
||||
|
||||
if (narg == 1) {
|
||||
if (strcmp("nocoeff",arg[0]) == 0) coeffflag=0;
|
||||
else error->all(FLERR,"Illegal bond_style command");
|
||||
}
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void BondZero2::allocate()
|
||||
{
|
||||
allocated = 1;
|
||||
int n = atom->nbondtypes;
|
||||
|
||||
memory->create(r0,n+1,"bond:r0");
|
||||
memory->create(setflag,n+1,"bond:setflag");
|
||||
for (int i = 1; i <= n; i++) setflag[i] = 0;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
set coeffs for one or more types
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void BondZero2::coeff(int narg, char **arg)
|
||||
{
|
||||
if ((narg < 1) || (coeffflag && narg > 2))
|
||||
error->all(FLERR,"Incorrect args for bond coefficients");
|
||||
|
||||
if (!allocated) allocate();
|
||||
|
||||
int ilo,ihi;
|
||||
utils::bounds(FLERR,arg[0],1,atom->nbondtypes,ilo,ihi,error);
|
||||
|
||||
double r0_one = 0.0;
|
||||
if (coeffflag && (narg == 2))
|
||||
r0_one = utils::numeric(FLERR,arg[1],false,lmp);
|
||||
|
||||
int count = 0;
|
||||
for (int i = ilo; i <= ihi; i++) {
|
||||
setflag[i] = 1;
|
||||
r0[i] = r0_one;
|
||||
count++;
|
||||
}
|
||||
|
||||
if (count == 0) error->all(FLERR,"Incorrect args for bond coefficients");
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
return an equilbrium bond length
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
double BondZero2::equilibrium_distance(int i)
|
||||
{
|
||||
return r0[i];
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 writes out coeffs to restart file
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void BondZero2::write_restart(FILE *fp) {
|
||||
fwrite(&r0[1],sizeof(double),atom->nbondtypes,fp);
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 reads coeffs from restart file, bcasts them
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void BondZero2::read_restart(FILE *fp)
|
||||
{
|
||||
allocate();
|
||||
|
||||
if (comm->me == 0) {
|
||||
utils::sfread(FLERR,&r0[1],sizeof(double),atom->nbondtypes,fp,nullptr,error);
|
||||
}
|
||||
MPI_Bcast(&r0[1],atom->nbondtypes,MPI_DOUBLE,0,world);
|
||||
|
||||
for (int i = 1; i <= atom->nbondtypes; i++) setflag[i] = 1;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 writes to data file
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void BondZero2::write_data(FILE *fp)
|
||||
{
|
||||
for (int i = 1; i <= atom->nbondtypes; i++)
|
||||
fprintf(fp,"%d %g\n",i,r0[i]);
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
double BondZero2::single(int /*type*/, double /*rsq*/, int /*i*/, int /*j*/,
|
||||
double & /*fforce*/)
|
||||
{
|
||||
return 0.0;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void *BondZero2::extract(const char *str, int &dim)
|
||||
{
|
||||
dim = 1;
|
||||
if (strcmp(str,"r0")==0) return (void*) r0;
|
||||
return nullptr;
|
||||
}
|
||||
58
examples/plugins/bond_zero2.h
Normal file
58
examples/plugins/bond_zero2.h
Normal file
@ -0,0 +1,58 @@
|
||||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
http://lammps.sandia.gov, Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||
certain rights in this software. This software is distributed under
|
||||
the GNU General Public License.
|
||||
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef LMP_BOND_ZERO2_H
|
||||
#define LMP_BOND_ZERO2_H
|
||||
|
||||
#include "bond.h"
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
|
||||
class BondZero2 : public Bond {
|
||||
public:
|
||||
BondZero2(class LAMMPS *);
|
||||
virtual ~BondZero2();
|
||||
virtual void compute(int, int);
|
||||
virtual void settings(int, char **);
|
||||
|
||||
void coeff(int, char **);
|
||||
double equilibrium_distance(int);
|
||||
void write_restart(FILE *);
|
||||
void read_restart(FILE *);
|
||||
void write_data(FILE *);
|
||||
|
||||
double single(int, double, int, int, double &);
|
||||
virtual void *extract(const char *, int &);
|
||||
|
||||
protected:
|
||||
double *r0;
|
||||
int coeffflag;
|
||||
|
||||
virtual void allocate();
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/* ERROR/WARNING messages:
|
||||
|
||||
E: Illegal ... command
|
||||
|
||||
UNDOCUMENTED
|
||||
|
||||
E: Incorrect args for bond coefficients
|
||||
|
||||
Self-explanatory. Check the input script or data file.
|
||||
|
||||
*/
|
||||
121
examples/plugins/dihedral_zero2.cpp
Normal file
121
examples/plugins/dihedral_zero2.cpp
Normal file
@ -0,0 +1,121 @@
|
||||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://lammps.sandia.gov/, Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||
certain rights in this software. This software is distributed under
|
||||
the GNU General Public License.
|
||||
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing author: Carsten Svaneborg (SDU)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "dihedral_zero2.h"
|
||||
|
||||
#include "atom.h"
|
||||
#include "error.h"
|
||||
#include "memory.h"
|
||||
|
||||
#include <cstring>
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
DihedralZero2::DihedralZero2(LAMMPS *lmp) : Dihedral(lmp), coeffflag(1)
|
||||
{
|
||||
writedata = 1;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
DihedralZero2::~DihedralZero2()
|
||||
{
|
||||
if (allocated && !copymode) {
|
||||
memory->destroy(setflag);
|
||||
}
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void DihedralZero2::compute(int eflag, int vflag)
|
||||
{
|
||||
ev_init(eflag,vflag);
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void DihedralZero2::settings(int narg, char **arg)
|
||||
{
|
||||
if ((narg != 0) && (narg != 1))
|
||||
error->all(FLERR,"Illegal dihedral_style command");
|
||||
|
||||
if (narg == 1) {
|
||||
if (strcmp("nocoeff",arg[0]) == 0) coeffflag=0;
|
||||
else error->all(FLERR,"Illegal dihedral_style command");
|
||||
}
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void DihedralZero2::allocate()
|
||||
{
|
||||
allocated = 1;
|
||||
int n = atom->ndihedraltypes;
|
||||
|
||||
memory->create(setflag,n+1,"dihedral:setflag");
|
||||
for (int i = 1; i <= n; i++) setflag[i] = 0;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
set coeffs for one or more types
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void DihedralZero2::coeff(int narg, char **arg)
|
||||
{
|
||||
if ((narg < 1) || (coeffflag && narg > 1))
|
||||
error->all(FLERR,"Incorrect args for dihedral coefficients");
|
||||
|
||||
if (!allocated) allocate();
|
||||
|
||||
int ilo,ihi;
|
||||
utils::bounds(FLERR,arg[0],1,atom->ndihedraltypes,ilo,ihi,error);
|
||||
|
||||
int count = 0;
|
||||
for (int i = ilo; i <= ihi; i++) {
|
||||
setflag[i] = 1;
|
||||
count++;
|
||||
}
|
||||
|
||||
if (count == 0) error->all(FLERR,"Incorrect args for dihedral coefficients");
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 writes out coeffs to restart file
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void DihedralZero2::write_restart(FILE * /*fp*/) {}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 reads coeffs from restart file, bcasts them
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void DihedralZero2::read_restart(FILE * /*fp*/)
|
||||
{
|
||||
allocate();
|
||||
for (int i = 1; i <= atom->ndihedraltypes; i++) setflag[i] = 1;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 writes to data file
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void DihedralZero2::write_data(FILE *fp) {
|
||||
for (int i = 1; i <= atom->ndihedraltypes; i++)
|
||||
fprintf(fp,"%d\n",i);
|
||||
}
|
||||
57
examples/plugins/dihedral_zero2.h
Normal file
57
examples/plugins/dihedral_zero2.h
Normal file
@ -0,0 +1,57 @@
|
||||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
http://lammps.sandia.gov, Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||
certain rights in this software. This software is distributed under
|
||||
the GNU General Public License.
|
||||
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
|
||||
Identical to dihedral harmonic, except if all k's are zero the
|
||||
force loop is skipped.
|
||||
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef LMP_DIHEDRAL_ZERO2_H
|
||||
#define LMP_DIHEDRAL_ZERO2_H
|
||||
|
||||
#include "dihedral.h"
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
|
||||
class DihedralZero2 : public Dihedral {
|
||||
public:
|
||||
DihedralZero2(class LAMMPS *);
|
||||
virtual ~DihedralZero2();
|
||||
virtual void compute(int, int);
|
||||
virtual void coeff(int, char **);
|
||||
virtual void settings(int, char **);
|
||||
|
||||
void write_restart(FILE *);
|
||||
void read_restart(FILE *);
|
||||
void write_data(FILE *);
|
||||
|
||||
protected:
|
||||
int coeffflag;
|
||||
|
||||
virtual void allocate();
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/* ERROR/WARNING messages:
|
||||
|
||||
E: Illegal ... command
|
||||
|
||||
UNDOCUMENTED
|
||||
|
||||
E: Incorrect args for dihedral coefficients
|
||||
|
||||
UNDOCUMENTED
|
||||
|
||||
*/
|
||||
171
examples/plugins/fix_nve2.cpp
Normal file
171
examples/plugins/fix_nve2.cpp
Normal file
@ -0,0 +1,171 @@
|
||||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://lammps.sandia.gov/, Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||
certain rights in this software. This software is distributed under
|
||||
the GNU General Public License.
|
||||
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "fix_nve2.h"
|
||||
#include <cstring>
|
||||
#include "atom.h"
|
||||
#include "force.h"
|
||||
#include "update.h"
|
||||
#include "respa.h"
|
||||
#include "error.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
using namespace FixConst;
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
FixNVE2::FixNVE2(LAMMPS *lmp, int narg, char **arg) :
|
||||
Fix(lmp, narg, arg)
|
||||
{
|
||||
if (strcmp(style,"nve/sphere") != 0 && narg < 3)
|
||||
error->all(FLERR,"Illegal fix nve command");
|
||||
|
||||
dynamic_group_allow = 1;
|
||||
time_integrate = 1;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
int FixNVE2::setmask()
|
||||
{
|
||||
int mask = 0;
|
||||
mask |= INITIAL_INTEGRATE;
|
||||
mask |= FINAL_INTEGRATE;
|
||||
mask |= INITIAL_INTEGRATE_RESPA;
|
||||
mask |= FINAL_INTEGRATE_RESPA;
|
||||
return mask;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void FixNVE2::init()
|
||||
{
|
||||
dtv = update->dt;
|
||||
dtf = 0.5 * update->dt * force->ftm2v;
|
||||
|
||||
if (strstr(update->integrate_style,"respa"))
|
||||
step_respa = ((Respa *) update->integrate)->step;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
allow for both per-type and per-atom mass
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void FixNVE2::initial_integrate(int /*vflag*/)
|
||||
{
|
||||
double dtfm;
|
||||
|
||||
// update v and x of atoms in group
|
||||
|
||||
double **x = atom->x;
|
||||
double **v = atom->v;
|
||||
double **f = atom->f;
|
||||
double *rmass = atom->rmass;
|
||||
double *mass = atom->mass;
|
||||
int *type = atom->type;
|
||||
int *mask = atom->mask;
|
||||
int nlocal = atom->nlocal;
|
||||
if (igroup == atom->firstgroup) nlocal = atom->nfirst;
|
||||
|
||||
if (rmass) {
|
||||
for (int i = 0; i < nlocal; i++)
|
||||
if (mask[i] & groupbit) {
|
||||
dtfm = dtf / rmass[i];
|
||||
v[i][0] += dtfm * f[i][0];
|
||||
v[i][1] += dtfm * f[i][1];
|
||||
v[i][2] += dtfm * f[i][2];
|
||||
x[i][0] += dtv * v[i][0];
|
||||
x[i][1] += dtv * v[i][1];
|
||||
x[i][2] += dtv * v[i][2];
|
||||
}
|
||||
|
||||
} else {
|
||||
for (int i = 0; i < nlocal; i++)
|
||||
if (mask[i] & groupbit) {
|
||||
dtfm = dtf / mass[type[i]];
|
||||
v[i][0] += dtfm * f[i][0];
|
||||
v[i][1] += dtfm * f[i][1];
|
||||
v[i][2] += dtfm * f[i][2];
|
||||
x[i][0] += dtv * v[i][0];
|
||||
x[i][1] += dtv * v[i][1];
|
||||
x[i][2] += dtv * v[i][2];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void FixNVE2::final_integrate()
|
||||
{
|
||||
double dtfm;
|
||||
|
||||
// update v of atoms in group
|
||||
|
||||
double **v = atom->v;
|
||||
double **f = atom->f;
|
||||
double *rmass = atom->rmass;
|
||||
double *mass = atom->mass;
|
||||
int *type = atom->type;
|
||||
int *mask = atom->mask;
|
||||
int nlocal = atom->nlocal;
|
||||
if (igroup == atom->firstgroup) nlocal = atom->nfirst;
|
||||
|
||||
if (rmass) {
|
||||
for (int i = 0; i < nlocal; i++)
|
||||
if (mask[i] & groupbit) {
|
||||
dtfm = dtf / rmass[i];
|
||||
v[i][0] += dtfm * f[i][0];
|
||||
v[i][1] += dtfm * f[i][1];
|
||||
v[i][2] += dtfm * f[i][2];
|
||||
}
|
||||
|
||||
} else {
|
||||
for (int i = 0; i < nlocal; i++)
|
||||
if (mask[i] & groupbit) {
|
||||
dtfm = dtf / mass[type[i]];
|
||||
v[i][0] += dtfm * f[i][0];
|
||||
v[i][1] += dtfm * f[i][1];
|
||||
v[i][2] += dtfm * f[i][2];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void FixNVE2::initial_integrate_respa(int vflag, int ilevel, int /*iloop*/)
|
||||
{
|
||||
dtv = step_respa[ilevel];
|
||||
dtf = 0.5 * step_respa[ilevel] * force->ftm2v;
|
||||
|
||||
// innermost level - NVE update of v and x
|
||||
// all other levels - NVE update of v
|
||||
|
||||
if (ilevel == 0) initial_integrate(vflag);
|
||||
else final_integrate();
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void FixNVE2::final_integrate_respa(int ilevel, int /*iloop*/)
|
||||
{
|
||||
dtf = 0.5 * step_respa[ilevel] * force->ftm2v;
|
||||
final_integrate();
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void FixNVE2::reset_dt()
|
||||
{
|
||||
dtv = update->dt;
|
||||
dtf = 0.5 * update->dt * force->ftm2v;
|
||||
}
|
||||
58
examples/plugins/fix_nve2.h
Normal file
58
examples/plugins/fix_nve2.h
Normal file
@ -0,0 +1,58 @@
|
||||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
http://lammps.sandia.gov, Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||
certain rights in this software. This software is distributed under
|
||||
the GNU General Public License.
|
||||
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifdef FIX_CLASS
|
||||
|
||||
FixStyle(nve2,FixNVE2)
|
||||
|
||||
#else
|
||||
|
||||
#ifndef LMP_FIX_NVE2_H
|
||||
#define LMP_FIX_NVE2_H
|
||||
|
||||
#include "fix.h"
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
|
||||
class FixNVE2 : public Fix {
|
||||
public:
|
||||
FixNVE2(class LAMMPS *, int, char **);
|
||||
virtual ~FixNVE2() {}
|
||||
int setmask();
|
||||
virtual void init();
|
||||
virtual void initial_integrate(int);
|
||||
virtual void final_integrate();
|
||||
virtual void initial_integrate_respa(int, int, int);
|
||||
virtual void final_integrate_respa(int, int);
|
||||
virtual void reset_dt();
|
||||
|
||||
protected:
|
||||
double dtv,dtf;
|
||||
double *step_respa;
|
||||
int mass_require;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* ERROR/WARNING messages:
|
||||
|
||||
E: Illegal ... command
|
||||
|
||||
Self-explanatory. Check the input script syntax and compare to the
|
||||
documentation for the command. You can use -echo screen as a
|
||||
command-line option when running LAMMPS to see the offending line.
|
||||
|
||||
*/
|
||||
46
examples/plugins/helloplugin.cpp
Normal file
46
examples/plugins/helloplugin.cpp
Normal file
@ -0,0 +1,46 @@
|
||||
|
||||
#include "lammpsplugin.h"
|
||||
|
||||
#include "comm.h"
|
||||
#include "command.h"
|
||||
#include "error.h"
|
||||
#include "version.h"
|
||||
|
||||
#include <cstring>
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
class Hello : public Command {
|
||||
public:
|
||||
Hello(class LAMMPS *lmp) : Command(lmp) {};
|
||||
void command(int, char **);
|
||||
};
|
||||
}
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
|
||||
void Hello::command(int argc, char **argv)
|
||||
{
|
||||
if (argc != 1) error->all(FLERR,"Illegal hello command");
|
||||
if (comm->me == 0)
|
||||
utils::logmesg(lmp,fmt::format("Hello, {}!\n",argv[0]));
|
||||
}
|
||||
|
||||
static Command *hellocreator(LAMMPS *lmp)
|
||||
{
|
||||
return new Hello(lmp);
|
||||
}
|
||||
|
||||
extern "C" void lammpsplugin_init(void *lmp, void *handle, void *regfunc)
|
||||
{
|
||||
lammpsplugin_t plugin;
|
||||
lammpsplugin_regfunc register_plugin = (lammpsplugin_regfunc) regfunc;
|
||||
|
||||
plugin.version = LAMMPS_VERSION;
|
||||
plugin.style = "command";
|
||||
plugin.name = "hello";
|
||||
plugin.info = "Hello world command v1.1";
|
||||
plugin.author = "Axel Kohlmeyer (akohlmey@gmail.com)";
|
||||
plugin.creator.v1 = (lammpsplugin_factory1 *) &hellocreator;
|
||||
plugin.handle = handle;
|
||||
(*register_plugin)(&plugin,lmp);
|
||||
}
|
||||
122
examples/plugins/improper_zero2.cpp
Normal file
122
examples/plugins/improper_zero2.cpp
Normal file
@ -0,0 +1,122 @@
|
||||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://lammps.sandia.gov/, Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||
certain rights in this software. This software is distributed under
|
||||
the GNU General Public License.
|
||||
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing author: Carsten Svaneborg (SDU)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "improper_zero2.h"
|
||||
|
||||
#include "atom.h"
|
||||
#include "error.h"
|
||||
#include "memory.h"
|
||||
|
||||
#include <cstring>
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
ImproperZero2::ImproperZero2(LAMMPS *lmp) : Improper(lmp), coeffflag(1)
|
||||
{
|
||||
writedata = 1;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
ImproperZero2::~ImproperZero2()
|
||||
{
|
||||
if (allocated && !copymode) {
|
||||
memory->destroy(setflag);
|
||||
}
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void ImproperZero2::compute(int eflag, int vflag)
|
||||
{
|
||||
ev_init(eflag,vflag);
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void ImproperZero2::settings(int narg, char **arg)
|
||||
{
|
||||
if ((narg != 0) && (narg != 1))
|
||||
error->all(FLERR,"Illegal improper_style command");
|
||||
|
||||
if (narg == 1) {
|
||||
if (strcmp("nocoeff",arg[0]) == 0) coeffflag=0;
|
||||
else error->all(FLERR,"Illegal improper_style command");
|
||||
}
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void ImproperZero2::allocate()
|
||||
{
|
||||
allocated = 1;
|
||||
int n = atom->nimpropertypes;
|
||||
|
||||
memory->create(setflag,n+1,"improper:setflag");
|
||||
for (int i = 1; i <= n; i++) setflag[i] = 0;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
set coeffs for one or more types
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void ImproperZero2::coeff(int narg, char **arg)
|
||||
{
|
||||
if ((narg < 1) || (coeffflag && narg > 1))
|
||||
error->all(FLERR,"Incorrect args for improper coefficients");
|
||||
|
||||
if (!allocated) allocate();
|
||||
|
||||
int ilo,ihi;
|
||||
utils::bounds(FLERR,arg[0],1,atom->nimpropertypes,ilo,ihi,error);
|
||||
|
||||
int count = 0;
|
||||
for (int i = ilo; i <= ihi; i++) {
|
||||
setflag[i] = 1;
|
||||
count++;
|
||||
}
|
||||
|
||||
if (count == 0) error->all(FLERR,"Incorrect args for improper coefficients");
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 writes out coeffs to restart file
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void ImproperZero2::write_restart(FILE * /*fp*/) {}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 reads coeffs from restart file, bcasts them
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void ImproperZero2::read_restart(FILE * /*fp*/)
|
||||
{
|
||||
allocate();
|
||||
for (int i = 1; i <= atom->nimpropertypes; i++) setflag[i] = 1;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 writes to data file
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void ImproperZero2::write_data(FILE *fp) {
|
||||
for (int i = 1; i <= atom->nimpropertypes; i++)
|
||||
fprintf(fp,"%d\n",i);
|
||||
}
|
||||
|
||||
53
examples/plugins/improper_zero2.h
Normal file
53
examples/plugins/improper_zero2.h
Normal file
@ -0,0 +1,53 @@
|
||||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
http://lammps.sandia.gov, Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||
certain rights in this software. This software is distributed under
|
||||
the GNU General Public License.
|
||||
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef LMP_IMPROPER_ZERO2_H
|
||||
#define LMP_IMPROPER_ZERO2_H
|
||||
|
||||
#include "improper.h"
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
|
||||
class ImproperZero2 : public Improper {
|
||||
public:
|
||||
ImproperZero2(class LAMMPS *);
|
||||
virtual ~ImproperZero2();
|
||||
virtual void compute(int, int);
|
||||
virtual void coeff(int, char **);
|
||||
virtual void settings(int, char **);
|
||||
|
||||
void write_restart(FILE *);
|
||||
void read_restart(FILE *);
|
||||
void write_data(FILE *);
|
||||
|
||||
protected:
|
||||
int coeffflag;
|
||||
|
||||
virtual void allocate();
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/* ERROR/WARNING messages:
|
||||
|
||||
E: Illegal ... command
|
||||
|
||||
UNDOCUMENTED
|
||||
|
||||
E: Incorrect args for improper coefficients
|
||||
|
||||
Self-explanatory. Check the input script or data file.
|
||||
|
||||
*/
|
||||
43
examples/plugins/morse2plugin.cpp
Normal file
43
examples/plugins/morse2plugin.cpp
Normal file
@ -0,0 +1,43 @@
|
||||
|
||||
#include "lammpsplugin.h"
|
||||
|
||||
#include "version.h"
|
||||
|
||||
#include <cstring>
|
||||
|
||||
#include "pair_morse2.h"
|
||||
#include "pair_morse2_omp.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
|
||||
static Pair *morse2creator(LAMMPS *lmp)
|
||||
{
|
||||
return new PairMorse2(lmp);
|
||||
}
|
||||
|
||||
static Pair *morse2ompcreator(LAMMPS *lmp)
|
||||
{
|
||||
return new PairMorse2OMP(lmp);
|
||||
}
|
||||
|
||||
extern "C" void lammpsplugin_init(void *lmp, void *handle, void *regfunc)
|
||||
{
|
||||
lammpsplugin_t plugin;
|
||||
lammpsplugin_regfunc register_plugin = (lammpsplugin_regfunc) regfunc;
|
||||
|
||||
// register plain morse2 pair style
|
||||
plugin.version = LAMMPS_VERSION;
|
||||
plugin.style = "pair";
|
||||
plugin.name = "morse2";
|
||||
plugin.info = "Morse2 variant pair style v1.0";
|
||||
plugin.author = "Axel Kohlmeyer (akohlmey@gmail.com)";
|
||||
plugin.creator.v1 = (lammpsplugin_factory1 *) &morse2creator;
|
||||
plugin.handle = handle;
|
||||
(*register_plugin)(&plugin,lmp);
|
||||
|
||||
// also register morse2/omp pair style. only need to update changed fields
|
||||
plugin.name = "morse2/omp";
|
||||
plugin.info = "Morse2 variant pair style for OpenMP v1.0";
|
||||
plugin.creator.v1 = (lammpsplugin_factory1 *) &morse2ompcreator;
|
||||
(*register_plugin)(&plugin,lmp);
|
||||
}
|
||||
30
examples/plugins/nve2plugin.cpp
Normal file
30
examples/plugins/nve2plugin.cpp
Normal file
@ -0,0 +1,30 @@
|
||||
|
||||
#include "lammpsplugin.h"
|
||||
|
||||
#include "version.h"
|
||||
|
||||
#include <cstring>
|
||||
|
||||
#include "fix_nve2.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
|
||||
static Fix *nve2creator(LAMMPS *lmp, int argc, char **argv)
|
||||
{
|
||||
return new FixNVE2(lmp, argc, argv);
|
||||
}
|
||||
|
||||
extern "C" void lammpsplugin_init(void *lmp, void *handle, void *regfunc)
|
||||
{
|
||||
lammpsplugin_t plugin;
|
||||
lammpsplugin_regfunc register_plugin = (lammpsplugin_regfunc) regfunc;
|
||||
|
||||
plugin.version = LAMMPS_VERSION;
|
||||
plugin.style = "fix";
|
||||
plugin.name = "nve2";
|
||||
plugin.info = "NVE2 variant fix style v1.0";
|
||||
plugin.author = "Axel Kohlmeyer (akohlmey@gmail.com)";
|
||||
plugin.creator.v2 = (lammpsplugin_factory2 *) &nve2creator;
|
||||
plugin.handle = handle;
|
||||
(*register_plugin)(&plugin,lmp);
|
||||
}
|
||||
359
examples/plugins/pair_morse2.cpp
Normal file
359
examples/plugins/pair_morse2.cpp
Normal file
@ -0,0 +1,359 @@
|
||||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://lammps.sandia.gov/, Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||
certain rights in this software. This software is distributed under
|
||||
the GNU General Public License.
|
||||
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "pair_morse2.h"
|
||||
|
||||
#include <cmath>
|
||||
#include <cstring>
|
||||
#include "atom.h"
|
||||
#include "comm.h"
|
||||
#include "force.h"
|
||||
#include "neigh_list.h"
|
||||
#include "memory.h"
|
||||
#include "error.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
PairMorse2::PairMorse2(LAMMPS *lmp) : Pair(lmp)
|
||||
{
|
||||
writedata = 1;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
PairMorse2::~PairMorse2()
|
||||
{
|
||||
if (allocated) {
|
||||
memory->destroy(setflag);
|
||||
memory->destroy(cutsq);
|
||||
|
||||
memory->destroy(cut);
|
||||
memory->destroy(d0);
|
||||
memory->destroy(alpha);
|
||||
memory->destroy(r0);
|
||||
memory->destroy(morse1);
|
||||
memory->destroy(offset);
|
||||
}
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void PairMorse2::compute(int eflag, int vflag)
|
||||
{
|
||||
int i,j,ii,jj,inum,jnum,itype,jtype;
|
||||
double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fpair;
|
||||
double rsq,r,dr,dexp,factor_lj;
|
||||
int *ilist,*jlist,*numneigh,**firstneigh;
|
||||
|
||||
evdwl = 0.0;
|
||||
ev_init(eflag,vflag);
|
||||
|
||||
double **x = atom->x;
|
||||
double **f = atom->f;
|
||||
int *type = atom->type;
|
||||
int nlocal = atom->nlocal;
|
||||
double *special_lj = force->special_lj;
|
||||
int newton_pair = force->newton_pair;
|
||||
|
||||
inum = list->inum;
|
||||
ilist = list->ilist;
|
||||
numneigh = list->numneigh;
|
||||
firstneigh = list->firstneigh;
|
||||
|
||||
// loop over neighbors of my atoms
|
||||
|
||||
for (ii = 0; ii < inum; ii++) {
|
||||
i = ilist[ii];
|
||||
xtmp = x[i][0];
|
||||
ytmp = x[i][1];
|
||||
ztmp = x[i][2];
|
||||
itype = type[i];
|
||||
jlist = firstneigh[i];
|
||||
jnum = numneigh[i];
|
||||
|
||||
for (jj = 0; jj < jnum; jj++) {
|
||||
j = jlist[jj];
|
||||
factor_lj = special_lj[sbmask(j)];
|
||||
j &= NEIGHMASK;
|
||||
|
||||
delx = xtmp - x[j][0];
|
||||
dely = ytmp - x[j][1];
|
||||
delz = ztmp - x[j][2];
|
||||
rsq = delx*delx + dely*dely + delz*delz;
|
||||
jtype = type[j];
|
||||
|
||||
if (rsq < cutsq[itype][jtype]) {
|
||||
r = sqrt(rsq);
|
||||
dr = r - r0[itype][jtype];
|
||||
dexp = exp(-alpha[itype][jtype] * dr);
|
||||
fpair = factor_lj * morse1[itype][jtype] * (dexp*dexp - dexp) / r;
|
||||
|
||||
f[i][0] += delx*fpair;
|
||||
f[i][1] += dely*fpair;
|
||||
f[i][2] += delz*fpair;
|
||||
if (newton_pair || j < nlocal) {
|
||||
f[j][0] -= delx*fpair;
|
||||
f[j][1] -= dely*fpair;
|
||||
f[j][2] -= delz*fpair;
|
||||
}
|
||||
|
||||
if (eflag) {
|
||||
evdwl = d0[itype][jtype] * (dexp*dexp - 2.0*dexp) -
|
||||
offset[itype][jtype];
|
||||
evdwl *= factor_lj;
|
||||
}
|
||||
|
||||
if (evflag) ev_tally(i,j,nlocal,newton_pair,
|
||||
evdwl,0.0,fpair,delx,dely,delz);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (vflag_fdotr) virial_fdotr_compute();
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
allocate all arrays
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairMorse2::allocate()
|
||||
{
|
||||
allocated = 1;
|
||||
int n = atom->ntypes;
|
||||
|
||||
memory->create(setflag,n+1,n+1,"pair:setflag");
|
||||
for (int i = 1; i <= n; i++)
|
||||
for (int j = i; j <= n; j++)
|
||||
setflag[i][j] = 0;
|
||||
|
||||
memory->create(cutsq,n+1,n+1,"pair:cutsq");
|
||||
|
||||
memory->create(cut,n+1,n+1,"pair:cut");
|
||||
memory->create(d0,n+1,n+1,"pair:d0");
|
||||
memory->create(alpha,n+1,n+1,"pair:alpha");
|
||||
memory->create(r0,n+1,n+1,"pair:r0");
|
||||
memory->create(morse1,n+1,n+1,"pair:morse1");
|
||||
memory->create(offset,n+1,n+1,"pair:offset");
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
global settings
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairMorse2::settings(int narg, char **arg)
|
||||
{
|
||||
if (narg != 1) error->all(FLERR,"Illegal pair_style command");
|
||||
|
||||
cut_global = utils::numeric(FLERR,arg[0],false,lmp);
|
||||
|
||||
// reset cutoffs that have been explicitly set
|
||||
|
||||
if (allocated) {
|
||||
int i,j;
|
||||
for (i = 1; i <= atom->ntypes; i++)
|
||||
for (j = i; j <= atom->ntypes; j++)
|
||||
if (setflag[i][j]) cut[i][j] = cut_global;
|
||||
}
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
set coeffs for one or more type pairs
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairMorse2::coeff(int narg, char **arg)
|
||||
{
|
||||
if (narg < 5 || narg > 6)
|
||||
error->all(FLERR,"Incorrect args for pair coefficients");
|
||||
if (!allocated) allocate();
|
||||
|
||||
int ilo,ihi,jlo,jhi;
|
||||
utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error);
|
||||
utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error);
|
||||
|
||||
double d0_one = utils::numeric(FLERR,arg[2],false,lmp);
|
||||
double alpha_one = utils::numeric(FLERR,arg[3],false,lmp);
|
||||
double r0_one = utils::numeric(FLERR,arg[4],false,lmp);
|
||||
|
||||
double cut_one = cut_global;
|
||||
if (narg == 6) cut_one = utils::numeric(FLERR,arg[5],false,lmp);
|
||||
|
||||
int count = 0;
|
||||
for (int i = ilo; i <= ihi; i++) {
|
||||
for (int j = MAX(jlo,i); j <= jhi; j++) {
|
||||
d0[i][j] = d0_one;
|
||||
alpha[i][j] = alpha_one;
|
||||
r0[i][j] = r0_one;
|
||||
cut[i][j] = cut_one;
|
||||
setflag[i][j] = 1;
|
||||
count++;
|
||||
}
|
||||
}
|
||||
|
||||
if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients");
|
||||
}
|
||||
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
init for one type pair i,j and corresponding j,i
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
double PairMorse2::init_one(int i, int j)
|
||||
{
|
||||
if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set");
|
||||
|
||||
morse1[i][j] = 2.0*d0[i][j]*alpha[i][j];
|
||||
|
||||
if (offset_flag) {
|
||||
double alpha_dr = -alpha[i][j] * (cut[i][j] - r0[i][j]);
|
||||
offset[i][j] = d0[i][j] * (exp(2.0*alpha_dr) - 2.0*exp(alpha_dr));
|
||||
} else offset[i][j] = 0.0;
|
||||
|
||||
d0[j][i] = d0[i][j];
|
||||
alpha[j][i] = alpha[i][j];
|
||||
r0[j][i] = r0[i][j];
|
||||
morse1[j][i] = morse1[i][j];
|
||||
offset[j][i] = offset[i][j];
|
||||
|
||||
return cut[i][j];
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 writes to restart file
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairMorse2::write_restart(FILE *fp)
|
||||
{
|
||||
write_restart_settings(fp);
|
||||
|
||||
int i,j;
|
||||
for (i = 1; i <= atom->ntypes; i++)
|
||||
for (j = i; j <= atom->ntypes; j++) {
|
||||
fwrite(&setflag[i][j],sizeof(int),1,fp);
|
||||
if (setflag[i][j]) {
|
||||
fwrite(&d0[i][j],sizeof(double),1,fp);
|
||||
fwrite(&alpha[i][j],sizeof(double),1,fp);
|
||||
fwrite(&r0[i][j],sizeof(double),1,fp);
|
||||
fwrite(&cut[i][j],sizeof(double),1,fp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 reads from restart file, bcasts
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairMorse2::read_restart(FILE *fp)
|
||||
{
|
||||
read_restart_settings(fp);
|
||||
|
||||
allocate();
|
||||
|
||||
int i,j;
|
||||
int me = comm->me;
|
||||
for (i = 1; i <= atom->ntypes; i++)
|
||||
for (j = i; j <= atom->ntypes; j++) {
|
||||
if (me == 0) utils::sfread(FLERR,&setflag[i][j],sizeof(int),1,fp,nullptr,error);
|
||||
MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world);
|
||||
if (setflag[i][j]) {
|
||||
if (me == 0) {
|
||||
utils::sfread(FLERR,&d0[i][j],sizeof(double),1,fp,nullptr,error);
|
||||
utils::sfread(FLERR,&alpha[i][j],sizeof(double),1,fp,nullptr,error);
|
||||
utils::sfread(FLERR,&r0[i][j],sizeof(double),1,fp,nullptr,error);
|
||||
utils::sfread(FLERR,&cut[i][j],sizeof(double),1,fp,nullptr,error);
|
||||
}
|
||||
MPI_Bcast(&d0[i][j],1,MPI_DOUBLE,0,world);
|
||||
MPI_Bcast(&alpha[i][j],1,MPI_DOUBLE,0,world);
|
||||
MPI_Bcast(&r0[i][j],1,MPI_DOUBLE,0,world);
|
||||
MPI_Bcast(&cut[i][j],1,MPI_DOUBLE,0,world);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 writes to restart file
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairMorse2::write_restart_settings(FILE *fp)
|
||||
{
|
||||
fwrite(&cut_global,sizeof(double),1,fp);
|
||||
fwrite(&offset_flag,sizeof(int),1,fp);
|
||||
fwrite(&mix_flag,sizeof(int),1,fp);
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 reads from restart file, bcasts
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairMorse2::read_restart_settings(FILE *fp)
|
||||
{
|
||||
if (comm->me == 0) {
|
||||
utils::sfread(FLERR,&cut_global,sizeof(double),1,fp,nullptr,error);
|
||||
utils::sfread(FLERR,&offset_flag,sizeof(int),1,fp,nullptr,error);
|
||||
utils::sfread(FLERR,&mix_flag,sizeof(int),1,fp,nullptr,error);
|
||||
}
|
||||
MPI_Bcast(&cut_global,1,MPI_DOUBLE,0,world);
|
||||
MPI_Bcast(&offset_flag,1,MPI_INT,0,world);
|
||||
MPI_Bcast(&mix_flag,1,MPI_INT,0,world);
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 writes to data file
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairMorse2::write_data(FILE *fp)
|
||||
{
|
||||
for (int i = 1; i <= atom->ntypes; i++)
|
||||
fprintf(fp,"%d %g %g %g\n",i,d0[i][i],alpha[i][i],r0[i][i]);
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 writes all pairs to data file
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairMorse2::write_data_all(FILE *fp)
|
||||
{
|
||||
for (int i = 1; i <= atom->ntypes; i++)
|
||||
for (int j = i; j <= atom->ntypes; j++)
|
||||
fprintf(fp,"%d %d %g %g %g %g\n",
|
||||
i,j,d0[i][j],alpha[i][j],r0[i][j],cut[i][j]);
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
double PairMorse2::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq,
|
||||
double /*factor_coul*/, double factor_lj,
|
||||
double &fforce)
|
||||
{
|
||||
double r,dr,dexp,phi;
|
||||
|
||||
r = sqrt(rsq);
|
||||
dr = r - r0[itype][jtype];
|
||||
dexp = exp(-alpha[itype][jtype] * dr);
|
||||
fforce = factor_lj * morse1[itype][jtype] * (dexp*dexp - dexp) / r;
|
||||
|
||||
phi = d0[itype][jtype] * (dexp*dexp - 2.0*dexp) - offset[itype][jtype];
|
||||
return factor_lj*phi;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void *PairMorse2::extract(const char *str, int &dim)
|
||||
{
|
||||
dim = 2;
|
||||
if (strcmp(str,"d0") == 0) return (void *) d0;
|
||||
if (strcmp(str,"r0") == 0) return (void *) r0;
|
||||
if (strcmp(str,"alpha") == 0) return (void *) alpha;
|
||||
return nullptr;
|
||||
}
|
||||
70
examples/plugins/pair_morse2.h
Normal file
70
examples/plugins/pair_morse2.h
Normal file
@ -0,0 +1,70 @@
|
||||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
http://lammps.sandia.gov, Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||
certain rights in this software. This software is distributed under
|
||||
the GNU General Public License.
|
||||
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef LMP_PAIR_MORSE2_H
|
||||
#define LMP_PAIR_MORSE2_H
|
||||
|
||||
#include "pair.h"
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
|
||||
class PairMorse2 : public Pair {
|
||||
public:
|
||||
PairMorse2(class LAMMPS *);
|
||||
virtual ~PairMorse2();
|
||||
virtual void compute(int, int);
|
||||
|
||||
void settings(int, char **);
|
||||
void coeff(int, char **);
|
||||
double init_one(int, int);
|
||||
void write_restart(FILE *);
|
||||
void read_restart(FILE *);
|
||||
void write_restart_settings(FILE *);
|
||||
void read_restart_settings(FILE *);
|
||||
void write_data(FILE *);
|
||||
void write_data_all(FILE *);
|
||||
double single(int, int, int, int, double, double, double, double &);
|
||||
void *extract(const char *, int &);
|
||||
|
||||
protected:
|
||||
double cut_global;
|
||||
double **cut;
|
||||
double **d0,**alpha,**r0;
|
||||
double **morse1;
|
||||
double **offset;
|
||||
|
||||
virtual void allocate();
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/* ERROR/WARNING messages:
|
||||
|
||||
E: Illegal ... command
|
||||
|
||||
Self-explanatory. Check the input script syntax and compare to the
|
||||
documentation for the command. You can use -echo screen as a
|
||||
command-line option when running LAMMPS to see the offending line.
|
||||
|
||||
E: Incorrect args for pair coefficients
|
||||
|
||||
Self-explanatory. Check the input script or data file.
|
||||
|
||||
E: All pair coeffs are not set
|
||||
|
||||
All pair coefficients must be set in the data file or by the
|
||||
pair_coeff command before running a simulation.
|
||||
|
||||
*/
|
||||
160
examples/plugins/pair_morse2_omp.cpp
Normal file
160
examples/plugins/pair_morse2_omp.cpp
Normal file
@ -0,0 +1,160 @@
|
||||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://lammps.sandia.gov/, Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
This software is distributed under the GNU General Public License.
|
||||
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing author: Axel Kohlmeyer (Temple U)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "pair_morse2_omp.h"
|
||||
|
||||
#include "atom.h"
|
||||
#include "comm.h"
|
||||
#include "force.h"
|
||||
#include "neigh_list.h"
|
||||
#include "suffix.h"
|
||||
|
||||
#include <cmath>
|
||||
|
||||
#include "omp_compat.h"
|
||||
using namespace LAMMPS_NS;
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
PairMorse2OMP::PairMorse2OMP(LAMMPS *lmp) :
|
||||
PairMorse2(lmp), ThrOMP(lmp, THR_PAIR)
|
||||
{
|
||||
suffix_flag |= Suffix::OMP;
|
||||
respa_enable = 0;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void PairMorse2OMP::compute(int eflag, int vflag)
|
||||
{
|
||||
ev_init(eflag,vflag);
|
||||
|
||||
const int nall = atom->nlocal + atom->nghost;
|
||||
const int nthreads = comm->nthreads;
|
||||
const int inum = list->inum;
|
||||
|
||||
#if defined(_OPENMP)
|
||||
#pragma omp parallel LMP_DEFAULT_NONE LMP_SHARED(eflag,vflag)
|
||||
#endif
|
||||
{
|
||||
int ifrom, ito, tid;
|
||||
|
||||
loop_setup_thr(ifrom, ito, tid, inum, nthreads);
|
||||
ThrData *thr = fix->get_thr(tid);
|
||||
thr->timer(Timer::START);
|
||||
ev_setup_thr(eflag, vflag, nall, eatom, vatom, nullptr, thr);
|
||||
|
||||
if (evflag) {
|
||||
if (eflag) {
|
||||
if (force->newton_pair) eval<1,1,1>(ifrom, ito, thr);
|
||||
else eval<1,1,0>(ifrom, ito, thr);
|
||||
} else {
|
||||
if (force->newton_pair) eval<1,0,1>(ifrom, ito, thr);
|
||||
else eval<1,0,0>(ifrom, ito, thr);
|
||||
}
|
||||
} else {
|
||||
if (force->newton_pair) eval<0,0,1>(ifrom, ito, thr);
|
||||
else eval<0,0,0>(ifrom, ito, thr);
|
||||
}
|
||||
|
||||
thr->timer(Timer::PAIR);
|
||||
reduce_thr(this, eflag, vflag, thr);
|
||||
} // end of omp parallel region
|
||||
}
|
||||
|
||||
template <int EVFLAG, int EFLAG, int NEWTON_PAIR>
|
||||
void PairMorse2OMP::eval(int iifrom, int iito, ThrData * const thr)
|
||||
{
|
||||
int i,j,ii,jj,jnum,itype,jtype;
|
||||
double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fpair;
|
||||
double rsq,r,dr,dexp,factor_lj;
|
||||
int *ilist,*jlist,*numneigh,**firstneigh;
|
||||
|
||||
evdwl = 0.0;
|
||||
|
||||
const dbl3_t * _noalias const x = (dbl3_t *) atom->x[0];
|
||||
dbl3_t * _noalias const f = (dbl3_t *) thr->get_f()[0];
|
||||
const int * _noalias const type = atom->type;
|
||||
const int nlocal = atom->nlocal;
|
||||
const double * _noalias const special_lj = force->special_lj;
|
||||
double fxtmp,fytmp,fztmp;
|
||||
|
||||
ilist = list->ilist;
|
||||
numneigh = list->numneigh;
|
||||
firstneigh = list->firstneigh;
|
||||
|
||||
// loop over neighbors of my atoms
|
||||
|
||||
for (ii = iifrom; ii < iito; ++ii) {
|
||||
|
||||
i = ilist[ii];
|
||||
xtmp = x[i].x;
|
||||
ytmp = x[i].y;
|
||||
ztmp = x[i].z;
|
||||
itype = type[i];
|
||||
jlist = firstneigh[i];
|
||||
jnum = numneigh[i];
|
||||
fxtmp=fytmp=fztmp=0.0;
|
||||
|
||||
for (jj = 0; jj < jnum; jj++) {
|
||||
j = jlist[jj];
|
||||
factor_lj = special_lj[sbmask(j)];
|
||||
j &= NEIGHMASK;
|
||||
|
||||
delx = xtmp - x[j].x;
|
||||
dely = ytmp - x[j].y;
|
||||
delz = ztmp - x[j].z;
|
||||
rsq = delx*delx + dely*dely + delz*delz;
|
||||
jtype = type[j];
|
||||
|
||||
if (rsq < cutsq[itype][jtype]) {
|
||||
r = sqrt(rsq);
|
||||
dr = r - r0[itype][jtype];
|
||||
dexp = exp(-alpha[itype][jtype] * dr);
|
||||
fpair = factor_lj * morse1[itype][jtype] * (dexp*dexp - dexp) / r;
|
||||
|
||||
fxtmp += delx*fpair;
|
||||
fytmp += dely*fpair;
|
||||
fztmp += delz*fpair;
|
||||
if (NEWTON_PAIR || j < nlocal) {
|
||||
f[j].x -= delx*fpair;
|
||||
f[j].y -= dely*fpair;
|
||||
f[j].z -= delz*fpair;
|
||||
}
|
||||
|
||||
if (EFLAG) {
|
||||
evdwl = d0[itype][jtype] * (dexp*dexp - 2.0*dexp) -
|
||||
offset[itype][jtype];
|
||||
evdwl *= factor_lj;
|
||||
}
|
||||
|
||||
if (EVFLAG) ev_tally_thr(this,i,j,nlocal,NEWTON_PAIR,
|
||||
evdwl,0.0,fpair,delx,dely,delz,thr);
|
||||
}
|
||||
}
|
||||
f[i].x += fxtmp;
|
||||
f[i].y += fytmp;
|
||||
f[i].z += fztmp;
|
||||
}
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
double PairMorse2OMP::memory_usage()
|
||||
{
|
||||
double bytes = memory_usage_thr();
|
||||
bytes += PairMorse2::memory_usage();
|
||||
|
||||
return bytes;
|
||||
}
|
||||
41
examples/plugins/pair_morse2_omp.h
Normal file
41
examples/plugins/pair_morse2_omp.h
Normal file
@ -0,0 +1,41 @@
|
||||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
http://lammps.sandia.gov, Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||
certain rights in this software. This software is distributed under
|
||||
the GNU General Public License.
|
||||
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing author: Axel Kohlmeyer (Temple U)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef LMP_PAIR_MORSE2_OMP_H
|
||||
#define LMP_PAIR_MORSE2_OMP_H
|
||||
|
||||
#include "pair_morse2.h"
|
||||
#include "thr_omp.h"
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
|
||||
class PairMorse2OMP : public PairMorse2, public ThrOMP {
|
||||
|
||||
public:
|
||||
PairMorse2OMP(class LAMMPS *);
|
||||
|
||||
virtual void compute(int, int);
|
||||
virtual double memory_usage();
|
||||
|
||||
private:
|
||||
template <int EVFLAG, int EFLAG, int NEWTON_PAIR>
|
||||
void eval(int ifrom, int ito, ThrData * const thr);
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
247
examples/plugins/pair_zero2.cpp
Normal file
247
examples/plugins/pair_zero2.cpp
Normal file
@ -0,0 +1,247 @@
|
||||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://lammps.sandia.gov/, Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||
certain rights in this software. This software is distributed under
|
||||
the GNU General Public License.
|
||||
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing author: Carsten Svaneborg (SDU)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "pair_zero2.h"
|
||||
|
||||
#include "atom.h"
|
||||
#include "comm.h"
|
||||
#include "memory.h"
|
||||
#include "error.h"
|
||||
|
||||
#include <cstring>
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
PairZero2::PairZero2(LAMMPS *lmp) : Pair(lmp) {
|
||||
coeffflag=1;
|
||||
writedata=1;
|
||||
single_enable=1;
|
||||
respa_enable=1;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
PairZero2::~PairZero2()
|
||||
{
|
||||
if (allocated) {
|
||||
memory->destroy(setflag);
|
||||
memory->destroy(cutsq);
|
||||
memory->destroy(cut);
|
||||
}
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void PairZero2::compute(int eflag, int vflag)
|
||||
{
|
||||
ev_init(eflag,vflag);
|
||||
if (vflag_fdotr) virial_fdotr_compute();
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void PairZero2::compute_outer(int eflag, int vflag)
|
||||
{
|
||||
ev_init(eflag,vflag);
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
allocate all arrays
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairZero2::allocate()
|
||||
{
|
||||
allocated = 1;
|
||||
int n = atom->ntypes;
|
||||
|
||||
memory->create(setflag,n+1,n+1,"pair:setflag");
|
||||
for (int i = 1; i <= n; i++)
|
||||
for (int j = i; j <= n; j++)
|
||||
setflag[i][j] = 0;
|
||||
|
||||
memory->create(cutsq,n+1,n+1,"pair:cutsq");
|
||||
memory->create(cut,n+1,n+1,"pair:cut");
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
global settings
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairZero2::settings(int narg, char **arg)
|
||||
{
|
||||
if ((narg != 1) && (narg != 2))
|
||||
error->all(FLERR,"Illegal pair_style command");
|
||||
|
||||
cut_global = utils::numeric(FLERR,arg[0],false,lmp);
|
||||
if (narg == 2) {
|
||||
if (strcmp("nocoeff",arg[1]) == 0) coeffflag=0;
|
||||
else error->all(FLERR,"Illegal pair_style command");
|
||||
}
|
||||
|
||||
// reset cutoffs that have been explicitly set
|
||||
|
||||
if (allocated) {
|
||||
int i,j;
|
||||
for (i = 1; i <= atom->ntypes; i++)
|
||||
for (j = i+1; j <= atom->ntypes; j++)
|
||||
cut[i][j] = cut_global;
|
||||
}
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
set coeffs for one or more type pairs
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairZero2::coeff(int narg, char **arg)
|
||||
{
|
||||
if ((narg < 2) || (coeffflag && narg > 3))
|
||||
error->all(FLERR,"Incorrect args for pair coefficients");
|
||||
|
||||
if (!allocated) allocate();
|
||||
|
||||
int ilo,ihi,jlo,jhi;
|
||||
utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error);
|
||||
utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error);
|
||||
|
||||
double cut_one = cut_global;
|
||||
if (coeffflag && (narg == 3)) cut_one = utils::numeric(FLERR,arg[2],false,lmp);
|
||||
|
||||
int count = 0;
|
||||
for (int i = ilo; i <= ihi; i++) {
|
||||
for (int j = MAX(jlo,i); j <= jhi; j++) {
|
||||
cut[i][j] = cut_one;
|
||||
setflag[i][j] = 1;
|
||||
count++;
|
||||
}
|
||||
}
|
||||
|
||||
if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients");
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
init for one type pair i,j and corresponding j,i
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
double PairZero2::init_one(int i, int j)
|
||||
{
|
||||
if (setflag[i][j] == 0) {
|
||||
cut[i][j] = mix_distance(cut[i][i],cut[j][j]);
|
||||
}
|
||||
|
||||
return cut[i][j];
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 writes to restart file
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairZero2::write_restart(FILE *fp)
|
||||
{
|
||||
write_restart_settings(fp);
|
||||
|
||||
int i,j;
|
||||
for (i = 1; i <= atom->ntypes; i++)
|
||||
for (j = i; j <= atom->ntypes; j++) {
|
||||
fwrite(&setflag[i][j],sizeof(int),1,fp);
|
||||
if (setflag[i][j]) {
|
||||
fwrite(&cut[i][j],sizeof(double),1,fp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 reads from restart file, bcasts
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairZero2::read_restart(FILE *fp)
|
||||
{
|
||||
read_restart_settings(fp);
|
||||
allocate();
|
||||
|
||||
int i,j;
|
||||
int me = comm->me;
|
||||
for (i = 1; i <= atom->ntypes; i++)
|
||||
for (j = i; j <= atom->ntypes; j++) {
|
||||
if (me == 0) utils::sfread(FLERR,&setflag[i][j],sizeof(int),1,fp,nullptr,error);
|
||||
MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world);
|
||||
if (setflag[i][j]) {
|
||||
if (me == 0) {
|
||||
utils::sfread(FLERR,&cut[i][j],sizeof(double),1,fp,nullptr,error);
|
||||
}
|
||||
MPI_Bcast(&cut[i][j],1,MPI_DOUBLE,0,world);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 writes to restart file
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairZero2::write_restart_settings(FILE *fp)
|
||||
{
|
||||
fwrite(&cut_global,sizeof(double),1,fp);
|
||||
fwrite(&coeffflag,sizeof(int),1,fp);
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 reads from restart file, bcasts
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairZero2::read_restart_settings(FILE *fp)
|
||||
{
|
||||
int me = comm->me;
|
||||
if (me == 0) {
|
||||
utils::sfread(FLERR,&cut_global,sizeof(double),1,fp,nullptr,error);
|
||||
utils::sfread(FLERR,&coeffflag,sizeof(int),1,fp,nullptr,error);
|
||||
}
|
||||
MPI_Bcast(&cut_global,1,MPI_DOUBLE,0,world);
|
||||
MPI_Bcast(&coeffflag,1,MPI_INT,0,world);
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 writes to data file
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairZero2::write_data(FILE *fp)
|
||||
{
|
||||
for (int i = 1; i <= atom->ntypes; i++)
|
||||
fprintf(fp,"%d\n",i);
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 writes all pairs to data file
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairZero2::write_data_all(FILE *fp)
|
||||
{
|
||||
for (int i = 1; i <= atom->ntypes; i++)
|
||||
for (int j = i; j <= atom->ntypes; j++)
|
||||
fprintf(fp,"%d %d %g\n",i,j,cut[i][j]);
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
double PairZero2::single(int /*i*/, int /*j*/, int /* itype */, int /* jtype */,
|
||||
double /* rsq */, double /*factor_coul*/,
|
||||
double /* factor_lj */, double &fforce)
|
||||
{
|
||||
fforce = 0.0;
|
||||
return 0.0;
|
||||
}
|
||||
|
||||
77
examples/plugins/pair_zero2.h
Normal file
77
examples/plugins/pair_zero2.h
Normal file
@ -0,0 +1,77 @@
|
||||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
http://lammps.sandia.gov, Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||
certain rights in this software. This software is distributed under
|
||||
the GNU General Public License.
|
||||
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
|
||||
Pair zero is a dummy pair interaction useful for requiring a
|
||||
force cutoff distance in the absence of pair-interactions or
|
||||
with hybrid/overlay if a larger force cutoff distance is required.
|
||||
|
||||
This can be used in conjunction with bond/create to create bonds
|
||||
that are longer than the cutoff of a given force field, or to
|
||||
calculate radial distribution functions for models without
|
||||
pair interactions.
|
||||
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef LMP_PAIR_ZERO2_H
|
||||
#define LMP_PAIR_ZERO2_H
|
||||
|
||||
#include "pair.h"
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
|
||||
class PairZero2 : public Pair {
|
||||
public:
|
||||
PairZero2(class LAMMPS *);
|
||||
virtual ~PairZero2();
|
||||
virtual void compute(int, int);
|
||||
virtual void compute_outer(int, int);
|
||||
void settings(int, char **);
|
||||
void coeff(int, char **);
|
||||
double init_one(int, int);
|
||||
void write_restart(FILE *);
|
||||
void read_restart(FILE *);
|
||||
void write_restart_settings(FILE *);
|
||||
void read_restart_settings(FILE *);
|
||||
void write_data(FILE *);
|
||||
void write_data_all(FILE *);
|
||||
double single(int, int, int, int, double, double, double, double &);
|
||||
|
||||
protected:
|
||||
double cut_global;
|
||||
double **cut;
|
||||
int coeffflag;
|
||||
|
||||
virtual void allocate();
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/* ERROR/WARNING messages:
|
||||
|
||||
E: Illegal ... command
|
||||
|
||||
Self-explanatory. Check the input script syntax and compare to the
|
||||
documentation for the command. You can use -echo screen as a
|
||||
command-line option when running LAMMPS to see the offending line.
|
||||
|
||||
E: Incorrect args for pair coefficients
|
||||
|
||||
Self-explanatory. Check the input script or data file.
|
||||
|
||||
U: Pair cutoff < Respa interior cutoff
|
||||
|
||||
One or more pairwise cutoffs are too short to use with the specified
|
||||
rRESPA cutoffs.
|
||||
|
||||
*/
|
||||
78
examples/plugins/zero2plugin.cpp
Normal file
78
examples/plugins/zero2plugin.cpp
Normal file
@ -0,0 +1,78 @@
|
||||
|
||||
#include "lammpsplugin.h"
|
||||
#include "version.h"
|
||||
|
||||
#include <cstring>
|
||||
|
||||
#include "pair_zero2.h"
|
||||
#include "bond_zero2.h"
|
||||
#include "angle_zero2.h"
|
||||
#include "dihedral_zero2.h"
|
||||
#include "improper_zero2.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
|
||||
static Pair *pairzerocreator(LAMMPS *lmp)
|
||||
{
|
||||
return new PairZero2(lmp);
|
||||
}
|
||||
|
||||
static Bond *bondzerocreator(LAMMPS *lmp)
|
||||
{
|
||||
return new BondZero2(lmp);
|
||||
}
|
||||
|
||||
static Angle *anglezerocreator(LAMMPS *lmp)
|
||||
{
|
||||
return new AngleZero2(lmp);
|
||||
}
|
||||
|
||||
static Dihedral *dihedralzerocreator(LAMMPS *lmp)
|
||||
{
|
||||
return new DihedralZero2(lmp);
|
||||
}
|
||||
|
||||
static Improper *improperzerocreator(LAMMPS *lmp)
|
||||
{
|
||||
return new ImproperZero2(lmp);
|
||||
}
|
||||
|
||||
extern "C" void lammpsplugin_init(void *lmp, void *handle, void *regfunc)
|
||||
{
|
||||
lammpsplugin_t plugin;
|
||||
lammpsplugin_regfunc register_plugin = (lammpsplugin_regfunc) regfunc;
|
||||
|
||||
// register zero2 pair style
|
||||
plugin.version = LAMMPS_VERSION;
|
||||
plugin.style = "pair";
|
||||
plugin.name = "zero2";
|
||||
plugin.info = "Zero2 variant pair style v1.0";
|
||||
plugin.author = "Axel Kohlmeyer (akohlmey@gmail.com)";
|
||||
plugin.creator.v1 = (lammpsplugin_factory1 *) &pairzerocreator;
|
||||
plugin.handle = handle;
|
||||
(*register_plugin)(&plugin,lmp);
|
||||
|
||||
// register zero2 bond style
|
||||
plugin.style = "bond";
|
||||
plugin.info = "Zero2 variant bond style v1.0";
|
||||
plugin.creator.v1 = (lammpsplugin_factory1 *) &bondzerocreator;
|
||||
(*register_plugin)(&plugin,lmp);
|
||||
|
||||
// register zero2 angle style
|
||||
plugin.style = "angle";
|
||||
plugin.info = "Zero2 variant angle style v1.0";
|
||||
plugin.creator.v1 = (lammpsplugin_factory1 *) &anglezerocreator;
|
||||
(*register_plugin)(&plugin,lmp);
|
||||
|
||||
// register zero2 dihedral style
|
||||
plugin.style = "dihedral";
|
||||
plugin.info = "Zero2 variant dihedral style v1.0";
|
||||
plugin.creator.v1 = (lammpsplugin_factory1 *) &dihedralzerocreator;
|
||||
(*register_plugin)(&plugin,lmp);
|
||||
|
||||
// register zero2 improper style
|
||||
plugin.style = "improper";
|
||||
plugin.info = "Zero2 variant improper style v1.0";
|
||||
plugin.creator.v1 = (lammpsplugin_factory1 *) &improperzerocreator;
|
||||
(*register_plugin)(&plugin,lmp);
|
||||
}
|
||||
Reference in New Issue
Block a user