total volume

raguelmoon's picture
Submitted by raguelmoon on Sun, 04/10/2011 - 12:43

Hi,
Is there a way to find total volume occupied by particles in simulation region during the run?
Thanks in advance,
Ram

JF's picture

JF | Sun, 04/10/2011 - 15:08

Hi Ram,

If I have well understood your question, you want to compute the apparent volume = volume of particles + volume of voids.
To compute it, I think that LIGGGHTS does not have this feature. I think that you probably need to use the voronoï cells from the code as: voro++ or CGAL.

Regards
JF

raguelmoon's picture

raguelmoon | Sun, 04/10/2011 - 17:18

Hi JF,
Your are right. I want this. Please can you guide me how to get and use these code in order to do so?
Thanks,
Ram

Ram

ckloss's picture

ckloss | Sun, 04/10/2011 - 19:43

>>Please can you guide me how to get and use these code in order to do so?
Use google.

Alternatively, you can also use the CFDEM coupling (without calculating a flow problem itself), which calculates a "volume fraction", and if you integrate f(volumefraction)*cellvolume over the domain, where f is a unitstep function (say 1 for volumefraction>0.2, 0 else), you have the apparanent volume, based on the discretization (mesh) of your choice

Christoph

JF's picture

JF | Mon, 04/11/2011 - 11:10

Hi,

Once, I tried from voro++ to create voronoi cell during my simulation in a small sequential DEM code. I can give you the different lines implemented in this code to compute the apparent volume = sum volume each voronoï cell. However you need to go on the website to understand how this powerfull code works and to check if theses following lines are correct.

Good luck !!!
JF

Ps: you can also try with CGAL, but you have to be an expert on C++.

#include "../src_voro++/voro++.cc"

// Set up constants for the container geometry
const fpoint x_min=0,x_max=1; // VORONOI
const fpoint y_min=0,y_max=1; // VORONOI
const fpoint z_min=0; // VORONOI

fpoint z_max=1; // VORONOI
fpoint *Vol_cell;// VORONOI

// Set up the number of blocks that the container is divided
const int n_x=10,n_y=10,n_z=10; // VORONOI

container_poly conp(x_min,x_max,y_min,y_max,z_min,z_max,n_x,n_y,n_z,false,false,false,8); // VORONOI

loop on the particles: {
conp.put(i,_x1(i),_x2(i),_x3(i),_R(i)); // VORONOI
}

conp.store_cell_volumes(Vol_cell);// VORONOI