Time dependent move rotate

Submitted by jagan1mohan on Wed, 06/02/2021 - 17:00

Hello All, I have a question on fix move rotate command in LIGGGHTS. Setup has a drum made up of particles, closely placed so that there is no gap.

I'm first using
fix wall particleWall freeze to freeze particles and then using
fix particleWallRotate particleWall move rotate 0.0 0.0 0.0 0.0 0.0 1.0 0.05 to rotate wall with a constant period of 0.05 sec.
This is working okay.

But when I'm trying to accelerate rotation using a time-dependent variable using
variable PERIOD equal 60.0/(400.0+5.0*time)
fix particleWallRotate particleWall move rotate 0.0 0.0 0.0 0.0 0.0 1.0 v_PERIOD

Simulation fails with following error: ERROR: Expected floating point parameter in input script or data file (../fix_move.cpp:144)

1. Is fix freeze must before fix move rotate?
2. How can rotation be accelerated for this wall made up of particles?

Thank you.

Daniel Queteschiner | Fri, 06/11/2021 - 12:18

ad 1) fix freeze clears all forces on the particles, so if you don't do this the particles of your wall will be influenced by any external forces such es gravity, collision with other particles etc.
ad 2) time dependent variables are not supported for the rotate style of fix move. You may try to create some rotational movement using the variable style of fix move (using atom style variable to access current atom position and do the math for rotation yourself, i.e. basically translating this C++ code to input script syntax: https://github.com/CFDEMproject/LIGGGHTS-PUBLIC/blob/master/src/fix_move...) or modify the C++ code to make the rotate style accept time dependent variables

>>Try ${PERIOD} instead of v_PERIOD. I think your variable might be called falsely.
That will not result in a time dependent variable, but just replace the variable with a value upon parsing the script once.

jagan1mohan | Mon, 06/14/2021 - 18:02

Hello Daniel, thank you. ${PERIOD} and v_PERIOD both did not work on fix rotate. I came up with a few shell scripts which could produce a variable rotation rate as the simulation progressed.