Compute Force acting on mesh

Submitted by mcsk2000 on Wed, 02/07/2018 - 08:08

Hello, I am a beginner at using LIGGGHTS.

One quick question!

Is there any way to compute the force acting on the mesh ?
For example, if the mesh wall is enforced to move toward a pile of particles, then how can I calculate the entire force acting on the mesh?

Thanks,
Hakun

richti83's picture

richti83 | Wed, 02/07/2018 - 11:50

Yes, see for example:
https://www.cfdem.com/forums/tutorial-3-dem-flow
Have a look at fix messflaeche all mesh/surface/stress file STL/messflaeche.stl type 2 scale 0.001 stress on and

variable time equal step*dt
variable fx equal f_messflaeche[1]
variable fy equal f_messflaeche[2]
variable fz equal f_messflaeche[3]
variable Mx equal f_messflaeche[4]
variable My equal f_messflaeche[5]
variable Mz equal f_messflaeche[6]
dump forces all mesh/vtk 1000 post/dumpI*.vtk output interpolate id stress stresscomponents
fix forceslog all print 100 "${time},${fx},${fy},${fz},${Mx},${My},${Mz}" file post/forces.csv title "t,Fx,Fy,Fz,Mx,My,Mz" screen no

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

mcsk2000 | Thu, 02/08/2018 - 07:41

Thank you so much!

I successfully ran your script without any error.
I would like to add one minor thing that 'LIGGGHTS-PUBLIC 3.8.0' is sensitive to capital letters. So either file name of "primes.inc" or include command "include prime.inc" should be matched.

It was difficult to find the commands of "mesh/surface/stress", since it is not directly shown in the manual.
Once again, I appreciate your kind help.

Hakun

Best regards,
Hakun

arnom's picture

arnom | Tue, 02/20/2018 - 11:42

Hi Hakun,

we indeed missed the mesh modules in the current documentation. We will fix this for the next release.

Thanks,
Arno

DCS team member & LIGGGHTS(R) core developer

AnjanaKittu | Tue, 03/06/2018 - 00:27

Hi all,
I am a beginner here. My simulation currently employs one servo wall and three non-servo walls. Two of the non servo walls are moved at a constant velocity in this assembly. All the walls are stls and I am needed to track the forces and positions on all four meshes. How do I do this?
My code for tracking the forces on three walls given below and as you can see there are 9 variables and I get only 7 outputs, which confuses me since the numbers doesnt seem right.

variable fx_botcyl equal f_cad2[1]
variable fy_botcyl equal f_cad2[2]
variable fz_botcyl equal f_cad2[3]
variable fx_pl equal f_cad3[1]
variable fy_pl equal f_cad3[2]
variable fz_pl equal f_cad3[3]
variable fz_top equal f_cad4[3]
variable xpos_cyl equal f_cad2[7]
variable xpos_pl equal f_cad3[7]

fix forceslog all print 1000 "${fx_botcyl},${fx_pl},${fy_pl},${fz_pl},${fz_top},${xpos_cyl},${xpos_pl}" file post/forces.txt title "fx_botcyl,fy_botcyl,fz_botcyl,fx_botpl,fy_botpl,fz_botpl,fz_toppl,xpos_botcyl,xpos_botpl" screen no

Please help me with this.

Thank you!!

richti83's picture

richti83 | Tue, 03/06/2018 - 08:06

Hi Anjana,
As only fix mesh/stress/servo stores the current position I guess your xpos_cyl is wrong. You can calculate the current position of a moving mesh with:

variable now equal step #store current step when moving does not start at t=0
variable xmesh equal ${vmesh}*(step-${now})*dt

Also in your print command two variables are missing (${fy_botcyl} and ${fz_botcyl}) and that's why you get only 7 columns ....

Best,
Christian.

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