appropriate of porosity
Hi all,
I know there are three ways to calculate the porosity. (1) in triaxial test, using trix.porosity. (2) using 'yade._
Right now, I want to get the porosity of a gravity deposition sample. after the sample settles down.
I use method (2) and (3).
here is the code to calculate the porosity:
the boundary of the box is: O.bodies.
#######
from yade import utils
volume_all = 1*1*1
solid_volume = 0
resolution = 1600
corner =Vector3(0,0,0)
upper =Vector3(1,1,1)
for b in O.bodies:
if isinstance(
if 0 < b.state.pos[2] <= 0.2:
radius = b.shape.radius
solid_volume= solid_volume+
local_porosity1 = porosity(
print('porosity1 is:',local_
local_porosity2 = voxelPorosity(
print('porosity2 is:',local_
###############
the results are:
('porosity1 is:', 0.6974628420464914)
('porosity2 is:', 0.7288646931152344)
#######
I know that for both methods, we don't condider the partiles at the boundary (where the particle center isn't inside the boundary). for method 2, we don't consider the overlap between the particles. I don't know whether method 3 considers the voerlap or not and how the consider the overlap.
right now, the difference between these two values is significant.
Can anyone give me some suggestions about which method is more suitable or reasonable?
best,
Yong
Question information
- Language:
- English Edit question
- Status:
- Solved
- For:
- Yade Edit question
- Assignee:
- No assignee Edit question
- Solved by:
- Jan Stránský
- Solved:
- Last query:
- Last reply: