Fix Deform Variable hangs with rigid bodies

Hi All,

My system is made up of many small rigid bodies which are comprised of ellipsoids interacting via the Gay-Berne potential.

I am trying to compress my simulation box with fix deform variable. I want to compress it in all three directions at regular time intervals throughout my simulations. I want to input a variable related to some reaction coordinate that is not necessarily a function of time.

There are examples of the use of fix deform with rigid bodies in the LAMMPs repository but none of them use the ‘variable’ option and I couldn’t find anything regarding this style of the fix on the mailing list.

When I do this my simulation will hang at a time step where the deformation happens (often not the first one, the time step the hang occurs on depends on system size and how often I do fix deform but it is not predictable). I have tested this with the latest version of LAMMPs and with and without GPUs/multiple CPUs.

I have also tested fix deform final on the same test systems (2000 ellipsoids, 400 rigid bodies) which doesn’t have any issues. Note that fix deform final and fix deform variable BOTH work for a LJ fluid test system also.

An example fix command that causes this issue but works for the LJ fluid:

variable var1 equal -0.01*time

variable var2 equal 0.1
fix comp all deform 1000 x variable v_var1 v_var2 &
y variable v_var1 v_var2 &
z variable v_var1 v_var2 &
remap x units box

Any ideas what the problem could be?

Thank you in advance for your help on this issue.

Andrew

Hi All,

My system is made up of many small rigid bodies which are comprised of
ellipsoids interacting via the Gay-Berne potential.

I am trying to compress my simulation box with fix deform variable. I want
to compress it in all three directions at regular time intervals throughout
my simulations. I want to input a variable related to some reaction
coordinate that is not necessarily a function of time.

There are examples of the use of fix deform with rigid bodies in the LAMMPs
repository but none of them use the 'variable' option and I couldn't find
anything regarding this style of the fix on the mailing list.

When I do this my simulation will hang at a time step where the deformation
happens (often not the first one, the time step the hang occurs on depends
on system size and how often I do fix deform but it is not predictable). I
have tested this with the latest version of LAMMPs and with and without
GPUs/multiple CPUs.

I have also tested fix deform final on the same test systems (2000
ellipsoids, 400 rigid bodies) which doesn't have any issues. Note that fix
deform final and fix deform variable BOTH work for a LJ fluid test system
also.

An example fix command that causes this issue but works for the LJ fluid:

variable var1 equal -0.01*time
variable var2 equal 0.1
fix comp all deform 1000 x variable v_var1 v_var2 &
y variable v_var1 v_var2 &
z variable v_var1 v_var2 &
remap x units box

Any ideas what the problem could be?

extremely difficult to say with just a few isolated lines of input.
most of the time when people report problems, the origin of those are
in the part of the input, they don't show.
my initial guess would be, that your deformation variables produce
some unsuitable numbers leading to the time integration breaking down.
there could also be some bad interaction with colliding communication
calls.

can you produce a very simple/small input deck, that reproduces the
situation quickly (< 5min) on a small number of CPUs (2-8)?

axel.