Implementation of Voidfraction Divided

Submitted by mschramm on Wed, 01/13/2021 - 03:49

Hello,
Does anyone have a picture or figure that shows how the spheres are divided.
I tried doing this and I am getting spheres that overlap.
I have attached some python code (will need numpy) that recreates the structure.
Does anyone know where I could find more literature about this method?
Below is what I found for the x,y,z locations and r is set to sqrt(1/29) for each sphere.

Thank you for any and all help.

[[ 0. 0. 0. ]
[ 0.31380327 0.31380327 0.44378484]
[ 0.31380327 0.31380327 -0.44378484]
[-0.31380327 0.31380327 0.44378484]
[-0.31380327 0.31380327 -0.44378484]
[-0.31380327 -0.31380327 0.44378484]
[-0.31380327 -0.31380327 -0.44378484]
[ 0.31380327 -0.31380327 0.44378484]
[ 0.31380327 -0.31380327 -0.44378484]
[-0.62760654 0. 0. ]
[ 0. -0.62760654 0. ]
[ 0. 0. -0.62760654]
[ 0.62760654 0. 0. ]
[ 0. 0.62760654 0. ]
[ 0. 0. 0.62760654]
[ 0.45426404 0.45426404 0.64242636]
[ 0.45426404 0.45426404 -0.64242636]
[-0.45426404 0.45426404 0.64242636]
[-0.45426404 0.45426404 -0.64242636]
[-0.45426404 -0.45426404 0.64242636]
[-0.45426404 -0.45426404 -0.64242636]
[ 0.45426404 -0.45426404 0.64242636]
[ 0.45426404 -0.45426404 -0.64242636]
[-0.90852807 0. 0. ]
[ 0. -0.90852807 0. ]
[ 0. 0. -0.90852807]
[ 0.90852807 0. 0. ]
[ 0. 0.90852807 0. ]
[ 0. 0. 0.90852807]]

AttachmentSize
Plain text icon dividedvoidratio.txt834 bytes

Daniel Queteschiner | Wed, 01/13/2021 - 15:42

So we want to split up the volume of the sphere into 29 equal volumes to be able to distribute it correctly to multiple cells.
The first sub-volume is a small sphere at the center of the original sphere (with 1/29 of the original volume of course).
Then we create two spherical shells, each of which should represent 14/29 of the volume of the original sphere.
The smaller radius of the inner shell is equal to the radius of the small sphere created at the center.
The larger radius of the outer shell is equal to the radius of the original sphere.
The larger radius of the inner shell is equal to the smaller radius of the outer shell (and is determined by the volume condition).

The remaining problem is how to divide such a spherical shell into 14 equal volume elements.
We can reformulate the problem to: how can we distribute the centroids of the sub-volumes on the surface of a sphere equidistantly?
The solution chosen here is a spherical disdyakis hexahedron, cf. https://commons.wikimedia.org/wiki/Category:Spherical_disdyakis_hexahedron_(light_and_dark_brown)
(also see https://en.wikipedia.org/wiki/Tetrakis_hexahedron )
Considering the code to construct these points here, it is more like a dual compound of a cube and an octahedron, cf. https://en.wikipedia.org/wiki/File:Dual_compound_8_max.png

(I can imagine that the original idea was simply: add satellite points to the left, right, front, back, bottom, top and then some more diagonally)

mschramm | Thu, 01/14/2021 - 19:28

Thank you for the info.
I like the satellite points explanation and this fits with what I was conceptualizing. The issue I have with this then is the "29 non overlapping regions" statement in the doc.
From what I think the code is doing.
For each sphere, 29 satellite points are created. Each point is then checked to determine which cfd cell it resides in.
If a point resides in a cell, then 1/29 of the sphere's volume is considered when changing the void ratio for that cell.

Does this come down to an issue of shapes where me seeing each satellite point as a sphere is wrong and the original sphere is replaced with a sphere with 1/29 the volume inside of a dual compound of a cube and an octahedron where each square pyramid and each tetrahedron has 1/29 the volume of the original sphere, where this is all inside a larger dual compound of a cube and an octahedron that has its own non-overlapping volumes where each volume is 1/29 the volume of the original sphere?

or am I putting way too much importance on the "non-overlapping" part?