[lammps-users] Different results on 32-bit and 64-bit architecture.

Hello,

I have lammps installed on two computers. one is dual core 32 bit processor with Fedora 13 32-bit vesion. Other computer has Dual quadcore i7 processor with Fedora 11 64 -bit installed on it.

I tried calculating the elasitc constants of Zirconium using the same eam file and other parameters. ( exactly same code). But the results which i got were too different. Is this because of different architecture or somethin else? And how do i resolve this?

Hello,

I have lammps installed on two computers. one is dual core 32 bit processor
with Fedora 13 32-bit vesion. Other computer has Dual quadcore i7 processor
with Fedora 11 64 -bit installed on it.

I tried calculating the elasitc constants of Zirconium using the same eam
file and other parameters. ( exactly same code). But the results which i got
were too different. Is this because of different architecture or somethin
else? And how do i resolve this?

there are three possible explanations:

a) the difference you are seeing is within the
    error margin of your statistical fluctuations

b) one of the two executables is miscompiled
   by the compiler you have used.

c) you have overlooked a typo and the two inputs
   are not exactly the same.

i suggest you start with double checking for reason c)
then you could change the length of equilibration in
the simulations to generate an ensemble of different
initial conditions from which you can compute elastic
constants and estimate the fluctuation as indicated with a)
finally, you could run on yet another platform/machine or
use different compilers or compiler flags to compile
LAMMPS to see if there is a systematic difference between
the platforms.

cheers,
     axel.

Another suggestion. You could run the two versions
for short times, and print out thermo info very often (e.g. every step).
If the two systems are exactly the same initially and slowly
diverge, then it is probably just round-off leading to statistically
identical runs. If they are different at time 0 or rapidly diverge,
then it is probably something more serious. Unfortunately it's
hard to quantify slow vs rapid, but I'd expect identical answers
for a 1000 timesteps or so, to several digits of precision, assuming
you used the same compiler.

Steve