Massflow

Submitted by MiroMüller on Tue, 03/07/2017 - 15:56

Hi everyone

I've got a problem by using the command massflow/mesh.

I want to simulate a micro-sandglass and would like to count the particelflow that passes the MassFlow.stl mesh (see Example_1).

I also made a simple simulation with only four particles (Example_2) trying to get more knowledge about this mysterious file called massflow.dat, whitch is written in this line:

# Mass Flow Measurement
fix massflow all mesh/surface file meshes1/MassFlowTest.stl type 1 scale 1
fix mass all massflow/mesh mesh massflow vec_side 0.0 -1.0 0.0 count once file massflow.dat

But i cant get the "global vector of length 6" which is mentioned on your page here:
http://www.cfdem.com/media/DEM/docu/fix_massflow_mesh.html#restart-fix-m...

or i just cant interpret the massflow.dat-file, which are in my opinion the per-atom-vectors.

I also saw the contribution in the LIGGGHTS user Forum about using a 3D mesh. Do you know what he means with this?
http://www.cfdem.com/forums/solved-fix-massflowmesh-doubt

Anyway, if you have an example how I can use meshflow or if you can help me with my codes, I'd be very happy :)

Thx, Miro

AttachmentSize
Binary Data massflow.tar_.gz136.02 KB
richti83's picture

richti83 | Wed, 03/08/2017 - 15:46


fix plane1 all mesh/surface/planar file plane1.stl type 2
fix mass all massflow/mesh mesh plane1 vec_side 1. 0. 0.
variable t equal step*dt
variable NP equal f_mass[2] #number of particles #f_ references fix mass
variable IP equal f_mass[4] #particles per second
fix output all print 1000 "$t,${NP},${IP}" screen no file output.csv title "t,N,I" #writes single csv file with number of particles which crosses the plane and particles per seconds


This fix also computes a global vector of length 6. This vector can be accessed via “f_ID”, where ID is the fix id. The first vector component is equal to the total mass which has crossed the mesh surface, the second vector component indicates the particle count. The third vector component is equal to the total mass which has crossed the mesh surface since the last output divived by the time since the last output (i.e., the mass flow rate), the fourth vector component indicates the particle count since the last output divived by the time since the last output

http://www.cfdem.com/media/DEM/docu/fix_massflow_mesh.html

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

MiroMüller | Thu, 03/16/2017 - 11:43

Thank you,

it solved the problem - only to get 100 new ones :P

Greets Miro

manton | Fri, 06/15/2018 - 10:35

Hello richti83,
Thank you for the code. It worked. I m wondering if i can add another mesh surface and calculate the mass using this code on that surface.
I tried to do the following
fix mass all massflow/mesh mesh plane1 plane 2 vec_side 1. 0. 0.

It did not work.

Tried to add the whole code with another mesh, defining the variables and creating a 2nd output.csv file. also did not work.

Do you have any suggestions.

richti83's picture

richti83 | Mon, 06/18/2018 - 08:44

In this case you'll need two fix massflow meshes, one for every plane as fix massflow/mesh only accepts one mesh (oposite to wall/gran)

fix plane1 all mesh/surface/planar file plane1.stl type 2
fix plane2 all mesh/surface/planar file plane2.stl type 2
fix mass1 all massflow/mesh mesh plane1 vec_side 1. 0. 0.
fix mass2 all massflow/mesh mesh plane2 vec_side 1. 0. 0.
variable t equal step*dt
variable NP1 equal f_mass1[2] #number of particles #f_ references fix mass1
variable NP2 equal f_mass2[2] #number of particles #f_ references fix mass1
variable IP1 equal f_mass1[4] #particles per second
variable IP2 equal f_mass2[4] #particles per second
fix output all print 1000 "$t,${NP1},${IP1},${NP2},${IP2}" screen no file output.csv title "t,N1,I1,N2,I2" #writes single csv file with number of particles which crosses the plane and particles per seconds

best, Christian

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