problem with nvt & dt/reset

Dear users

I am simulating relaxation of crystal by nvt integration.

because of divergent in the simulation after 200000 steps, I have used dt/reset to limit the atom displacement in each step.

I have defined a variable to monitor the displacement in all of x, y , z directions and the equivalent displacement by use sqrt(dx^2+dy^2+dz^2).

I used the dt/reset to limit the displacement of atoms to 0.02(Xmax) by “fix relaxdtreset all dt/reset 1 1e-5 0.001 0.02 units box” command, but the displacement go upper the Xmax and the dt dont change.
when the dt start to change, I cant understand the relation between dt and Xmax.

I have used the following commands to compute atoms displacement.

compute relaxdis all displace/atom
compute xrelaxdis all reduce c_relaxdis[1]
compute yrelaxdis all reduce c_relaxdis[2]
compute zrelaxdis all reduce c_relaxdis[3]

variable equdis equal sqrt (c_xrelaxdis^2+c_yrelaxdis^2+c_zrelaxdis^2)
1- why the fix dt/reset dont work good in my simulation?

2- I understand thet the means of Xmax is Xmax=sqrt(dx^2+dy^2+dz^2)?

3- is there any conflict between use fix nvt an fix dt/reset? I think there is a problem between nose hoower termostat and fix dt/reset.


fix dt/reset limits the displacement of atoms in a single
timestep. Over the course of many timesteps the atoms can
move anywhere they like. If your fix nvt model is diverging
after 200K steps, you don't need fix dt/reset. Something else
is wrong with your model. If you can't run it stably with fix nve,
then fix nvt is probably hiding some fundamental issue, like
too large a timestep.