← Back to team overview

yade-users team mailing list archive

Re: Any idea to calculate the total nooverlapping volume of the particle assembly?


Thanks Vaclav:

I am now trying to implement this algorithm, however still thinking if there is better way to do that: 
(1) For tetrahedral elements, I wonder it might be good to use the polygon boolean operations (there are some example cases in CGAL, 3D boolean operations, Nef_3), but for spheres I don't have any idea
(2) I wonder if opengl has any embedded methods, since it supports selection the object...
(3) More complicated algorithms like ray tracing, etc, but those algorithms are beyond my area of knowledge.
The reason I think of those methods, is the sampling method (grid method) is still an approximate method, while polygon boolean operation is an accurate method..., I might be too critical at this:)


-----Original Message-----
From: yade-users-bounces@xxxxxxxxxxxxxxxx on behalf of Václav Smilauer
Sent: Fri 11/16/2007 8:29 AM
To: yade-users@xxxxxxxxxxxxxxxx
Subject: Re: [Yade-users] Any idea to calculate the total nooverlapping	volume of the particle assembly?
I'd sample the whole space (dimensions x,y,z), then calculate
occupied_volume=(#hits/#samples)*sample_volume=(#hits/(x/dx*y/dy*z/dz))*x*y*z. I did this for tetrahedra once, it worked pretty well. It will be probably quite slow if you do it at every timestep, but will work in all cases.

Less generally, you would consider that there is no situation that 3
bodies occupy one point (can be quite reasonable an assumption). The
you'd sum all particle's volumes (constant) and then for each
interaction, subtract once the volume (some geometry) that is doubled by
the overlap. But it will work on unbounded space only, i.e. you'll get
V_the_whole_spherical_arrangement, not V[red]. 

Yade-users mailing list

Follow ups