USER-DPD: Added support to use VV integrator with USER-DPD if desired.

Includes documentation and examples.
NOTE: VV requires very small timesteps under isoenergetic conditions.
Consider using fix_shardlow instead, since this VV support is
primarily for comparison purposes.
This commit is contained in:
Tim Mattox 2016-10-07 14:52:23 -04:00
parent e9fed80928
commit e27ed6c94a
23 changed files with 41546 additions and 80 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -1,9 +0,0 @@
\documentclass[12pt]{article}
\pagestyle{empty}
\begin{document}
$$
F^C = A \omega_{ij} \qquad \qquad r_{ij} < r_c
$$
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

View File

@ -0,0 +1,12 @@
\documentclass[12pt]{article}
\pagestyle{empty}
\begin{document}
\begin{eqnarray*}
du_{i}^{cond} & = & \kappa_{ij}(\frac{1}{\theta_{i}}-\frac{1}{\theta_{j}})\omega_{ij}^{2} + \alpha_{ij}\omega_{ij}\zeta_{ij}^{q}(\Delta{t})^{-1/2} \\
du_{i}^{mech} & = & -\frac{1}{2}\gamma_{ij}\omega_{ij}^{2}(\frac{\vec{r_{ij}}}{r_{ij}}\bullet\vec{v_{ij}})^{2} -
\frac{\sigma^{2}_{ij}}{4}(\frac{1}{m_{i}}+\frac{1}{m_{j}})\omega_{ij}^{2} -
\frac{1}{2}\sigma_{ij}\omega_{ij}(\frac{\vec{r_{ij}}}{r_{ij}}\bullet\vec{v_{ij}})\zeta_{ij}(\Delta{t})^{-1/2} \\
\end{eqnarray*}
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

View File

@ -0,0 +1,11 @@
\documentclass[12pt]{article}
\pagestyle{empty}
\begin{document}
\begin{eqnarray*}
\alpha_{ij}^{2} & = & 2k_{B}\kappa_{ij} \\
\sigma^{2}_{ij} & = & 2\gamma_{ij}k_{B}\Theta_{ij} \\
\Theta_{ij}^{-1} & = & \frac{1}{2}(\frac{1}{\theta_{i}}+\frac{1}{\theta_{j}}) \\
\end{eqnarray*}
\end{document}

View File

@ -0,0 +1,83 @@
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Section_commands.html#comm)
:line
fix dpd/energy command :h3
[Syntax:]
fix ID group-ID dpd/energy :pre
ID, group-ID are documented in "fix"_fix.html command
dpd/energy = style name of this fix command :ul
[Examples:]
fix 1 all dpd/energy :pre
[Description:]
Perform constant energy dissipative particle dynamics (DPD-E) integration.
The fix {dpd/energy} updates the internal energies for particles in the group
at each timestep. The fix {dpd/energy} must be used in conjunction with a
deterministic integrator (e.g. "fix nve"_fix_nve.html) that updates
the particle positions and velocities.
For fix {dpd/energy}, the particle internal temperature is related to
the particle internal energy through a mesoparticle equation of state.
An additional fix must be specified that defines the equation of state
for each particle, e.g. "fix eos/cv"_fix_eos_cv.html.
The fix {dpd/energy} must be used with the "pair_style
dpd/fdt/energy"_pair_style.html command.
Note that numerous variants of DPD can be specified by choosing an
appropriate combination of the integrator and "pair_style
dpd/fdt/energy"_pair_style.html command. DPD under isoenergetic conditions
can be specified by using fix {dpd/energy}, fix {nve} and pair_style
{dpd/fdt/energy}. DPD under isoenthalpic conditions can
be specified by using fix {dpd/energy}, fix {nph} and pair_style
{dpd/fdt/energy}. Examples of each DPD variant are provided in the
examples/USER/dpd directory.
:line
[Restrictions:]
This command is part of the USER-DPD package. It is only enabled if
LAMMPS was built with that package. See the "Making
LAMMPS"_Section_start.html#start_3 section for more info.
This fix must be used with an additional fix that specifies time
integration, e.g. "fix nve"_fix_nve.html.
The fix {dpd/energy} requires the {dpd} "atom_style"_atom_style.html
to be used in order to properly account for the particle internal
energies and temperature.
The fix {dpd/energy} must be used with an additional fix that specifies the
mesoparticle equation of state for each particle.
[Related commands:]
"fix nve"_fix_nve.html "fix eos/cv"_fix_eos_cv.html
[Default:] none
:line
:link(Lisal)
[(Lisal)] M. Lisal, J.K. Brennan, J. Bonet Avalos, "Dissipative
particle dynamics at isothermal, isobaric, isoenergetic, and
isoenthalpic conditions using Shardlow-like splitting algorithms.",
J. Chem. Phys., 135, 204105 (2011).
:link(Larentzos)
[(Larentzos)] J.P. Larentzos, J.K. Brennan, J.D. Moore, and
W.D. Mattson, "LAMMPS Implementation of Constant Energy Dissipative
Particle Dynamics (DPD-E)", ARL-TR-6863, U.S. Army Research
Laboratory, Aberdeen Proving Ground, MD (2014).

View File

