coul/dsf

Dear LAMMPS users and developers,

  According to the discussion reported in:

https://sourceforge.net/p/lammps/mailman/message/33595875/

there was a fix in the coul/dsf pair_style during
march 2015. This changed the behavior of coul/dsf
between version 20Jan2015 and 20May2015.
Since I have a lot of data collected with the former
version, is there any subtle effect I have to worry about?
I said subtle because data look ok, but I
cannot perform another simulation for a full statistical
comparison.

Thank you in advance,

         Giovanni La Penna

National research council of Italy (CNR)
Institute for chemistry of organometallic compounds (ICCOM)
Sesto Fiorentino (Firenze), Italy
tel.: +39 0555225264 / skype: giovannilapenna

Here is the side-by-side comparison of the Mar 2015 change to pair_coul_dsf.cpp

PairCoulDSF::~PairCoulDSF() PairCoulDSF::~PairCoulDSF()
54 { {
55 if (allocated && !copymode) { if (copymode) return;
56
57 if (allocated) {
58 memory->destroy(setflag); memory->destroy(setflag);
59 memory->destroy(cutsq); memory->destroy(cutsq);
60 } }

It is simply a change for Kokkos consistency, would

not change the numerical results at all.

Since I have a lot of data collected with the former
version, is there any subtle effect I have to worry about?
I said subtle because data look ok, but I
cannot perform another simulation for a full statistical
comparison.

You can download older tarballs from the Download

page, and do a before/after simulation yourself.

Ditto if you use SVN or Git to download LAMMPS.

Steve

Thank you Steve for the prompt answer.
My question raised because the two indicated versions give
different results for a test case (a small protein in the
vacuum):

20Jan2015
boundary f f f
pair_style lj/cut/coul/dsf 0.2 11. 11.
TotEng = -1536.2505 KinEng = 0.0000 Temp = 0.0000
PotEng = -1536.2505 E_bond = 109.8484 E_angle = 146.7339
E_dihed = 252.3256 E_impro = 8.3878 E_vdwl = 253.9601
E_coul = -2307.5062 E_long = 0.0000 Press = 0.0150

20Maj2015
boundary f f f
pair_style lj/cut/coul/dsf 0.2 11. 11.
TotEng = -55.7772 KinEng = 0.0000 Temp = 0.0000
PotEng = -55.7772 E_bond = 109.8484 E_angle = 146.7339
E_dihed = 252.3256 E_impro = 8.3878 E_vdwl = 253.9601
E_coul = -827.0330 E_long = 0.0000 Press = 0.0148

This difference fits with the discussion I found in the LAMMPS list.
It is not a difference in including/excluding self-energy,
I made the check commenting the call of ev_tally in
pair_lj_cut_coul_dsf.cpp as suggested by Axel.
There is a change of pressure that let think of
some small changes in forces.
However, if you find the latest versions (after 20May2015
the results of coul/dsf do not change) ok, please ignore this warning.

Thank you again,

                   Giovanni La Penna

National research council of Italy (CNR)
Institute for chemistry of organometallic compounds (ICCOM)
Sesto Fiorentino (Firenze), Italy
tel.: +39 0555225264 / skype: giovannilapenna

but that is not what giovanni was asking about. the changes between
the two dates are actually affecting the force and energy
calculations:
git diff 4a975dd8cf0792d83237a3825782955bec16cece..c3fd41010d41b2c8ca3ff07fca043128c6ee42d1
pair_coul_dsf.cpp
diff --git a/src/pair_coul_dsf.cpp b/src/pair_coul_dsf.cpp
index 0aba554..2fa7b69 100644
--- a/src/pair_coul_dsf.cpp
+++ b/src/pair_coul_dsf.cpp
@@ -52,6 +52,8 @@ PairCoulDSF::PairCoulDSF(LAMMPS *lmp) : Pair(lmp)

PairCoulDSF::~PairCoulDSF()
{
+ if (copymode) return;