rblock distribute
command
Syntax
- rblock distribute keyword ... <range>
Primary keywords:
Create a distribution of rigid blocks with overlaps. This process ceases when a target porosity is achieved. By default, the rigid block positions and sizes are drawn from uniform distributions throughout the model domain. As a result, the set of rigid blocks generated is affected by the state of the random-number generator (see
model random
). The rigid block sizes can also be drawn from a Gaussian distribution via the gauss keyword. A number of rigid block distributionsâ€”with size ranges and volume fractions that each use a unique rigid block templateâ€”can be specified. The optional range is applied to each rigid block upon generation and, if the rigid block does not fall within the range, it is not added to the model and does not affect the stopping criteria. This command contrasts with therblock generate
command where rigid blocks, with sizes chosen from a single distribution, are generated without overlap until the target number of rigid blocks, or the number of attempts to place rigid blocks, is achieved.Note
- A model domain must be specified prior to rigid block generation.
- Significant rigid block overlaps will likely result from this operation.
- While cycling, rigid blocks can only be created before cycle point 0 (i.e., when the timestep is calculated).
- bin ibin keyword ...
Specify the distributional properties of bin ibin. Any number of distributions with radii ranges, volume fractions, and distributional types can be specified. The volume fractions of all distributions must sum to 1.
- azimuth fazlow fazhi
Range of azimuths to rotate the rigid block template randomly about. An azimuthal rotation is a right-hand rotation about the {out of plane direction in 2D; \(z\)-axis in 3D} in degrees.
- density fdens
The rigid block density that is 1 by default.
- elevation fellow felhi (3D ONLY)
Range of elevations to rotate the rigid block template randomly about. An elevating rotation is a right hand rotation about the \(y\)-axis in degrees.
- fish-distribution sfish a_{1}...a_{n}
The rigid block sizes are drawn from the distribution represented by the FISH function sfish. Function arguments can be specified as though no function arguments are required. The FISH function must return a floating point value that is the rigid block size. A FISH distribution cannot be specified with the gauss or size keywords.
- gauss <fcutoff >
Specify that the rigid block sizes are chosen from a Gaussian distribution with mean value (fradlow + fradhi)/2 and standard deviation (fradhi - fradlow)/2. The optional fcutoff (default 0.1), multiplied by fradlow, constitutes the minimum size allowed.
- group s <slot slot >
Specify that generated rigid blocks are given group name s at slot slot. If the slot keyword is not specified, then the group name is assigned to the slot Default.
- size fsizelow <fsizehi >
Specify the size range to be used during generation. If fsizehi is not specified, then fsizehi = fsizelow. By default, fsizehi = fsizelow = 1.0. Cannot be given with the fish-distribution keyword.
- template stname
Name of the rigid block template to be used.
- tilt ftiltlow ftilthi (3D ONLY)
Range of tilts to rotate the rigid block template randomly about. A tilting rotation is a right-hand rotation about the \(x\)-axis in degrees.
- volume-fraction fvfrac
The volume fraction of rigid blocks in this distribution. The sum of volume fractions of all distributions must be 1.
- box fxmin fxmax fymin fymax fzmin fzmax (z-components are 3D ONLY)
rigid blocks will fully fall within this box, such that they will not overlap the box faces or edges. By default, the box is the model domain.
- diameter
Specify that the linear size used to scale the rigid blocks is the volume equivalent diameter of a {disk in 2D; sphere in 3D}.
- fish-size sfname
The size used to scale the rigid blocks while generating can be specified by the FISH function with name sfname. The return value of the FISH function should be a linear measure of the rigid block size and the function should take one argument that is a rigid block pointer.
- number-bins inum
Number of distributions used to generate the assembly.
Usage Example
Create rigid blocks inside a box. Use the cube
template for created blocks, in a size range between 20 and 30, to a porosity level of 0.2, with overlap as needed.
rblock distribute porosity 0.2 template 'cube' size 20 30 box -9 9
Was this helpful? ... | PFC © 2021, Itasca | Updated: Aug 19, 2023 |