Group Abstract Group Abstract

Message Boards Message Boards

Porosity calculation of complex three-dimensional model

Posted 1 month ago
POSTED BY: 扬 崔
4 Replies
Posted 1 month ago

I now generate a three-dimensional model, using two methods to calculate the porosity, the first method is generated by the volume function, the second is calculated by the method of discrete mathematics, but I did not understand, the two results are not the same, is not my which method has a problem,

L = 2 \[Pi]; d = 0.1;
point = Table[{x, y, z}, {x, -L, L, d}, {y, -L, L, d}, {z, -L, L, 
    d}];
point = Flatten[point, 3];
condition = -0.5 < (Cos[#1] Sin[#2] + Cos[#2] Sin[#3] + 
        Cos[#3] Sin[#1] &) @@ # < 0.5 &;
point1 = Select[point, condition];
1 - N@(Length[point1]/Length[point])

tpmsG := Cos[x] Sin[y] + Cos[y] Sin[z] + Cos[z] Sin[x]
porosity[formula_, neg_, pos_] := 
 Module[{}, 
  1 - Volume[
     ImplicitRegion[-neg < formula < 
       pos, {{x, -2 \[Pi], 2 \[Pi]}, {y, -2 \[Pi], 
        2 \[Pi]}, {z, -2 \[Pi], \[Pi]}}]]/(4 \[Pi])^3]
porosity[tpmsG, 0.5, 0.5]

enter image description here

enter image description here After that, I generated a model of radial variation, which is its code. How can I calculate its porosity?

enter image description here

POSTED BY: 扬 崔

In your first example you have evaluated the plot without entering the definition of tpmsI.

POSTED BY: Gianluca Gorni
Posted 1 month ago

thanks,that is reason

POSTED BY: 扬 崔

On my system this gives a nonempty plot:

tpmsI[a_] := 
  2 Cos[a x] Cos[a y] + 2 Cos[a x] Cos[a z] + 2 Cos[a y] Cos[a z] - 
   Cos[a 2 x] - Cos[a 2 y] - Cos[a  2 z];
RegionPlot3D[(-0.5 < tpmsI[1.7 - 0.2*(1 - Exp[-Norm[{x, y}]/3])] < 
    0.5) && Norm[{x, y}] < 10,
 {x, -10, 10}, {y, -10, 10}, {z, 0, 5}, PlotPoints -> 50]

It is probably not accurate, because PlotPoints should be much higher, but it would take longer computation time.

POSTED BY: Gianluca Gorni
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard