Improve documentation of pore-network grid creator parameters
The generic pore-network grid creator comes with a lot of parameters which are not quite clear immediately.
We should document those properly.
See also !2996 (merged)
Should this go into the generic Parameters
documentation table? Not sure if this is enough because they would probably be scattered all over the table. Maybe we also need a wiki entry for summary?
Just a brief explanation how the StructuredLatticeGridCreator
works (based on https://link.springer.com/article/10.1007/s11242-009-9412-3):
1.) Create a regular, axis-parallel 2D or 3D host grid using YaspGrid (can also have grading)
2.) All 2D/3D element edges are considered as throats, connecting the pores located on the bulk element vertices
3.) Add additional throats by connecting the element vertices diagonally
4.) From this "fully-connected" network, delete throats by specifying a certain DeletionProbability
for each spatial direction (x,y,z and diagonals). This allows to generate anisotropy.
When setting a value of one to the diagonals, a regular axis-aligned lattice grid is created.
5.) Run a sanitation algorithm to remove potential isolated clusters
6.) Assign parameters like PoreInscribedRadius
to the remaining entities
Collection of parameters for StructuredLatticeGridCreator
-
Grid.RemoveThroatsOnBoundary
: Takes list of integers for specifying the side of a cubic domain (0 = xMin, 1 = xMax, 2 = yMin, 3 = yMax, 4 = zMin, 5 = zMax). Removes throats lying on the given sides, i.e. remove throats whose center touches the sides. -
Grid.DeletionRandomNumberSeed
: Random number seed used when randomly deleting throats from the fully connected lattice. Needed for reproducibility. -
Grid.RegularLattice
: When set totrue
, a regular axis-aligned lattice grid without any diagonal throats is created. Corresponds to settingGrid.DeletionProbability
to1.0
for all diagonal directions. -
Grid.DeletionProbability
Takes list of doubles corresponding to the deletion probability of throats for each possible spatial direction.
The directions in 2D are : (1, 0), (0, 1), (1, 1) (1, -1)
Example: 0.0, 0.5, 1.0 , 1.0 will delete all diagonal throats and 50% of all throats in y-direction.
The directions in 3D are (1, 0, 0), (0, 1, 0), (0, 0, 1), (1, 1, 0), (1, -1, 0), (1, 0, 1), (1, 0, -1), (0, 1, 1), (0, 1, -1), (1, 1, 1), (1, 1, -1), (-1, 1, 1), (-1, -1, 1)
-
Grid.Positions
: The host grid positions when using tensor grid coordinates. -
Grid.LowerLeft
: The host grid lower left -
Grid.UpperRight
: The host grid upper right -
Grid.NumPores
: The number of pores in each directions (equals hostGridElements + 1) -
Grid.Grading
: The host grid grading when using tensor grid coordinates. -
Grid.AllowIntersectingDiagonals
. If settrue
, diagonal throats in an host grid element may intersect. Default istrue
.
Collection of parameters for ParametersForGeneratedGrid
-
Grid.SubregionX.LowerLeft
: The lower left of a network subregion, for which individual parameters may be set. X is the subregion id (int). -
Grid.SubregionX.UpperRight
: The upper right of a network subregion, for which individual parameters may be set. X is the subregion id (int). -
Grid.PoreInscribedRadius
: Sets a fixed inscribed radius for all pores. -
Grid.PoreVolume
. Sets a fixed volume for all pores. If not set, the value will be calculated automatically based on the pore geometry and inscribed radius. -
Grid.ThroatInscribedRadius
. Sets a fixed inscribed radius for all throats. If not set, the value will be calculated automatically based on the throat length and the adjacent pore body radii. -
Grid.ThroatLength
: Sets a fixed length for all throat. If not set the value will be calculated automatically based on the adjacent pore body centers and radii. -
Grid.PriorityList
: Takes list of integers for specifying the side of a cubic domain (0 = xMin, 1 = xMax, 2 = yMin, 3 = yMax, 4 = zMin, 5 = zMax). Need to avoid ambiguities when setting the boundary pore labels for pores on corners. The order within the lists determines the precedence of labels. -
Grid.BoundaryFaceMarker
: Takes a list of integers to specifiy the pore label at each boundary.
2D example: Grid.BoundaryFaceMarker = 1 2 0 0
results in label(xMin) = 1, label(xMax) = 2, label(yMin) = 0, label(yMax) = 0
-
Grid.CapPoreRadii
. If settrue
(default), pore body inscribed radii are capped such that the pores do not intersect. -
Grid.MinThroatLength
. Sets a minimum throat length (default 1e-9) in case pores are capped. -
Grid.PoreLabelsToSetFixedRadius
. Takes a list of pore labels at which a certain fixed radius shall be set. Should probably be removed as we haveSubRegions
. Those could also be set based on labels instead of locations. -
Grid.PoreLabelsToApplyFactorForRadius
Takes a list of pore labels at which the given pore radius shall be multiplied by a given factor. Should probably be removed as we haveSubRegions
. Those could also be set based on labels instead of locations. - Grid.FixedPoreRadiusForLabel
- Grid.PoreRadiusFactorForLabel
-
Grid.ParameterRandomNumberSeed
: Random number seed for setting randomly generated parameter. Needed for reproducibility. -
Grid.ParameterType (uniform / lognormal)
: Specifies the type of random number distribution for setting parameters. -
Grid.PoreGeometry
: Sets the pore body geometry for all pores. -
Grid.CapPoresOnBoundaries
: If settrue
pores on boundaries will be cut in half (affects volume). -
Grid.PoreHeight
: Parameter needed if cylindrical or non-cubic/non-spherical pores are considered. -
Grid.SubstractRadiiFromThroatLength
: If set true, the pore body inscribed radii will be subtracted from the throat length (which is the Euclidean distance between pore body centers). TODO: fix typo and deprecate! -
Grid.MeanPoreInscribedRadius
: Sets the mean inscribed pore radius for random parameters. -
Grid.StandardDeviationPoreInscribedRadius
: Sets the standard deviation of the inscribed pore radius for random parameters.
Collection of parameters for GridManager
-
Grid.File
: The grid file. -
Grid.Sanitize
: If settrue
, isolated network clusters will be found and removed. -
Grid.SanitationMode
: Options areKeepLargestCluster
(default) andUsePoreLabels
keeps all pores connected to a list of labels (PruningSeedIndices
). -
Grid.PruningSeedIndices
SeeSanitationMode
. Default is (1)
Collection of parameters for GridData
-
Grid.NumSubregions
. The number of network subregions. Default is zero.