@ -33,78 +33,95 @@ pair_coeff * * 3.0 1.0 0.1 2.5 :pre
[Description:]
Styles {dpd/fdt} and {dpd/fdt/energy} set the fluctuation-dissipation
theorem parameters and compute the conservative force for dissipative
particle dynamics (DPD). The conservative force on atom I due to atom
J is given by
Styles {dpd/fdt} and {dpd/fdt/energy} compute the force for dissipative
particle dynamics (DPD) simulations. The {dpd/fdt} style is used to
perform DPD simulations under isothermal and isobaric conditions,
while the {dpd/fdt/energy} style is used to perform DPD simulations
under isoenergetic and isoenthalpic conditions (see "(Lisal)"_#Lisal).
For DPD simulations in general, the force on atom I due to atom J is
given as a sum of 3 terms
:c,image(Eqs/pair_dpd_conservative.jpg)
:c,image(Eqs/pair_dpd.jpg)
where the weighting factor, omega_ij, varies between 0 and 1, and is
chosen to have the following functional form:
where Fc is a conservative force, Fd is a dissipative force, and Fr is
a random force. Rij is a unit vector in the direction Ri - Rj, Vij is
the vector difference in velocities of the two atoms = Vi - Vj, alpha
is a Gaussian random number with zero mean and unit variance, dt is
the timestep size, and w(r) is a weighting factor that varies between
0 and 1. Rc is the cutoff. The weighting factor, omega_ij, varies
between 0 and 1, and is chosen to have the following functional form:
:c,image(Eqs/pair_dpd_omega.jpg)
where Rij is a unit vector in the direction Ri - Rj, and Rc is the
cutoff. Note that alternative definitions of the weighting function
exist, but would have to be implemented as a separate pair style
command.
Note that alternative definitions of the weighting function exist, but
would have to be implemented as a separate pair style command.
These pair style differ from the other dpd styles in that the
dissipative and random forces are not computed within the pair style.
This style can be combined with the "fix shardlow"_fix_shardlow.html
to perform the stochastic integration of the dissipative and random
forces through the Shardlow splitting algorithm approach.
For style {dpd/fdt}, the fluctuation-dissipation theorem defines gamma
to be set equal to sigma*sigma/(2 T), where T is the set point
temperature specified as a pair style parameter in the above examples.
The following coefficients must be defined for each pair of atoms types
via the "pair_coeff"_pair_coeff.html command as in the examples above,
or in the data file or restart files read by the
"read_data"_read_data.html or "read_restart"_read_restart.html commands:
A (force units)
sigma (force*time^(1/2) units)
cutoff (distance units) :ul
The last coefficient is optional. If not specified, the global DPD
cutoff is used.
Style {dpd/fdt/energy} is used to perform DPD simulations
under isoenergetic and isoenthalpic conditions. The fluctuation-dissipation
theorem defines gamma to be set equal to sigma*sigma/(2 dpdTheta), where
dpdTheta is the average internal temperature for the pair. The particle
internal temperature is related to the particle internal energy through
a mesoparticle equation of state (see "fix eos"_fix.html). The
differential internal conductive and mechanical energies are computed
within style {dpd/fdt/energy} as:
:c,image(Eqs/pair_dpd_energy.jpg)
where
:c,image(Eqs/pair_dpd_energy_terms.jpg)
Zeta_ij^q is a second Gaussian random number with zero mean and unit
variance that is used to compute the internal conductive energy. The
fluctuation-dissipation theorem defines alpha*alpha to be set
equal to 2*kB*kappa, where kappa is the mesoparticle thermal
conductivity parameter. The following coefficients must be defined for
each pair of atoms types via the "pair_coeff"_pair_coeff.html
command as in the examples above, or in the data file or restart files
read by the "read_data"_read_data.html or "read_restart"_read_restart.html
commands:
A (force units)
sigma (force*time^(1/2) units)
kappa (energy*temperature/time units)
cutoff (distance units) :ul
The last coefficient is optional. If not specified, the global DPD
cutoff is used.
The pairwise energy associated with styles {dpd/fdt} and
{dpd/fdt/energy} is only due to the conservative force term Fc, and is
shifted to be zero at the cutoff distance Rc. The pairwise virial is
calculated using only the conservative term.
For style {dpd/fdt}, the fluctuation-dissipation theorem defines gamma
to be set equal to sigma*sigma/(2 T), where T is the set point
temperature specified as a pair style parameter in the above examples.
This style can be combined with "fix shardlow"_fix_shardlow.html to
perform DPD simulations under isothermal and isobaric conditions (see
"(Lisal)"_#Lisal). The following coefficients must be defined for
each pair of atoms types via the "pair_coeff"_pair_coeff.html command
as in the examples above, or in the data file or restart files read by
the "read_data"_read_data.html or "read_restart"_read_restart.html
commands:
A (force units)
sigma (force*time^(1/2) units)
cutoff (distance units) :ul
The last coefficient is optional. If not specified, the global DPD
cutoff is used.
For style {dpd/fdt/energy}, the fluctuation-dissipation theorem
defines gamma to be set equal to sigma*sigma/(2 dpdTheta), where
dpdTheta is the average internal temperature for the pair.
Furthermore, the fluctuation-dissipation defines alpha*alpha to be set
equal to 2*kB*kappa, where kappa is the mesoparticle thermal
conductivity parameter. This style can be combined with "fix
shardlow"_fix_shardlow.html to perform DPD simulations under
isoenergetic and isoenthalpic conditions (see "(Lisal)"_#Lisal). The
following coefficients must be defined for each pair of atoms types
via the "pair_coeff"_pair_coeff.html command as in the examples above,
or in the data file or restart files read by the
"read_data"_read_data.html or "read_restart"_read_restart.html
commands:
A (force units)
sigma (force*time^(1/2) units)
kappa (1/time units)
cutoff (distance units) :ul
The last coefficient is optional. If not specified, the global DPD
cutoff is used.
For style {dpd/fdt/energy}, the particle internal temperature is
related to the particle internal energy through a mesoparticle
equation of state. Thus, an an additional "fix eos"_fix.html must be
specified.
The forces computed through the {dpd/fdt} and {dpd/fdt/energy} styles
can be integrated with the velocity-Verlet integration scheme or the
Shardlow splitting integration scheme described by "(Lisal)"_#Lisal.
In the cases when these pair styles are combined with the
"fix shardlow"_fix_shardlow.html, these pair styles differ from the
other dpd styles in that the dissipative and random forces are split
from the force calculation and are not computed within the pair style.
Thus, only the conservative force is computed by the pair style,
while the stochastic integration of the dissipative and random forces
are handled through the Shardlow splitting algorithm approach. The
Shardlow splitting algorithm is advantageous, especially when
performing DPD under isoenergetic conditions, as it allows
significantly larger timesteps to be taken.
:line
@ -115,7 +132,7 @@ enabled if LAMMPS was built with that package. See the "Making
LAMMPS"_Section_start.html#start_3 section for more info.
Pair styles {dpd/fdt} and {dpd/fdt/energy} require use of the
"comm_modify vel yes"_comm_modify.html option so that velocites are
"communicate vel yes"_communicate.html option so that velocites are
stored by ghost atoms.
Pair style {dpd/fdt/energy} requires "atom_style dpd"_atom_style.html
@ -132,6 +149,6 @@ energies and temperatures.
:link(Lisal)
[(Lisal)] M. Lisal, J.K. Brennan, J. Bonet Avalos, "Dissipative
particle dynamics as isothermal, isobaric, isoenergetic, and
particle dynamics at isothermal, isobaric, isoenergetic, and
isoenthalpic conditions using Shardlow-like splitting algorithms.",
J. Chem. Phys., 135, 204105 (2011).

View File

@ -1,9 +1,11 @@
This directory contains input files for DPD simulations under
isothermal, isoenergetic, isobaric and isoenthalpic conditions. In
addition, there is also an example for a reaction DPD simulation under
isoenergetic conditions. All the DPD scenarios use the Shardlow
splitting algorithm to integrate the equations of motion. The compute
dpd command is used in the isoenergetic and isenthalpic case to
isoenergetic conditions. All the DPD scenarios that are named with
*-shardlow use the Shardlow splitting algorithm to integrate the
equations of motion. All the DPD scenarious that are named with
*-vv utilize the velocity-Verlet integration scheme. The compute dpd
command is used in the isoenergetic and isenthalpic case to
demonstrate how one can access the particle internal energies.

View File

@ -24,4 +24,4 @@ thermo_modify format float %15.10f
fix 1 all shardlow
fix 2 all nve
run 100
run 100

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,29 @@
# INPUT FILE FOR DPD_Fluid
log log.dpd.vv
boundary p p p
units metal # ev, ps
atom_style dpd # atomic atom style can also be used
read_data data.dpd
comm_modify mode single vel yes
mass 1 125.9
pair_style dpd/fdt 300.0 8.6 245455
pair_coeff 1 1 0.075 0.022 8.60
neighbor 2.0 bin
neigh_modify every 1 delay 0 check no once no
timestep 0.001
fix 2 all nve
variable totEnergy equal pe+ke
thermo 10
thermo_style custom step temp press pe ke v_totEnergy
thermo_modify format float %24.16f
run 1000

View File

@ -0,0 +1,169 @@
boundary p p p
units metal # ev, ps
atom_style dpd # atomic atom style can also be used
read_data data.dpd
orthogonal box = (-64.5 -64.5 -64.5) to (64.5 64.5 64.5)
1 by 1 by 1 MPI processor grid
reading atoms ...
10125 atoms
reading velocities ...
10125 velocities
comm_modify mode single vel yes
mass 1 125.9
pair_style dpd/fdt 300.0 8.6 245455
pair_coeff 1 1 0.075 0.022 8.60
neighbor 2.0 bin
neigh_modify every 1 delay 0 check no once no
timestep 0.001
fix 2 all nve
variable totEnergy equal pe+ke
thermo 10
thermo_style custom step temp press pe ke v_totEnergy
thermo_modify format float %24.16f
run 1000
Neighbor list info ...
1 neighbor list requests
update every 1 steps, delay 0 steps, check no
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 10.6
ghost atom cutoff = 10.6
binsize = 5.3 -> bins = 25 25 25
Memory usage per processor = 3.36353 Mbytes
Step Temp Press PotEng KinEng totEnerg
0 301.4391322267262012 1549.5478087303101802 1188.6488072196075336 394.4722035796053206 1583.1210107992128542
10 301.1781716844517973 1472.5220704074258720 1188.7073118945891110 394.1307028613744592 1582.8380147559637408
20 301.3348035346626830 1561.5334938481944391 1188.7674931713575006 394.3356759537762741 1583.1031691251339453
30 301.2401656988171226 1589.1590400358697934 1188.8329522652118158 394.2118300702898637 1583.0447823355016226
40 301.2467282647567686 1612.7005954259229838 1188.8998661625835211 394.2204180390390889 1583.1202842016225532
50 301.3868530330685758 1538.2867560691227027 1188.9661306187103946 394.4037894736757153 1583.3699200923861099
60 301.2473566745931635 1442.8478446697063191 1189.0327863162422091 394.2212403948197448 1583.2540267110618970
70 301.3817325834245366 1449.9468021148040862 1189.0958917710288461 394.3970887011532795 1583.4929804721821256
80 301.6350661579101597 1528.7144337987856488 1189.1603115791012897 394.7286085427539319 1583.8889201218553353
90 301.1547075640817752 1512.1770835959391661 1189.2223449446209997 394.0999970163866237 1583.3223419610076235
100 301.1746038085076407 1564.5706067669630102 1189.2844219062417324 394.1260338329195747 1583.4104557391613071
110 301.2018622721547558 1515.4879381876478419 1189.3504251156646205 394.1617050682420427 1583.5121301839067200
120 301.0009801124808746 1557.0329613835108375 1189.4208319594404202 393.8988247062896448 1583.3196566657300082
130 301.0638502637480087 1548.3634383875801177 1189.4951157625748692 393.9810984539830088 1583.4762142165579917
140 301.0311113459680428 1495.2262845183092850 1189.5675481417181345 393.9382553335690318 1583.5058034752871663
150 300.8177209477242968 1428.8898919254606881 1189.6378084330842739 393.6590063190295723 1583.2968147521139599
160 300.8119775481492866 1570.2720283468345315 1189.7083716809170255 393.6514903357208937 1583.3598620166380897
170 300.9335106840651406 1557.4332901198356467 1189.7769958158935424 393.8105322078843642 1583.5875280237778497
180 300.5874591455081486 1520.5298514112478188 1189.8453389121093551 393.3576788840364884 1583.2030177961460140
190 300.4011803057076122 1519.7398182018555417 1189.9061296006261728 393.1139088603054574 1583.0200384609315734
200 300.2169140033788608 1458.2437505784371297 1189.9657655046762557 392.8727725028984423 1582.8385380075746980
210 300.2545970072605428 1496.2729155341944534 1190.0262935280243255 392.9220856012639729 1582.9483791292882415
220 300.3703364838469838 1606.0230144299584936 1190.0833027226285594 393.0735457187110455 1583.1568484413396618
230 300.2033407044385172 1459.9549740461752663 1190.1416131684939046 392.8550100806698424 1582.9966232491638038
240 300.4842762279440080 1670.3474276721599381 1190.2009109755038025 393.2226506527560446 1583.4235616282599040
250 300.2564573977282976 1557.2460328592983387 1190.2596238049020485 392.9245201634984710 1583.1841439684005763
260 300.0449762246657883 1505.0192578442329250 1190.3199416408035631 392.6477696177504413 1582.9677112585541181
270 300.0116460395993840 1509.1981340752874985 1190.3755696034054381 392.6041527474000645 1582.9797223508055595
280 300.3512486599616977 1518.9752783067149267 1190.4261072017084189 393.0485668253140261 1583.4746740270225018
290 300.3552418223666791 1555.5638176571371787 1190.4711084084599406 393.0537923962659761 1583.5249008047260304
300 300.1459940856701678 1599.6176002364270516 1190.5119834703857578 392.7799645916973645 1583.2919480620830655
310 300.0728060417839629 1641.1130631848700432 1190.5527862243702657 392.6841885431988999 1583.2369747675693361
320 300.2437004299285945 1480.0125150324997776 1190.5921170370866093 392.9078260164520771 1583.4999430535385727
330 300.0598571495680176 1558.1995284077859196 1190.6308838646666572 392.6672432381596991 1583.2981271028263563
340 300.2932457229409806 1504.8291140224341689 1190.6648789420764842 392.9726624587786432 1583.6375414008552980
350 300.0508025680157402 1578.6970748006153826 1190.6930603315840926 392.6553941437470598 1583.3484544753312093
360 300.2273424995200344 1514.2714360556169595 1190.7166098654090547 392.8864195427583468 1583.6030294081674583
370 300.1967941947076497 1511.8859175802710979 1190.7410406890940067 392.8464431235524330 1583.5874838126464965
380 300.4506922864080138 1551.8880937733538303 1190.7641303867110310 393.1787017091509711 1583.9428320958620588
390 300.6154615731483091 1491.6540598720953312 1190.7833472426700610 393.3943236927419775 1584.1776709354121522
400 300.4131888226039564 1518.2806993851895641 1190.8000216950692902 393.1296235622648396 1583.9296452573341867
410 300.2164206099615740 1492.4202869919267869 1190.8161806634459481 392.8721268336148569 1583.6883074970608050
420 299.9241651579524728 1437.1178040001384488 1190.8321211036075056 392.4896726667966504 1583.3217937704041560
430 300.1750324308378026 1592.1759851574147433 1190.8470728579757179 392.8179650328543175 1583.6650378908300354
440 300.3203232687658897 1610.5956304714243288 1190.8532393510406564 393.0080969396643127 1583.8613362907049122
450 300.3593377128640896 1514.2015724302684703 1190.8519495611074035 393.0591524002515484 1583.9111019613590088
460 300.2776675433439664 1593.6798981330246079 1190.8459747756926390 392.9522763901617282 1583.7982511658544809
470 299.8777606563146492 1525.3321416074670651 1190.8391264353911083 392.4289463573693979 1583.2680727927604494
480 300.0893325105251392 1577.2512023261501781 1190.8279401949505427 392.7058155711616223 1583.5337557661123356
490 299.7991035093193659 1480.4333732192587831 1190.8067847458823962 392.3260132780663980 1583.1327980239489079
500 299.9677949259065599 1495.0278787582676614 1190.7825410253908558 392.5467678772936324 1583.3293089026844882
510 300.0900811274785838 1639.6696686241484713 1190.7573430643649317 392.7067952335468135 1583.4641382979116315
520 299.9891246673826686 1600.2278532870618619 1190.7251960532680641 392.5746806106528197 1583.2998766639209407
530 300.1603400289337742 1539.5535066502893642 1190.6928984528917681 392.7987381192411362 1583.4916365721328475
540 300.3076269358371064 1595.8675994337206703 1190.6566703473422422 392.9914821412112929 1583.6481524885534782
550 300.4698674068501418 1466.7075904710538907 1190.6131481694715148 393.2037948414156290 1583.8169430108871438
560 300.7206981383459947 1630.2609903270983978 1190.5710873654240913 393.5320393883254724 1584.1031267537496205
570 300.8610815763000801 1556.2884022342934713 1190.5267109994711063 393.7157493257405463 1584.2424603252115958
580 300.8964633483230955 1554.3498972944150864 1190.4812222884629591 393.7620509637308146 1584.2432732521938306
590 300.9107621433564077 1547.4258400009293837 1190.4362818919200890 393.7807627916997149 1584.2170446836198607
600 301.3417451159045868 1536.4134563739632995 1190.3902887741264749 394.3447599132098276 1584.7350486873363025
610 301.6508989111560481 1593.7194612348321243 1190.3421610929228791 394.7493277540106646 1585.0914888469335438
620 301.5698128071562110 1576.1181463329294274 1190.2920606752038566 394.6432160694121194 1584.9352767446159760
630 301.3274041972170494 1509.2272524137167693 1190.2374741364671991 394.3259929609755545 1584.5634670974427536
640 301.3505920687090338 1592.1600851563937340 1190.1794204537056885 394.3563372984747843 1584.5357577521804160
650 301.5804461741747673 1544.9875554279788048 1190.1204065811846249 394.6571312093884103 1584.7775377905732057
660 301.3626783799006716 1580.4147481776246877 1190.0589205400190167 394.3721538043600958 1584.4310743443791125
670 301.3027587470089657 1570.9258836881758725 1189.9974183012857338 394.2937411926667437 1584.2911594939523638
680 301.1174106753824162 1503.7441951732278085 1189.9385560058665305 394.0511891998194187 1583.9897452056859493
690 301.1637317889510541 1485.4239754399382036 1189.8822999581352633 394.1118063851420743 1583.9941063432772808
700 300.7577284964789897 1497.3081311764262864 1189.8265818908062101 393.5804984150753967 1583.4070803058816637
710 300.7582337772330447 1443.2789996571227675 1189.7722579196474726 393.5811596404810757 1583.3534175601284915
720 300.7789291839181942 1480.1771366249440689 1189.7219401607019336 393.6082422644879557 1583.3301824251898324
730 300.2392032164640909 1573.9469162403477185 1189.6722050348257653 392.9019408293092965 1582.5741458641350619
740 300.1498721141535952 1495.8935024851589333 1189.6232009109410228 392.7850394949791735 1582.4082404059201963
750 299.7668955745961625 1587.0579224766738662 1189.5725329834669992 392.2838650178549074 1581.8563980013218497
760 300.1701246080039596 1476.2647356200668582 1189.5185800849983480 392.8115425100924085 1582.3301225950908702
770 300.0596917060458395 1476.9822776185715156 1189.4588693098098702 392.6670267338515714 1582.1258960436614416
780 300.0000978359947794 1656.0447969129154444 1189.3974011035750209 392.5890404250892516 1581.9864415286642725
790 299.8879395255003146 1498.3733949813802155 1189.3295612656791036 392.4422667279793586 1581.7718279936584622
800 299.5399296208984765 1536.5356907957773274 1189.2608026516977588 391.9868506281461009 1581.2476532798439166
810 299.7477702176124694 1527.7843172708692236 1189.1905997605733774 392.2588370075303601 1581.4494367681036238
820 299.6526441282849760 1520.2339634236541315 1189.1179282568584767 392.1343521810324546 1581.2522804378909314
830 299.7117040573266991 1519.3977355174736203 1189.0462571599487092 392.2116397587276424 1581.2578969186763516
840 299.8248393061855950 1492.9872520312876532 1188.9746922447459383 392.3596919064040662 1581.3343841511500614
850 299.8949042735604849 1548.8768511646296702 1188.9003206285556189 392.4513810041995043 1581.3517016327550664
860 299.8659753723545691 1612.8888123513652317 1188.8228698817265467 392.4135237846622317 1581.2363936663887216
870 299.4869644032466454 1501.1368986196648621 1188.7463971708889403 391.9175387708373250 1580.6639359417263222
880 299.4723145868707093 1610.5504771450550834 1188.6685353091816069 391.8983675859113305 1580.5669028950928805
890 299.4069994806968111 1463.6021272210502957 1188.5912631304524893 391.8128942975922655 1580.4041574280447549
900 299.3089704777128759 1566.2168185333537167 1188.5136206415772904 391.6846106320438139 1580.1982312736211043
910 299.5247041888713966 1495.6606753393346025 1188.4345654328315049 391.9669261754786476 1580.4014916083101525
920 298.9408951189174104 1640.3193219922034132 1188.3550783333539584 391.2029362827486807 1579.5580146161025823
930 299.1796032826328542 1446.8716230397401432 1188.2706215145833539 391.5153168773240964 1579.7859383919073935
940 299.3701987753102571 1492.9872751566520037 1188.1849188108451472 391.7647358012488326 1579.9496546120940366
950 299.2072786172182077 1562.8791943561946027 1188.0966113636370665 391.5515336423407575 1579.6481450059777671
960 299.3656085727831169 1560.6583667351628719 1188.0078929542075912 391.7587289258561327 1579.7666218800636670
970 299.3550703551497350 1470.6811691697564584 1187.9234716336211477 391.7449383011919508 1579.6684099348130985
980 299.3253482475715259 1439.7552468745359420 1187.8461953635626287 391.7060430682313381 1579.5522384317939668
990 299.5720628053321093 1537.8753917835113043 1187.7698518865311144 392.0289010679079524 1579.7987529544391236
1000 299.6565043425953832 1587.6003924664994429 1187.6939067472808347 392.1394037721581753 1579.8333105194390100
Loop time of 10.6177 on 1 procs for 1000 steps with 10125 atoms
Performance: 8.137 ns/day, 2.949 hours/ns, 94.182 timesteps/s
100.0% CPU use with 1 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 3.7217 | 3.7217 | 3.7217 | 0.0 | 35.05
Neigh | 6.377 | 6.377 | 6.377 | 0.0 | 60.06
Comm | 0.37065 | 0.37065 | 0.37065 | 0.0 | 3.49
Output | 0.0035086 | 0.0035086 | 0.0035086 | 0.0 | 0.03
Modify | 0.094853 | 0.094853 | 0.094853 | 0.0 | 0.89
Other | | 0.05005 | | | 0.47
Nlocal: 10125 ave 10125 max 10125 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 5827 ave 5827 max 5827 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 114808 ave 114808 max 114808 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 114808
Ave neighs/atom = 11.3391
Neighbor list builds = 1000
Dangerous builds not checked
Total wall time: 0:00:10

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,33 @@
# INPUT FILE FOR DPD_Fluid
log log.dpde.vv
boundary p p p
units metal # ev, ps
atom_style dpd
read_data data.dpd
comm_modify mode single vel yes
mass 1 125.9
pair_style dpd/fdt/energy 8.6 245455
pair_coeff 1 1 0.075 0.022 3.2E-05 8.60
neighbor 2.0 bin
neigh_modify every 1 delay 0 check no once no
timestep 0.001
fix 1 all dpd/energy
fix 2 all nve
fix 3 all eos/cv 0.00517041
compute dpdU all dpd
variable totEnergy equal pe+ke+c_dpdU[1]+c_dpdU[2]
thermo 10
thermo_style custom step temp press pe ke c_dpdU[1] c_dpdU[2] v_totEnergy c_dpdU[4]
thermo_modify format float %24.16f
run 1000

View File

@ -0,0 +1,173 @@
boundary p p p
units metal # ev, ps
atom_style dpd
read_data data.dpd
orthogonal box = (-64.5 -64.5 -64.5) to (64.5 64.5 64.5)
1 by 1 by 1 MPI processor grid
reading atoms ...
10125 atoms
reading velocities ...
10125 velocities
comm_modify mode single vel yes
mass 1 125.9
pair_style dpd/fdt/energy 8.6 245455
pair_coeff 1 1 0.075 0.022 3.2E-05 8.60
neighbor 2.0 bin
neigh_modify every 1 delay 0 check no once no
timestep 0.001
fix 1 all dpd/energy
fix 2 all nve
fix 3 all eos/cv 0.00517041
compute dpdU all dpd
variable totEnergy equal pe+ke+c_dpdU[1]+c_dpdU[2]
thermo 10
thermo_style custom step temp press pe ke c_dpdU[1] c_dpdU[2] v_totEnergy c_dpdU[4]
thermo_modify format float %24.16f
run 1000
Neighbor list info ...
1 neighbor list requests
update every 1 steps, delay 0 steps, check no
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 10.6
ghost atom cutoff = 10.6
binsize = 5.3 -> bins = 25 25 25
Memory usage per processor = 3.36353 Mbytes
Step Temp Press PotEng KinEng dpdU[1] dpdU[2] totEnerg dpdU[4]
0 301.4391322267262012 1636.1776395935087294 1188.6488072196075336 394.4722035796053206 7852.5601874986105031 7852.5601874986105031 17288.2413857964347699 299.9999999999841407
10 301.4791572483523510 1486.4422375141180055 1188.7147620806101713 394.5245815119678241 7852.5601874999802021 7852.3731942333779443 17288.1727253259377903 299.9960221120699089
20 301.4275643919337426 1677.9356110821624952 1188.7839634625399867 394.4570655673388728 7852.5601874999938445 7852.3711851933012440 17288.1724017231754260 299.9955485734552099
30 301.2240988054542186 1452.7304951528913080 1188.8550809767796181 394.1908044563202225 7852.5601875000002110 7852.5679666239848302 17288.1740395570850524 299.9988968405210130
40 301.1023506886409109 1527.9758363521398223 1188.9264527568634549 394.0314812537677085 7852.5601874999947540 7852.6574764573806533 17288.1755979680056043 300.0001694462812338
50 301.0409654880461972 1597.1737251233491861 1188.9944523606984603 393.9511507566391515 7852.5601875000029395 7852.6700547249911324 17288.1758453423317405 299.9999653064982681
60 301.2904978886139133 1610.8630327676821707 1189.0651026961211301 394.2776962691256131 7852.5601874999829306 7852.2734988976435488 17288.1764853628737910 299.9919857290491905
70 300.8575037843164068 1489.3259312130885519 1189.1295686642288274 393.7110673208617300 7852.5601874999856591 7852.7707182199101226 17288.1715417049854295 300.0010992278233743
80 300.5955830326474825 1449.3896097889601151 1189.1880764967559116 393.3683100440913449 7852.5601875000411383 7853.0484238882281716 17288.1649979291178170 300.0059513551503301
90 301.0092332775843147 1553.9266324350323885 1189.2470037925056658 393.9096250433288446 7852.5601875000420478 7852.4452067113825251 17288.1620230472581170 299.9940347326859182
100 301.0478004479094238 1539.2270336322208095 1189.3010269201699884 393.9600951881690207 7852.5601875000074870 7852.3416236045995902 17288.1629332129450631 299.9916385566916119
110 300.9609384905551224 1500.0429484565033817 1189.3524514939088021 393.8464250502818800 7852.5601874999983920 7852.4114980357189779 17288.1705620799075405 299.9925626482005327
120 300.9625536631413070 1630.5065919443020448 1189.4006029528841282 393.8485387131116795 7852.5601875000575092 7852.3600810123671181 17288.1694101784196391 299.9911580775880680
130 301.0373750247309204 1539.2267307640177023 1189.4426173625224692 393.9464521696793895 7852.5601874999993015 7852.2178388309775983 17288.1670958631802932 299.9879581026651181
140 300.7465104415114183 1550.8353679735098467 1189.4887352230998658 393.5658181350790983 7852.5601874999920256 7852.5559582333216895 17288.1706990914935886 299.9939749909034958
150 300.6667173911142186 1634.8987162883261135 1189.5368575067818711 393.4613985788390096 7852.5601874999920256 7852.6079668015609059 17288.1664103871735279 299.9946423938895350
160 300.4684731724561289 1462.9400882126756187 1189.5825022927965620 393.2019703048677002 7852.5601874999847496 7852.8265187980177870 17288.1711788956672535 299.9983600613423960
170 300.1439323338467489 1510.2352578813565742 1189.6305700279476696 392.7772665220107342 7852.5601874999802021 7853.2009671047326265 17288.1689911546709482 300.0051118582463232
180 300.1074244553407766 1529.6307083879921720 1189.6764977580119194 392.7294912276225318 7852.5601874999729262 7853.2047509722533505 17288.1709274578606710 300.0047089238623812
190 300.4193298066089710 1546.3205495807171701 1189.7172820166240399 393.1376598363700055 7852.5601874999847496 7852.7461854379362194 17288.1613147909156396 299.9954451643528159
200 300.3353919251508728 1532.5496449337256308 1189.7600175880224924 393.0278162310690391 7852.5601874999683787 7852.8107089913455638 17288.1587303104060993 299.9962707550171785
210 300.3276568499738914 1504.8178651700854971 1189.7998299597820733 393.0176938818989925 7852.5601875000156724 7852.7810130200659842 17288.1587243617614149 299.9953436245502871
220 300.5768315696972195 1592.5896084568337301 1189.8391466344737637 393.3437713226065284 7852.5601875000329528 7852.4205574703573802 17288.1636629274726147 299.9880321846658831
230 300.6587445618569063 1672.3049358942298568 1189.8766340798690635 393.4509650976162334 7852.5601874999847496 7852.2733199687863817 17288.1611066462573945 299.9848228571166828
240 300.7517707836824457 1527.1722267937798279 1189.9126240081129708 393.5727019751182638 7852.5601875000065775 7852.1160682173085661 17288.1615817005440476 299.9814952182625802
250 300.8473715548367409 1589.1847713095273775 1189.9441342461950626 393.6978079843565865 7852.5601875000047585 7851.9625847797897222 17288.1647145103452203 299.9782210858571148
260 300.8450266408960942 1623.1896863377055524 1189.9636161513915340 393.6947393603111891 7852.5601874999820211 7851.9471828473979258 17288.1657258590821584 299.9775302202895659
270 300.6663619570709898 1564.5160171187867491 1189.9764081239700317 393.4609334472908131 7852.5601875000193104 7852.1708276117251444 17288.1683566830033669 299.9812899253168439
280 300.7668534205726587 1618.5400526904272738 1189.9872008155407457 393.5924395618274616 7852.5601875000184009 7852.0271568534708422 17288.1669847308585304 299.9781169783826158
290 300.8462727198648281 1562.6765776748161443 1189.9918265985252219 393.6963700162681334 7852.5601875000211294 7851.9189772084137076 17288.1673613232269417 299.9756806168044818
300 300.8095414073813458 1525.1785808192823879 1189.9873922767765180 393.6483023295391490 7852.5601875000020300 7851.9657301693559930 17288.1616122756749974 299.9761279889730758
310 300.9496330741350221 1566.5597234051313080 1189.9752299662607129 393.8316304464934774 7852.5601875000056680 7851.7898117189633922 17288.1568596317229094 299.9723726900591032
320 301.2370566356515269 1513.6869483705045241 1189.9626455872523820 394.2077614578673774 7852.5601874999929350 7851.4248466706330873 17288.1554412157456682 299.9650543775110236
330 301.3279721508966986 1549.0667862452532972 1189.9513389477854162 394.3267362020335440 7852.5601874999929350 7851.3129955581916875 17288.1512582080031279 299.9625537201162615
340 301.1145736537582707 1414.7930515101752462 1189.9408691169965095 394.0474765890398885 7852.5601874999993015 7851.6028846074832472 17288.1514178135184920 299.9677356565828745
350 301.1651600907369470 1529.8016115175878440 1189.9314470205474663 394.1136755032910628 7852.5601874999929350 7851.5441417268766600 17288.1494517507089768 299.9662576716460194
360 301.0550563185082638 1536.7721716375513097 1189.9200519814728523 393.9695904359919041 7852.5601875000074870 7851.7101209691463737 17288.1599508866202086 299.9690811750865009
370 301.1008976932965311 1522.3385843459493572 1189.9109162496640693 394.0295798208944689 7852.5601875000211294 7851.6603423306560217 17288.1610259012340975 299.9677565060027860
380 301.1656898730701073 1505.0548721701966315 1189.9005648244356053 394.1143687921909873 7852.5601875000056680 7851.5816827598300733 17288.1568038764598896 299.9659906785156522
390 300.8379322662877371 1740.9151205755611045 1189.8851457594089425 393.6854554509391164 7852.5601875000238579 7852.0268864110385039 17288.1576751214088290 299.9741278188615752
400 300.8663790447544670 1564.9461156870268042 1189.8690133470406636 393.7226817503370171 7852.5601875000411383 7852.0043792319993372 17288.1562618294192362 299.9732593416579789
410 300.6263441860636476 1564.2840871092398629 1189.8566574093874806 393.4085650033034653 7852.5601874999892971 7852.3284491703716412 17288.1538590830532485 299.9792095875052951
420 300.5302259436974168 1438.1569922368742027 1189.8406936554465574 393.2827818158641549 7852.5601875000302243 7852.4696075433648730 17288.1532705147074012 299.9815165752025337
430 300.5877786105220366 1503.3641639033023694 1189.8251514530138593 393.3580969454443448 7852.5601874999802021 7852.4023373559457468 17288.1457732543858583 299.9798346272511935
440 300.7289160804472772 1689.2527029957309423 1189.8035410609209066 393.5427936314976591 7852.5601875000029395 7852.2436462415207643 17288.1501684339418716 299.9764596782897570
450 300.9487198282456575 1497.3668092174807498 1189.7808137689632986 393.8304353457919547 7852.5601874999938445 7851.9788323927423335 17288.1502690074921702 299.9710227473042323
460 300.9359942496023450 1625.1573864018453150 1189.7615359247629385 393.8137822755280695 7852.5601875000147629 7852.0165192783370003 17288.1520249786408385 299.9713565393226986
470 301.0000133856357252 1486.1561922844025503 1189.7439269526958014 393.8975596188205941 7852.5601874999656502 7851.9561324572259764 17288.1578065287103527 299.9697143418395626
480 300.8568627175956749 1535.6080526199089036 1189.7237810071801505 393.7102284019061926 7852.5601874999601932 7852.1697010727639281 17288.1638979818089865 299.9732503057674649
490 301.0608040775521204 1497.3221544489865664 1189.7062242497636362 393.9771121242310414 7852.5601874999974825 7851.9258988739020424 17288.1694227478947141 299.9682362511933320
500 301.0232592587148019 1517.5854528541199215 1189.6911287485859248 393.9279798589197981 7852.5601875000247674 7851.9823225510317570 17288.1616186585597461 299.9690333355835037
510 300.7038579923686257 1420.2615974401126095 1189.6747661513456933 393.5100018730127545 7852.5601874999674692 7852.4114869568056747 17288.1564424811294884 299.9768186576545759
520 300.5917863355051622 1537.4862082427132464 1189.6604754398758814 393.3633415734186656 7852.5601875000029395 7852.5789017095057716 17288.1629062228021212 299.9795694302102333
530 300.4751352158504574 1481.1071694751813084 1189.6453243069920518 393.2106884527693751 7852.5601874999811116 7852.7451655714030494 17288.1613658311471227 299.9823181268525900
540 300.5380123640740635 1547.3461372766362274 1189.6261485232855648 393.2929713568878469 7852.5601875000375003 7852.6850583598343292 17288.1643657400454686 299.9808112190538054
550 300.4253885005188067 1544.3485889749679245 1189.6033595464525661 393.1455884232119615 7852.5601874999756546 7852.8598718466746504 17288.1690073163154011 299.9835860164698147
560 300.3263552442091964 1556.5150300058239736 1189.5759163336824713 393.0159905619271967 7852.5601875000111249 7853.0148613782694156 17288.1669557738896401 299.9861837797674866
570 300.1977324643196994 1511.2320626303899189 1189.5441090918313876 392.8476709710408272 7852.5601875000102154 7853.2098259401755058 17288.1617935030590161 299.9896761688499964
580 300.3543631005174461 1588.9566243200406461 1189.5094471319723652 393.0526424747490069 7852.5601875000156724 7853.0374555421631158 17288.1597326488990802 299.9859298211932810
590 300.5019108864805730 1504.4406939723223786 1189.4809412920112663 393.2457278908070748 7852.5601874999874781 7852.8704277855331384 17288.1572844683396397 299.9823573257917815
600 300.4791158523048011 1540.4690749004166719 1189.4551948503105905 393.2158976318902432 7852.5601875000220389 7852.9312239063829111 17288.1625038886049879 299.9832002920041987
610 300.5939139841889869 1368.0565839211092225 1189.4252547652592966 393.3661258776944578 7852.5601874999574648 7852.8130977336268188 17288.1646658765384927 299.9807742697515778
620 300.7674247480806002 1483.2566452708949782 1189.3941250938435132 393.5931872179773450 7852.5601875000193104 7852.6187967208716145 17288.1662965327122947 299.9766963671718258
630 300.7920034341022983 1543.0699124130626387 1189.3598279316652224 393.6253516166884765 7852.5601875000302243 7852.6219971866230480 17288.1673642350069713 299.9762538437231001
640 300.8032734267029014 1423.2549819291627955 1189.3293074476887341 393.6400998638143278 7852.5601874999847496 7852.6384826097773839 17288.1680774212654796 299.9762118202994543
650 300.7516995878240778 1542.6559695158528029 1189.3021161045703593 393.5726088061028918 7852.5601874999720167 7852.7361949473252025 17288.1711073579717777 299.9775656396504928
660 300.8699697098109596 1675.5121937767828513 1189.2687179804188418 393.7273806013013768 7852.5601874999802021 7852.6179739687167967 17288.1742600504185248 299.9750492262036232
670 301.0255004186899441 1520.7397686587880798 1189.2284265783687260 393.9309127074436105 7852.5601874999847496 7852.4592279727139612 17288.1787547585117863 299.9715123049731460
680 301.1071983488761248 1651.9751417063259851 1189.1858967311384276 394.0378250459656897 7852.5601875000002110 7852.3982826328629017 17288.1821919099675142 299.9699481289110281
690 301.0027086454254572 1496.1607274163652619 1189.1436949551207363 393.9010867158521592 7852.5601875000293148 7852.5788938360929023 17288.1838630070960789 299.9731939774295597
700 300.9009090279178054 1551.8182127127645344 1189.0993919251336592 393.7678687121206167 7852.5601875000102154 7852.7513665452243004 17288.1788146824910655 299.9761043445071209
710 301.2325536720837249 1678.1546953970862432 1189.0528341066979010 394.2018687459686248 7852.5601874999956635 7852.3633298995819132 17288.1782202522445004 299.9683013583347133
720 301.2122298224125529 1524.1415452491380620 1189.0046957644281065 394.1752723525083866 7852.5601875000093059 7852.4351629896154918 17288.1753186065616319 299.9693315350040166
730 301.0763282392692872 1547.1987029633148722 1188.9602551214052255 393.9974275034455786 7852.5601874999883876 7852.6518053705112834 17288.1696754953518393 299.9732715774841267
740 301.3262401480514541 1544.7045314021531794 1188.9131307177485724 394.3244696516559316 7852.5601874999965730 7852.3694201272992359 17288.1672079966992897 299.9674666811456518
750 301.5740779122830872 1591.1785078054831502 1188.8637580645940943 394.6487975126887591 7852.5601875000029395 7852.0919529470393172 17288.1646960243233480 299.9616008527093527
760 301.4385361878656227 1547.3218422039205961 1188.8113669183101138 394.4714235854452795 7852.5601874999838401 7852.3161911124070684 17288.1591691161447670 299.9656339783694534
770 301.6110125684814989 1494.5039561806663642 1188.7581685915927210 394.6971313010440667 7852.5601875000083965 7852.1351720579086759 17288.1506594505553949 299.9619855799394941
780 301.8360352039435384 1588.1458619705329056 1188.7039178696472845 394.9916026067776329 7852.5601874999956635 7851.9015195838410364 17288.1572275602629816 299.9572350302978521
790 302.1008324754312184 1545.4409171812194472 1188.6491103416556143 395.3381241828384418 7852.5601875000138534 7851.6150048936606254 17288.1624269181702402 299.9513959104631340
800 301.9660372380566855 1563.9565804790699985 1188.5964649891607223 395.1617271307159172 7852.5601874999874781 7851.8461249560641591 17288.1645045759287314 299.9555810527747326
810 302.0507207347627627 1511.4560763489942019 1188.5468477146607711 395.2725464702810996 7852.5601875000120344 7851.7904104899025697 17288.1699921748586348 299.9541551776504775
820 302.4700213214912878 1458.5135514273586068 1188.4981381693974072 395.8212556746475457 7852.5601875000202199 7851.2935886962222867 17288.1731700402888237 299.9441803241180651
830 302.2853997979336782 1496.2544527963116252 1188.4496917372189273 395.5796544641875130 7852.5601875000447762 7851.5862641793482908 17288.1757978808018379 299.9494768794835977
840 302.0840465730900632 1518.8301331998704882 1188.3994383226181526 395.3161576523595500 7852.5601875000038490 7851.8962146812327774 17288.1719981562127941 299.9550476592922337
850 301.8910942560262356 1469.8827850510886037 1188.3489956121345585 395.0636545180262829 7852.5601874999829306 7852.2025804631475694 17288.1754180932912277 299.9606927700139067
860 301.7284384160518016 1657.6802015862324424 1188.3052233777652873 394.8507982536592635 7852.5601875000093059 7852.4644669022700327 17288.1806760337058222 299.9652835238809416
870 301.6331619894115192 1501.5829953208531151 1188.2628815714099346 394.7261166912876433 7852.5601875000202199 7852.6378180648598573 17288.1870038275774277 299.9682811831179379
880 301.3703918424367885 1499.1595903074523903 1188.2195190931643083 394.3822478705862409 7852.5601874999956635 7853.0266423250850494 17288.1885967888301820 299.9755099056965264
890 301.4157954313302525 1598.8758859042497988 1188.1845892608291706 394.4416643558611213 7852.5601875000065775 7853.0036606192506952 17288.1901017359487014 299.9745322513491601
900 301.4752150615485107 1621.2148728756792480 1188.1517520946140394 394.5194226492019425 7852.5601874999711072 7852.9579580608560718 17288.1893203046420240 299.9733125337182855
910 301.4308816315937634 1538.4823217911609845 1188.1159856659228353 394.4614066057064861 7852.5601875000002110 7853.0558695713280031 17288.1934493429580471 299.9748317405193916
920 301.4323110133493628 1594.7193046491199766 1188.0835779842025204 394.4632771371358899 7852.5601875000202199 7853.0942701464355196 17288.2013127677928424 299.9751127806910631
930 301.4801256941950101 1387.6885377097628407 1188.0464206196893429 394.5258488489681099 7852.5601875000229484 7853.0656502842966802 17288.1981072529779340 299.9740698440909341
940 301.8075611840245074 1534.2487040663784228 1188.0124217312882138 394.9543406584059539 7852.5601874999701977 7852.6729444202828745 17288.1998943099461030 299.9660570413493588
950 301.6915970126173647 1567.7725992489251894 1187.9790455470047164 394.8025864986412898 7852.5601875000274958 7852.8619557087586145 17288.2037752544347313 299.9694678653150959
960 301.6392594677008674 1504.8502165144939227 1187.9439133338109968 394.7340960325208243 7852.5601874999711072 7852.9728807988849439 17288.2110776651898050 299.9711546356286362
970 301.6049535791644871 1514.0198965433546618 1187.9094123369411591 394.6892023276234909 7852.5601874999765641 7853.0497909819905544 17288.2085931465298927 299.9722547114341751
980 301.2982841679705643 1634.1208149125827731 1187.8768454876480973 394.2878856256063500 7852.5601874999856591 7853.4862008383497596 17288.2111194515891839 299.9802110109069986
990 301.2573007350167700 1489.7316698898248433 1187.8432331161866387 394.2342534877080311 7852.5601875000047585 7853.5840096862739301 17288.2216837901723920 299.9819468620867724
1000 301.3195135766228532 1562.6587211933881463 1187.8034267774901309 394.3156670604516307 7852.5601874999356369 7853.5372636956635688 17288.2165450335414789 299.9807651637231629
Loop time of 13.772 on 1 procs for 1000 steps with 10125 atoms
Performance: 6.274 ns/day, 3.826 hours/ns, 72.611 timesteps/s
99.9% CPU use with 1 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 6.7733 | 6.7733 | 6.7733 | 0.0 | 49.18
Neigh | 6.3694 | 6.3694 | 6.3694 | 0.0 | 46.25
Comm | 0.36819 | 0.36819 | 0.36819 | 0.0 | 2.67
Output | 0.008424 | 0.008424 | 0.008424 | 0.0 | 0.06
Modify | 0.20221 | 0.20221 | 0.20221 | 0.0 | 1.47
Other | | 0.05047 | | | 0.37
Nlocal: 10125 ave 10125 max 10125 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 5824 ave 5824 max 5824 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 114682 ave 114682 max 114682 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 114682
Ave neighs/atom = 11.3266
Neighbor list builds = 1000
Dangerous builds not checked
Total wall time: 0:00:13

2
src/.gitignore vendored
View File

@ -307,6 +307,8 @@
/fix_cmap.h
/fix_deposit.cpp
/fix_deposit.h
/fix_dpd_energy.cpp
/fix_dpd_energy.h
/fix_efield.cpp
/fix_efield.h
/fix_eos_cv.cpp

View File

@ -0,0 +1,90 @@
/* ----------------------------------------------------------------------
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.
------------------------------------------------------------------------- */
#include "stdio.h"
#include "string.h"
#include "fix_dpd_energy.h"
#include "atom.h"
#include "force.h"
#include "update.h"
#include "respa.h"
#include "modify.h"
#include "error.h"
#include "pair_dpd_fdt_energy.h"
using namespace LAMMPS_NS;
using namespace FixConst;
/* ---------------------------------------------------------------------- */
FixDPDenergy::FixDPDenergy(LAMMPS *lmp, int narg, char **arg) :
Fix(lmp, narg, arg)
{
if (narg != 3 ) error->all(FLERR,"Illegal fix dpd/energy command");
pairDPDE = NULL;
pairDPDE = (PairDPDfdtEnergy *) force->pair_match("dpd/fdt/energy",1);
if(pairDPDE == NULL)
error->all(FLERR,"Must use pair_style dpd/fdt/energy with fix dpd/energy");
if(!(atom->dpd_flag))
error->all(FLERR,"Must use atom_style dpd/fdt/energy with fix dpd/energy");
}
/* ---------------------------------------------------------------------- */
int FixDPDenergy::setmask()
{
int mask = 0;
mask |= INITIAL_INTEGRATE;
mask |= FINAL_INTEGRATE;
return mask;
}
/* ----------------------------------------------------------------------
allow for both per-type and per-atom mass
------------------------------------------------------------------------- */
void FixDPDenergy::initial_integrate(int vflag)
{
int nlocal = atom->nlocal;
if (igroup == atom->firstgroup) nlocal = atom->nfirst;
double *uCond = atom->uCond;
double *uMech = atom->uMech;
double *duCond = pairDPDE->duCond;
double *duMech = pairDPDE->duMech;
for (int i = 0; i < nlocal; i++){
uCond[i] += 0.5*update->dt*duCond[i];
uMech[i] += 0.5*update->dt*duMech[i];
}
}
/* ---------------------------------------------------------------------- */
void FixDPDenergy::final_integrate()
{
int nlocal = atom->nlocal;
if (igroup == atom->firstgroup) nlocal = atom->nfirst;
double *uCond = atom->uCond;
double *uMech = atom->uMech;
double *duCond = pairDPDE->duCond;
double *duMech = pairDPDE->duMech;
for (int i = 0; i < nlocal; i++){
uCond[i] += 0.5*update->dt*duCond[i];
uMech[i] += 0.5*update->dt*duMech[i];
}
}

View File

@ -0,0 +1,56 @@
/* ----------------------------------------------------------------------
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(dpd/energy,FixDPDenergy)
#else
#ifndef LMP_FIX_DPDE_H
#define LMP_FIX_DPDE_H
#include "fix.h"
namespace LAMMPS_NS {
class FixDPDenergy : public Fix {
public:
FixDPDenergy(class LAMMPS *, int, char **);
virtual ~FixDPDenergy() {}
int setmask();
virtual void initial_integrate(int);
virtual void final_integrate();
protected:
double dtv,dtf;
int mass_require;
int eos;
class PairDPDfdtEnergy *pairDPDE;
};
}
#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.
*/

View File

@ -68,19 +68,23 @@ void PairDPDfdt::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,rinv,wd,wr,factor_dpd;
double vxtmp,vytmp,vztmp,delvx,delvy,delvz;
double rsq,r,rinv,dot,wd,wr,randnum,factor_dpd;
int *ilist,*jlist,*numneigh,**firstneigh;
double gamma_ij;
evdwl = 0.0;
if (eflag || vflag) ev_setup(eflag,vflag);
else evflag = vflag_fdotr = 0;
double **x = atom->x;
double **v = atom->v;
double **f = atom->f;
int *type = atom->type;
int nlocal = atom->nlocal;
double *special_lj = force->special_lj;
int newton_pair = force->newton_pair;
double dtinvsqrt = 1.0/sqrt(update->dt);
inum = list->inum;
ilist = list->ilist;
@ -89,6 +93,7 @@ void PairDPDfdt::compute(int eflag, int vflag)
// loop over neighbors of my atoms
if(splitFDT_flag){
for (ii = 0; ii < inum; ii++) {
i = ilist[ii];
xtmp = x[i][0];
@ -142,7 +147,75 @@ void PairDPDfdt::compute(int eflag, int vflag)
}
}
}
} else {
for (ii = 0; ii < inum; ii++) {
i = ilist[ii];
xtmp = x[i][0];
ytmp = x[i][1];
ztmp = x[i][2];
vxtmp = v[i][0];
vytmp = v[i][1];
vztmp = v[i][2];
itype = type[i];
jlist = firstneigh[i];
jnum = numneigh[i];
for (jj = 0; jj < jnum; jj++) {
j = jlist[jj];
factor_dpd = 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);
if (r < EPSILON) continue; // r can be 0.0 in DPD systems
rinv = 1.0/r;
delvx = vxtmp - v[j][0];
delvy = vytmp - v[j][1];
delvz = vztmp - v[j][2];
dot = delx*delvx + dely*delvy + delz*delvz;
wr = 1.0 - r/cut[itype][jtype];
wd = wr*wr;
randnum = random->gaussian();
gamma_ij = sigma[itype][jtype]*sigma[itype][jtype]/(2.0*force->boltz*temperature);
// conservative force = a0 * wd
// drag force = -gamma * wd^2 * (delx dot delv) / r
// random force = sigma * wd * rnd * dtinvsqrt;
fpair = a0[itype][jtype]*wr;
fpair -= gamma_ij*wd*dot*rinv;
fpair += sigma[itype][jtype]*wr*randnum*dtinvsqrt;
fpair *= factor_dpd*rinv;
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) {
// unshifted eng of conservative term:
// evdwl = -a0[itype][jtype]*r * (1.0-0.5*r/cut[itype][jtype]);
// eng shifted to 0.0 at cutoff
evdwl = 0.5*a0[itype][jtype]*cut[itype][jtype] * wd;
evdwl *= factor_dpd;
}
if (evflag) ev_tally(i,j,nlocal,newton_pair,
evdwl,0.0,fpair,delx,dely,delz);
}
}
}
}
if (vflag_fdotr) virial_fdotr_compute();
}
@ -244,11 +317,14 @@ void PairDPDfdt::init_style()
if (force->newton_pair == 0 && comm->me == 0) error->warning(FLERR,
"Pair dpd/fdt requires newton pair on");
splitFDT_flag = false;
int irequest = neighbor->request(this,instance_me);
neighbor->requests[irequest]->ssa = 0;
for (int i = 0; i < modify->nfix; i++)
if (strcmp(modify->fix[i]->style,"shardlow") == 0)
if (strcmp(modify->fix[i]->style,"shardlow") == 0){
splitFDT_flag = true;
neighbor->requests[irequest]->ssa = 1;
}
}
/* ----------------------------------------------------------------------

View File

@ -49,6 +49,7 @@ class PairDPDfdt : public Pair {
protected:
double cut_global;
int seed;
bool splitFDT_flag;
void allocate();

View File

@ -43,6 +43,8 @@ using namespace LAMMPS_NS;
PairDPDfdtEnergy::PairDPDfdtEnergy(LAMMPS *lmp) : Pair(lmp)
{
random = NULL;
comm_reverse = 2;
}
/* ---------------------------------------------------------------------- */
@ -57,9 +59,12 @@ PairDPDfdtEnergy::~PairDPDfdtEnergy()
memory->destroy(a0);
memory->destroy(sigma);
memory->destroy(kappa);
if(!splitFDT_flag){
memory->destroy(duCond);
memory->destroy(duMech);
}
}
if (random) delete random;
}
@ -69,7 +74,9 @@ void PairDPDfdtEnergy::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,rinv,wd,wr,factor_dpd;
double vxtmp,vytmp,vztmp,delvx,delvy,delvz;
double rsq,r,rinv,wd,wr,factor_dpd,uTmp;
double dot,randnum;
int *ilist,*jlist,*numneigh,**firstneigh;
evdwl = 0.0;
@ -77,11 +84,22 @@ void PairDPDfdtEnergy::compute(int eflag, int vflag)
else evflag = vflag_fdotr = 0;
double **x = atom->x;
double **v = atom->v;
double **f = atom->f;
int *type = atom->type;
int nlocal = atom->nlocal;
int nghost = atom->nghost;
double *special_lj = force->special_lj;
int newton_pair = force->newton_pair;
double dtinvsqrt = 1.0/sqrt(update->dt);
double *rmass = atom->rmass;
double *mass = atom->mass;
double *dpdTheta = atom->dpdTheta;
double kappa_ij, alpha_ij, theta_ij, gamma_ij;
double mass_i, mass_j;
double massinv_i, massinv_j;
double randPair, mu_ij;
inum = list->inum;
ilist = list->ilist;
@ -90,6 +108,7 @@ void PairDPDfdtEnergy::compute(int eflag, int vflag)
// loop over neighbors of my atoms
if(splitFDT_flag){
for (ii = 0; ii < inum; ii++) {
i = ilist[ii];
xtmp = x[i][0];
@ -143,8 +162,136 @@ void PairDPDfdtEnergy::compute(int eflag, int vflag)
}
}
}
} else {
// Allocate memory for duCond and duMech
if (allocated) {
memory->destroy(duCond);
memory->destroy(duMech);
}
memory->create(duCond,nlocal+nghost,"pair:duCond");
memory->create(duMech,nlocal+nghost,"pair:duMech");
for (int ii = 0; ii < nlocal+nghost; ii++) {
duCond[ii] = double(0.0);
duMech[ii] = double(0.0);
}
// loop over neighbors of my atoms
for (int ii = 0; ii < inum; ii++) {
i = ilist[ii];
xtmp = x[i][0];
ytmp = x[i][1];
ztmp = x[i][2];
vxtmp = v[i][0];
vytmp = v[i][1];
vztmp = v[i][2];
itype = type[i];
jlist = firstneigh[i];
jnum = numneigh[i];
for (jj = 0; jj < jnum; jj++) {
j = jlist[jj];
factor_dpd = 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);
if (r < EPSILON) continue; // r can be 0.0 in DPD systems
rinv = 1.0/r;
wr = 1.0 - r/cut[itype][jtype];
wd = wr*wr;
delvx = vxtmp - v[j][0];
delvy = vytmp - v[j][1];
delvz = vztmp - v[j][2];
dot = delx*delvx + dely*delvy + delz*delvz;
randnum = random->gaussian();
// Compute the current temperature
theta_ij = double(0.5)*(double(1.0)/dpdTheta[i] + double(1.0)/dpdTheta[j]);
theta_ij = double(1.0)/theta_ij;
gamma_ij = sigma[itype][jtype]*sigma[itype][jtype]/(2.0*force->boltz*theta_ij);
// conservative force = a0 * wr
// drag force = -gamma * wr^2 * (delx dot delv) / r
// random force = sigma * wr * rnd * dtinvsqrt;
fpair = a0[itype][jtype]*wr;
fpair -= gamma_ij*wd*dot*rinv;
fpair += sigma[itype][jtype]*wr*randnum*dtinvsqrt;
fpair *= factor_dpd*rinv;
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 (rmass) {
mass_i = rmass[i];
mass_j = rmass[j];
} else {
mass_i = mass[itype];
mass_j = mass[jtype];
}
massinv_i = double(1.0) / mass_i;
massinv_j = double(1.0) / mass_j;
// Compute the mechanical and conductive energy, uMech and uCond
mu_ij = massinv_i + massinv_j;
mu_ij *= force->ftm2v;
uTmp = gamma_ij*wd*rinv*rinv*dot*dot - double(0.5)*sigma[itype][jtype]*sigma[itype][jtype]*mu_ij*wd;
uTmp -= sigma[itype][jtype]*wr*rinv*dot*randnum*dtinvsqrt;
uTmp *= double(0.5);
duMech[i] += uTmp;
if (newton_pair || j < nlocal) {
duMech[j] += uTmp;
}
// Compute uCond
randnum = random->gaussian();
kappa_ij = kappa[itype][jtype];
alpha_ij = sqrt(2.0*force->boltz*kappa_ij);
randPair = alpha_ij*wr*randnum*dtinvsqrt;
uTmp = kappa_ij*(double(1.0)/dpdTheta[i] - double(1.0)/dpdTheta[j])*wd;
uTmp += randPair;
duCond[i] += uTmp;
if (newton_pair || j < nlocal) {
duCond[j] -= uTmp;
}
if (eflag) {
// unshifted eng of conservative term:
// evdwl = -a0[itype][jtype]*r * (1.0-0.5*r/cut[itype][jtype]);
// eng shifted to 0.0 at cutoff
evdwl = 0.5*a0[itype][jtype]*cut[itype][jtype] * wd;
evdwl *= factor_dpd;
}
if (evflag) ev_tally(i,j,nlocal,newton_pair,
evdwl,0.0,fpair,delx,dely,delz);
}
}
}
// Communicate the ghost delta energies to the locally owned atoms
comm->reverse_comm_pair(this);
}
if (vflag_fdotr) virial_fdotr_compute();
}
/* ----------------------------------------------------------------------
@ -155,6 +302,8 @@ void PairDPDfdtEnergy::allocate()
{
allocated = 1;
int n = atom->ntypes;
int nlocal = atom->nlocal;
int nghost = atom->nghost;
memory->create(setflag,n+1,n+1,"pair:setflag");
for (int i = 1; i <= n; i++)
@ -167,6 +316,10 @@ void PairDPDfdtEnergy::allocate()
memory->create(a0,n+1,n+1,"pair:a0");
memory->create(sigma,n+1,n+1,"pair:sigma");
memory->create(kappa,n+1,n+1,"pair:kappa");
if(!splitFDT_flag){
memory->create(duCond,nlocal+nghost+1,"pair:duCond");
memory->create(duMech,nlocal+nghost+1,"pair:duMech");
}
}
/* ----------------------------------------------------------------------
@ -250,11 +403,14 @@ void PairDPDfdtEnergy::init_style()
if (force->newton_pair == 0 && comm->me == 0) error->warning(FLERR,
"Pair dpd/fdt/energy requires newton pair on");
splitFDT_flag = false;
int irequest = neighbor->request(this,instance_me);
neighbor->requests[irequest]->ssa = 0;
for (int i = 0; i < modify->nfix; i++)
if (strcmp(modify->fix[i]->style,"shardlow") == 0)
if (strcmp(modify->fix[i]->style,"shardlow") == 0){
splitFDT_flag = true;
neighbor->requests[irequest]->ssa = 1;
}
bool eos_flag = false;
for (int i = 0; i < modify->nfix; i++)
@ -385,3 +541,32 @@ double PairDPDfdtEnergy::single(int i, int j, int itype, int jtype, double rsq,
return factor_dpd*phi;
}
/* ---------------------------------------------------------------------- */
int PairDPDfdtEnergy::pack_reverse_comm(int n, int first, double *buf)
{
int i,m,last;
m = 0;
last = first + n;
for (i = first; i < last; i++) {
buf[m++] = duCond[i];
buf[m++] = duMech[i];
}
return m;
}
/* ---------------------------------------------------------------------- */
void PairDPDfdtEnergy::unpack_reverse_comm(int n, int *list, double *buf)
{
int i,j,m;
m = 0;
for (i = 0; i < n; i++) {
j = list[i];
duCond[j] += buf[m++];
duMech[j] += buf[m++];
}
}

View File

@ -38,16 +38,20 @@ class PairDPDfdtEnergy : public Pair {
virtual void write_restart_settings(FILE *);
virtual void read_restart_settings(FILE *);
double single(int, int, int, int, double, double, double, double &);
int pack_reverse_comm(int, int, double *);
void unpack_reverse_comm(int, int *, double *);
double **cut;
double **a0;
double **sigma,**kappa;
double *duCond,*duMech;
class RanMars *random;
protected:
double cut_global;
int seed;
bool splitFDT_flag;
void allocate();