Map out phase diagram /negative pressure

Dear all,

I have a problem with my outputs. More specific, I try to simulate in NPT ensemble the first simulation, in order to create a simulation box with specific size. The number of molecules is 1,024 and I use Nose-Hoover thermostat. A sample of this input is the following:

group ring type 1

group chain type 2

fix 1 ring rigid/npt molecule temp 1.9500 1.9500 0.50 iso 1.00 1.00 1000.0

fix 2 chain npt temp 1.9500 1.9500 0.50 iso 1.00 1.00 1000.0

fix 3 all enforce2d

timestep 0.001

thermo_style custom step temp pe ke etotal vol press density

thermo 10000

run 500000

After I simulate it again in NVT ensemble:

group ring type 1

group chain type 2

fix 1 ring rigid/nvt molecule temp 1.9500 1.9500 0.50

fix 2 chain nvt temp 1.9500 1.9500 0.50

fix 3 all enforce2d

timestep 0.001

thermo_style custom step temp pe ke etotal vol press density

thermo 10000

run 500000

The problem is that at the output file I receive some negative values of pressure. I know that the simulation box size is larger than the system size and this gives me negative numbers of pressure. I tried to fix these values to positive, but this i impossible. Do you now how can I map out the phase diagram using these values, please?

Output file:

Step Temp PotEng KinEng TotEng Volume Press Density

0 2.0900131 6753.1355 0.94040383 6754.0759 1188826 0.13205998 0.02584062

10000 2.0254043 6753.1317 0.91133305 6754.0431 1188826 -0.00059826311 0.02584062

20000 2.030893 6753.1336 0.91380268 6754.0474 1188826 0.001293781 0.02584062

30000 2.0189099 6753.1285 0.90841086 6754.0369 1188826 -0.0020565809 0.02584062

40000 2.0237693 6753.1317 0.91059738 6754.0423 1188826 0.00096690758 0.02584062

50000 2.0119162 6753.1256 0.90526404 6754.0309 1188826 0.011014943 0.02584062

60000 2.0165151 6753.1343 0.90733332 6754.0416 1188826 0.0082493612 0.02584062

70000 2.0235779 6753.1285 0.91051126 6754.039 1188826 7.1233003e-07 0.02584062

80000 2.0344136 6753.1268 0.91538677 6754.0422 1188826 -0.00059059603 0.02584062

90000 2.01317 6753.1214 0.90582822 6754.0273 1188826 -0.00082272738 0.02584062

100000 2.022864 6753.1203 0.91019004 6754.0305 1188826 0.0071906526 0.02584062

110000 2.0242213 6753.1169 0.91080073 6754.0277 1188826 -0.0045535389 0.02584062

120000 2.0216777 6753.1289 0.90965624 6754.0385 1188826 0.0003199276 0.02584062

130000 2.0057359 6753.1225 0.90248322 6754.025 1188826 0.005554224 0.02584062

140000 2.020587 6753.1292 0.90916547 6754.0384 1188826 0.0016354744 0.02584062

150000 2.0410145 6753.1236 0.91835686 6754.042 1188826 0.012946145 0.02584062

160000 2.0541616 6753.1314 0.92427243 6754.0556 1188826 -0.0015462081 0.02584062

170000 2.0435346 6753.1252 0.91949079 6754.0447 1188826 0.0020978442 0.02584062

180000 2.0486736 6753.126 0.9218031 6754.0478 1188826 -0.00014705774 0.02584062

190000 1.9949444 6753.1223 0.89762756 6754.0199 1188826 0.003709977 0.02584062

200000 2.024685 6753.1353 0.9110094 6754.0463 1188826 0.0011832389 0.02584062

Thank you very much!

Nikoletta

Dear all,

I have a problem with my outputs. More specific, I try to simulate in NPT
ensemble the first simulation, in order to create a simulation box with
specific size. The number of molecules is 1,024 and I use Nose-Hoover
thermostat. A sample of this input is the following:

group ring type 1

group chain type 2

fix 1 ring rigid/npt molecule temp 1.9500 1.9500 0.50 iso 1.00 1.00 1000.0

fix 2 chain npt temp 1.9500 1.9500 0.50 iso 1.00 1.00 1000.0

