Different outcomes with same *.data & *.in while changing the parallel core numbers

Hello everyone,
I use the TIP4P-2005 water model to simulate the two-phase process of water, but when I change the parallel core number from 100 to 20, the outcome of the simulation changes a lot.
I can’t understand why, should I change the simulation parameters such as the timestep while I set it as 2fs now or any other parameters to solve this problem?

Thanks a lot!

Hello everyone,
       I use the TIP4P-2005 water model to simulate the two-phase process
of water, but when I change the parallel core number from 100 to 20, the
outcome of the simulation changes a lot.

​what do you mean by "outcome changes a lot"? is it just different
positions of individual atoms, or significant differences in (averaged)
properties?

also, *always* mention the LAMMPS version you are using and best provide
your input file, too, so that people can check, whether there are obvious
mistakes somewhere.

       I can't understand why, should I change the simulation parameters
such as the timestep while I set it as 2fs now or any other parameters to
solve this problem?

​diverging trajectories with different number of cores, even different
implementations of the same potential, are quite normal, as LAMMPS employs
floating point math and floating point math does not associate (e.g. the
exact outcome can be slightly different for all properties that​ are summed
up in different order) which will result in an exponentially growing
difference between such runs.

so at this moment, it is not even clear, whether you are reporting a real
issue, or just physics and numerical science at work.

axel.

Thanks for your suggestions, my LAMMPS version is lammps-17Nov16, and my input file is as follows:

variables input

variable DT equal 2.0
variable A equal 220
variable r equal 10
variable L equal 75
variable THERMO equal 5000
variable Pstart equal -0.510$A
variable Pstop equal -0.510$A

init

units real
dimension 3
boundary p p p
atom_style full
timestep ${DT}
neighbor 2.0 bin
neigh_modify delay 0 every 1 check yes

create geometry

pair_style lj/long/tip4p/long long long 2 1 1 1 0.1546 9 8.5
kspace_style pppm/disp/tip4p 1e-5
kspace_modify force/disp/real 0.0001 force/disp/kspace 0.002 mix/disp geom
bond_style harmonic
angle_style harmonic
read_data data.droplet_npt

variables output

variable PRESS equal press
variable VOL equal vol

fixes

fix 0 all indent 10.0 sphere $L $L $L r units box fix 1 all shake 0.0001 100 0 b 1 a 1 fix barostat all npt temp 298.0 298.0 (100.0*dt) iso {Pstart} {Pstop} (1000.0*dt) drag 1.0 fix print_press all print 1 "{PRESS}" file press.dat screen no title “”
fix print_vol all print 1 “${VOL}” file vol.dat screen no title “”

run

thermo_style custom step temp press vol
thermo ${THERMO}
run 250000

The simulation is designed to mimic the cavitation in water at a low pressure, and the “outcome changes a lot” means the vol-time curves in the simulations are different. The vol variable in the 100 core simulation is increasing much quicker than in the 20 core simulation, which makes me confused.
So, what I want to ask for advice is that is there any other factors except the “floating point error” that cause this situation? Because I think the the “outcome change” in the two simulation is really beyond my expectation.
Thank you very much!