Question #690057 on Yade changed:
https://answers.launchpad.net/yade/+question/690057

    Status: Open => Answered

Jan Stránský proposed the following answer:
Hello,

1) and 2) are in principle the same, computing (V-V_s)/V [1,2]
V_s = sum of volumes of spheres (regardless overlaps)
V = total volume (see below)

differences:
1) triax.porosity treats V "automatically",
2) utils.porosity (as the documentation says) consideres V as aabbDim or 
user-defined argument

3) voxelPorosity [3], as the name suggests, it is an **approximation** based on 
voxels ("little cubes")
- does not count overlaps multiple times (is not clear from the documentation? 
If so, feel free to improve it)
- needs fine resolution to be precise

> Can anyone give me some suggestions about which method is more
suitable or reasonable?

it very much depends on your needs, expectations, ...
- if you have significant overlaps or not
- what you use the value of porosity for
- how many particles you have in the sample (like a few particles is OK, but. 
e.g. having 1000x1000x1000 particles, then voxelPorosity(1600,...) does not 
make sense)
- etc. etc.

cheers
Jan

[1] 
https://gitlab.com/yade-dev/trunk/-/blob/master/pkg/dem/TriaxialStressController.cpp#L142
[2] https://gitlab.com/yade-dev/trunk/-/blob/master/pkg/dem/Shop_01.cpp#L382
[3] https://yade-dem.org/doc/yade.utils.html#yade._utils.voxelPorosity

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

_______________________________________________
Mailing list: https://launchpad.net/~yade-users
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp

Reply via email to