Boundary pores for simulation #2970
Replies: 4 comments
-
Hi @atheer1990 As for the boundary pores, they are also a user choice. They do give you smooth faces which helps sometimes, but their sizes are not realistic so you need to be careful about what values of conductivity are used. So either you manually find internal pores (as you suggested above) or you manually adjust the conductivity of boundary pores. It's whatever you prefer. |
Beta Was this translation helpful? Give feedback.
-
Dear Professor @jgostick many thanks for your replay it is relay helpful. I would like to ask for advice on this (I dont know if I need to open another issue for it) I have a binary image (128, 128, 128) with resolution 2.25um cropped from a larger one that I'm using it for testing. I have extracted the network using snow2. A 2d slice with the segmentation is shown below. 1 - After displaying the network and the image (aligned with openpnm using align_image_with_openpnm) I don't see any matching as shown below and I m not sure if the diameters look reasonable? 2 - Also when I did the relative perm estimation following the example, I got a warning WARNING throat.conduit_hydraulic_conductance was not run since the following property is _models.py:480 missing: 'throat.occupancy' that it seems to result from the first iteration as the throat.occupancy is not yet present in the phase dictionary. so how to fix this warning 3 - during the relative perm estimation if I increase the number of saturation points from 10 to 100 the plot becomes as below. is this correct in your opinion? Please note: the minimal working code is this RelPerm.txt and the image that I'm using is this Berea_2d25um_binary_crop_original.zip Your valuable insights are highly appreciated |
Beta Was this translation helpful? Give feedback.
-
Hi @atheer1990
2 and 3. Have you looked at the examples on the openpnm page here and here? Also, when doing the invasion, using InvasionPercolation instead of Drainage will give you a more continuous invasion history so have fewer jumps in saturation. |
Beta Was this translation helpful? Give feedback.
-
Hi Professor @jgostick , Thank you for your time and replay. I have tried to save the image using the ps.io.to_vtk but when I load the image into Paraview I got this error I also tried the ps.io.to_stl method but it seems that the image is also not aligned properly with the the extracted network as shown below.
The way that im using these methods is like this
Also when I do the absolute permeability calculations the value that I'm getting is around 4 md while the actual value is like 120 md so do you have any suggestions on why this could be the case. From further experimenting with the permeability estimation it seems that the the shape functions like spheres_and_cylinders tend to significantly reduce permeability compared to pyramids_and_cuboids. Also in my sample the original work got perm =120 md using the old version of snow which also produce less pores and throats than snow2 so can you please let me know what was the shape function used with the old snow and if there is any way to make snow2 produce same network as old snow? |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi team,
thanks for your continuous help and support.
I would like to ask for your kind help with the followings. when I used snow2 to extract the network from my binary mage I got the network with pore.equivalent_diameter, throat.equivalent_diameter,pore.inscribed_diameter, throat.inscribed_diameter, pore.extended_diameter, throat.total_length, throat.direct_length. While I understand that the meaning of equivalent_diameter being as the diameter equivalent to the pore/throat and inscribed_diameter being the diameter that can fit inside the pore/throat , I don't really understand the meaning of extended_diameter, total_length and direct_length. From I read it seems that these are user dependent choices to select for the pore.diameter, throat.diameter and throat.spacing. So please further explanation will be helpful also are their any rules or guides for the user when making these selections.
Additionally, when using snow2 we can specify the number of boundary voxels. However from what I read it seems many suggestions recommend using snow2 with zero boundary_width and use the internal actual pores extracted from something like x_min = pn.coords[:,0] < 1.1*pn.coords[:,0].min() as the left boundary for the simulation. So my question is how to decide when to zero out the boundary_width in snow2 and use the internal pores. and if we want to use the boundary_width how to deal with these pores in a way to reduce their influence?
Beta Was this translation helpful? Give feedback.
All reactions