this is wrong. you cannot have two fixes control the volume. didn't
LAMMPS print a warning about this?

fix 3 all enforce2d

huh? why enforce2? is this a 2d system?

timestep 0.001

thermo_style custom step temp pe ke etotal vol press density

thermo 10000

run 500000

After I simulate it again in NVT ensemble:

group ring type 1

group chain type 2

fix 1 ring rigid/nvt molecule temp 1.9500 1.9500 0.50

fix 2 chain nvt temp 1.9500 1.9500 0.50

fix 3 all enforce2d

timestep 0.001

thermo_style custom step temp pe ke etotal vol press density

thermo 10000

run 500000

The problem is that at the output file I receive some negative values of
pressure. I know that the simulation box size is larger than the system size
and this gives me negative numbers of pressure. I tried to fix these values
to positive, but this i impossible. Do you now how can I map out the phase
diagram using these values, please?

in finite size simulations all instantaneous properties will
fluctuate, some more, others less. only properly converged averages
matter. you can set the number of particles, the volume and the
temperature as input parameters and get the (averaged) pressure as
output. if your pressure is low, it will become below zero
temporarily. no problem.

axel.

Hi and thank you for your reply,

My system is a 2d system. Each particle consists of a rigid ring with triangle shape and flexible chains attached to the ring. This is why I use two fixes control the volume, as I need the rigid/npt for the ring and the not for the chain.

Many thanks,
Nikoletta

Hi and thank you for your reply,

My system is a 2d system. Each particle consists of a rigid ring with triangle shape and flexible chains attached to the ring. This is why I use two fixes control the volume, as I need the rigid/npt for the ring and the not for the chain.

that doesn't make sense. there is only one box, so using two fixes
that change the volume is an error. please have a look at the
documentation that explains this.

Thank you for your reply! You are right! It was a stupid mistake by me.

Now I have the following input:

group ring type 1
group chain type 2

fix 1 ring rigid molecule
fix 2 chain npt temp 1.9500 1.9500 0.50 iso 1.00 1.00 1000.0

The problem remains the same. Some of the pressure's values are negative. So, how could I map out the phase diagram?

Many Thanks,
Nikoletta

Thank you for your reply! You are right! It was a stupid mistake by me.

Now I have the following input:

group ring type 1
group chain type 2

fix 1 ring rigid molecule
fix 2 chain npt temp 1.9500 1.9500 0.50 iso 1.00 1.00 1000.0

The problem remains the same. Some of the pressure's values are negative. So, how could I map out the phase diagram?

i already answered that.

Thank you for your reply! You are right! It was a stupid mistake by me.

Now I have the following input:

group ring type 1
group chain type 2

fix 1 ring rigid molecule

why not rigid/nvt or rather rigid/small/nvt for better parallel performance?

Thank you agains for your reply!

Yes, I change it to rigid/small command. Thank you!

I'm sorry about my question, but I need to understand. As some values of pressure are negative, could I
put zero instead of those values and calculate the average of pressure? My simulations are actually to start from a maximum temperature T=2.00 and to reduce it to T=0.05 with a step of ΔT=0.05 (LJ units). So, I would like to calculate the average of pressure for each value of temperature, in order to map out the phase diagram (Pressure vs Temp).
[Perhaps I need to study more about the theory of calculating pressure for a liquid or a solid).

Many thanks again,
Nikoletta

Thank you agains for your reply!

Yes, I change it to rigid/small command. Thank you!

i have to repeat, why not rigid/small/nvt?

I'm sorry about my question, but I need to understand. As some values of pressure are negative, could I
put zero instead of those values and calculate the average of pressure?

just look at your suggestion and think about this for a bit. does this
look like a scientifically sound approach?

My simulations are actually to start from a maximum temperature T=2.00 and to reduce it to T=0.05 with a step of ΔT=0.05 (LJ units). So, I would like to calculate the average of pressure for each value of temperature, in order to map out the phase diagram (Pressure vs Temp).

[Perhaps I need to study more about the theory of calculating pressure for a liquid or a solid).

yes. you are preempting the suggestion i would have made myself. this
has nothing to do with LAMMPS and all to do with understanding
statistical thermodynamics.

axel.

You are right. Thank you again for your help and your time!

Regards,
Nikoletta