Different mesh rotations between LIGGGHTS versions

40044600's picture
Submitted by 40044600 on Fri, 08/03/2018 - 15:07

Hello,

I'm running simulation on both LIGGGHTS 3.3.1 and LIGGGHTS 3.8.
When I run a simulation which includes a mesh rotation about 2 axis I get a different rotations.

The command's I'm using are:

fix movemesh1 all move/mesh mesh cad1 rotate origin 0.0 0.0 0.0 axis 0. 0. 1. period 8
fix movemesh2 all move/mesh mesh cad1 rotate origin 0.0 0.0 0.0 axis 0. 1. 0. period 2

Using the LIGGGHTS 3.3.1 I get a a rotation as expected from reading the LIGGGHTS documentation for the move mesh command where it discusses superposition of multiple move/mesh commands (copied at bottom). However, when I run these exact same commands on LIGGGHTS 3.8 I get a different rotation where it appears that the reference frame for the second move command does not move along with the first command.

I'm just wondering why I'm getting two different rotations for the same commands and how I can achieve the rotations achieved on LIGGGHTS 3.3.1 on LIGGGHTS 3.8.

Many thanks,
Jonathan

"Superposition of multiple fix move/mesh commands:

It is possible to superpose multiple fix move/mesh commands. In this case, the reference frame for the second move command moves along as the mesh is moved by the first move command etc. E.g. for style rotate, the origin of the rotation axis would be in local reference frame.

Example: A mesh should rotate around a central axis and additionally revolve around its center of mass. The first move command should be the rotation around the central axis, the second move command the revolution around the center of mass of the mesh.

Note, because of this the order of these fixes is important. A rotate mover that comes before a linear mover would have a fixed center of rotation, whereas in the opposite case the center of rotation would move linearly with the object."

Daniel Queteschiner | Tue, 08/07/2018 - 14:25

There have been changes to the mesh movement implementation in 3.7.0 most probably resulting in different behaviour. I'm not quite sure if (and how) it's possible to get the same behaviour, though.

mar_co | Tue, 01/21/2020 - 13:27

Hi all,
I am new with liggghts
I am try to rotate the same fix mesh with different origin and different running step
When I run a simulation which includes a mesh rotation about 2 different axis I get a different rotations in the first running, it is running fine.
But at the second running, i get the error as follows : " ERROR: Illegal deletion of a fix move/mesh. There is another fix move/mesh command active on the same mesh. Superposed fix move/mesh commands must be unfixed in reverse order of creation (fix_move_mesh.cpp:137) "

My goal is to make a rotation like planetary gear with differents axis and the angular velocity has to be change in each run

I implemented what I want to do as follows:

variable w1 equal -10.0
variable w2 equal -20.0

variable w3 equal -30.0
variable w4 equal -40.0

run 1000 upto
fix movecad1 all move/mesh mesh cad1 rotate origin 0.0 0.0 0.0 axis 0.0 0.0 1.0 period -2.0
fix movecad2 all move/mesh mesh cad2 rotate origin 0.0 0.0 0.0 axis 0.0 0.0 1.0 period -2.0

fix movecad3 all move/mesh mesh cad1 rotate/variable origin -0.35 0.0 0.0 axis 0.0 0.0 1.0 omega v_w1
fix movecad4 all move/mesh mesh cad2 rotate/variable origin 0.45 0.0 0.0 axis 0.0 0.0 1.0 omega v_w2

unfix movecad1
unfix movecad2
unfix movecad3
unfix movecad4

fix movecad5 all move/mesh mesh cad1 rotate origin 0.0 0.0 0.0 axis 0.0 0.0 1.0 period -2.0
fix movecad6 all move/mesh mesh cad2 rotate origin 0.0 0.0 0.0 axis 0.0 0.0 1.0 period -2.0

fix movecad7 all move/mesh mesh cad1 rotate/variable origin -0.35 0.0 0.0 axis 0.0 0.0 1.0 omega v_w3
fix movecad8 all move/mesh mesh cad2 rotate/variable origin 0.45 0.0 0.0 axis 0.0 0.0 1.0 omega v_w4

run 2000 upto

<<< I get follows error at 1000 step:
ERROR: Illegal deletion of a fix move/mesh. There is another fix move/mesh command active on the same mesh. Superposed fix move/mesh commands must be unfixed in reverse order of creation (fix_move_mesh.cpp:137)
-------------------------------------------------------
Primary job terminated normally, but 1 process returned
a non-zero exit code.. Per user-direction, the job has been aborted.
-------------------------------------------------------
--------------------------------------------------------------------------
mpirun detected that one or more processes exited with non-zero status, thus causing
the job to be terminated. The first process to do so was:

Thanks you in advance.