[lammps-users] Rigid hybrid - non-numeric pressure


I’m attempting to run a system with rigid and non-rigid bodies.

I compress the box using NPT and then want to switch to isobaric but I get a “non-numeric pressure” when I switch to isobaric.


This runs with no problems

fix sphere_npt grp_sphere temp 1.5 0.1 10.0 iso 0.0 5.0 500.0 dilate all
fix plate_nvt grp_plate rigid/nvt molecule temp 1.5 0.1 10.0
run 200000
unfix sphere_npt
unfix plate_nvt

non-numeric pressure error occurs here, at first timestep

fix sphere_npt grp_sphere temp 0.1 0.1 10.0 iso 5.0 5.0 500.0 dilate all
fix plate_nvt grp_plate rigid/nvt molecule temp 0.1 0.1 10.0
run 100000
unfix sphere_npt
unfix plate_nvt


The pressure on the last timestep of the compression phase is 5.0 so I thought it would be fine once it switched to isobaric. Any ideas why things are going wrong?

If more information is needed, please let me know!


There seems to be something missing from the commands. the first fix syntax is not correct.

Please note that you are changing two things: temperature target and pressure target.
Not all combinations of parameters and target values work for all time constant values and system sizes. For some combinations, the internal integrator for the fictitious degrees of freedom representing the nose-hoover chains can diverge. That can be for temperature or pressure.


Hi Axel,

You’re right, forgot to put nvt in the nvt fixes…those are corrected in the actual run.

I believe what I’ll do, following your comment, is change temperature and pressure in individual runs… maybe drop temperature and then increase the pressure.