Gyroid Sphere
In this tutorial, we will generate gyroid scaffold from sphere.stl
whose bounding box is
\(2 \times 2 \times 2\). In order to generate porous mesh, the implicit function (gyroid
for this case),
angular frequency (\(w\)), and isolevel (\(t\)) are required (See Command line).
Angular frequency
According to prior study,
\(w\) is inversely proportational to the pore size (see Tips). That is, when \(w\) increases,
the pore size will be decreased. For gyroid, \(w \approx \pi/\text{pore size}\). If we want pore size of 0.25
(unit as same as sphere.stl
), we try to initially set \(w = \pi/0.25 \approx 12\)
Isolevel
\(t\) is directly proportional to the porosity. In the other word, if we want to increase porosity, we have to increase \(t\)!. However, some values of \(t\) are probably lead to the problematic 3D mesh. Thus we initially leave this value to the default (\(t=0\)).
Grid size
Grid size is a resolution of the output 3D mesh. Unless we generate a 3D mesh for FEA, this parameter is leave as a default value of 100.
Parameters summary
input file = sphere.stl
, surface = gyroid
, coff (\(w\)) = 12
, isolevel (\(t\)) = 0
, grid size = 100
Command line
Scaffolder sphere.stl out.stl gyroid,12,0,100 -m
-m
or --microstructure
to enable the pore size evaluation. Then the console output is reported as the following:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
|
Adjust isolevel for 60% porosity
Suppose that the target porosity is 60%. Then we increase \(t\) to 1 and generate 3D mesh again
Scaffolder sphere.stl out.stl gyroid,12,1,100 -m -q
This time, we add -q
or --quite
to prevent the verbose output. The program will save the report in a file (<output_name>_<surface><timestamp>.txt
) instead.
We use binary search to adjust the new value of \(t\) to find the optimal value with the 60% porosity.
\(t\) | 0 | 1 | 0.5 | 0.25 | 0.375 | 0.3125 | 0.28 | 0.265 |
---|---|---|---|---|---|---|---|---|
Porosity | 0.508 | 0.85 | 0.67 | 0.59 | 0.634 | 0.613 | 0.602 | 0.597 |
We can also use the classical numerical method called Secant method to find the optimal \(t\) for the target porosity.
\(t\) | 0 | 1 | 0.27 |
---|---|---|---|
Porosity | 0.508 | 0.85 | 0.5989 |