How to make roller move and roll at the same time(Additive manufacturing)

Submitted by ___duffy__ on Sun, 08/12/2018 - 05:19

Hi, all,
I'm trying to analyze powder spreading process of additive manufacturing.
In my case, a cylindrical roller rolls on a bed of deposited powder and spread it to make a new layer on the fusing bed like shown simplified in the attached figure.
My question is how to rotate and translate the roller at the same time.
I have not come up with an idea to move the center of rotation.
Thank you in advance.

Akio

AttachmentSize
Image icon rollandmove.png32.59 KB
richti83's picture

richti83 | Mon, 08/13/2018 - 09:03

You can use two move/mesh commands, 1st one for translation, second one for rotation. See:
https://www.cfdem.com/media/DEM/docu/fix_move_mesh.html

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.

I'm not an associate of DCS GmbH and not a core developer of LIGGGHTS®
ResearchGate | Contact

___duffy__ | Thu, 08/16/2018 - 05:28

Thank you richti83,
I implemented what I want to do as follows,
fix cad1 all mesh/surface file meshes/roller_72_fin.stl type 2 move 0 13.1 0 scale 1000
variable rvx equal 2.0 # Roller moving speed in Micro m/Micro sec.
variable rots equal 5.0 # Roller rotation speed in RPS
variable rot equal 1e6/${rots}
fix movecad1 all move/mesh mesh cad1 linear ${rvx} 0.0 0.0
fix movecad2 all move/mesh mesh cad1 rotate origin 0.0 13100 0.0 axis 0. 0. 1. period ${rot}
Best regards,
___duffy___

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

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.