rblock cut command

Syntax

rblock cut keyword ... <range>

Primary keywords:

aspect-ratio    deviation    fractures    group    group-facets    group-fractures    group-sides    intersects-box    keep-contacts    length-minimum    minimum-edge    plane    persistence    size    sliver-group    sliver-intact    sliver-remove

Cut the rigid blocks in the given range. This is accomplished by cutting the core shape with planar slices. One can either cut by a single plane or by fractures in a DFN. As the blocks are convex, a cut by a single plane or fracture can only result in two convex rigid blocks. A number of criteria are provided to determine if the rigid blocks resulting from a cut are retained; rigid blocks not meeting the criteria are deemed slivers. The presence of slivers may negatively impact performance—they should be avoided. The sliver criteria include: distance of cut points from the specified point on the cut plane, aspect ratio of the resulting blocks, minimum {area in 2D, volume in 3D} of the resulting blocks, or minimum ratio of resulting block {area in 2D; volume in 3D} to the original block {area in 2D; volume in 3D}. Slivers may either be deleted or, if a sliver is detected, the cut can be deemed unsuccessful and the original rigid block retained (see the sliver-remove keyword). Global persistence is also added (see the rblock cut persistence keyword) so that the success of a cut may determined probabilistically.

Note

  • Only the core shape is cut.

  • While cycling, rigid blocks can only be cut before cycle point 0 (i.e., when the timestep is calculated).

aspect-ratio f

Specify the maximum aspect ratio of the rigid blocks resulting from a cut to produce a sliver. The default value is 100.

deviation f1 <f2 >

Specify a deviation (in degrees) of the {dip and dip direction in 3D; dip only in 2D}. If the cut would be successful with the specified plane, the plane orientation is perturbed randomly (using a uniform distribution) with dip within f1 degrees {and dip direction within f2 degrees in 3D}. Thus, different orientation is used for each cut with the same plane. By default there is no deviation.

fractures <s > <keyword ...>

Cut rigid blocks with fractures. If the optional DFN name s is given only fractures from the specified DFN are used. By default all cut vertices must fall within a fracture for a cut to be successful. This is equivalent to stating that the fracture must cut the entire block. The optional throughgoing keyword specifies that a rigid block will be cut if the fracture intersects the rigid block at all. Thus a small fracture entirely inside a rigid block may cut the block.

The optional infinite-plane keyword specifies that each fracture is treated as an infinite plane. Fractures are processed one at a time by decreasing fracture area.

infinite-plane

Treat each fracture as an infinite plane, cutting the entire model. Cannot be given with the throughgoing keyword.

throughgoing

Fractures cut rigid blocks that they intersect. Cannot be given with the infinite-plane keyword.

group s <slot slot >

The group slot slot is set to the group s for the cut rigid blocks. If slot is not specified, then the group s is assigned to the group slot Default.

group-facets s <slot slot >

The group slot slot is set to the group s for the facets that are cut. If slot is not specified, then the group s is assigned to the group slot Default.

group-fractures <keyword ...>

Apply groups from fractures.

sides b

The group name from the fracture is appended with either “_above” or “_below” depending on whether the centroid of the block is above or below the cutting fracture if b is true. By default b = false.

slot slot

Use the fracture group name in slot slot to set the rblock groups.

group-sides s <slot slot >

The group slot slot is set to s appended with either “_above” or “_below”, depending on whether the centroid of the block is above or below the cutting plane or fracture. If slot is not specified, then s is assigned to the group slot Default.

intersects-box fxmin fxmax <fymin fymax <fzmin fzmax >> (z-components are 3D ONLY)

Restrict cutting to the rigid blocks that intersect the specified box. Following specification of the extent of the box in the \(x\)-direction, if subsequent extents are omitted, then the latest specified extent is used.

keep-contacts b

When rblocks are cut all existing contacts are deleted and new contacts may be created where previously existing contacts once existed. By default, new contact models are inserted at these new contacts based on the setting of the CMAT. When b = true, the previous contact models are retained when possible. The normal contact force is also set at the contact that is between the cut blocks.

length-minimum f

Specify the minimum length of the rigid blocks resulting from a cut to produce a sliver. The aspect ratio computation provides a set of axes aligned with the rigid block maximum and minimum dimensions. The minimum length is the minimum dimension. The default value is 0.

minimum-edge f

Specify the minimum edge length of rigid block facet edges to produce a sliver. The default value is 0.0.

plane keyword ...

Cut all blocks in range by a single plane.

normal vnorm

Specify the normal of the plane. By default the normal points in the positive {y-direction in 2D; z-direction in 3D}.

point vpt

Specify a point on the plane. Be default the point on the plane is the origin.

radius f

Specify the radius of the cut. If the distance from the point on the plane (specified with the point keyword) to any of the points corresponding to the intersection of the plane with the rigid block is greater than f then the cut is unsuccessful.

persistence f

Specify the persistence of the cut. If a cut is successful, a uniform random number is selected to model persistence; if this value is greater than or equal to f the cut is abandoned and the original rigid block is retained. The default value is 1.0.

size keyword

Specify size parameters for a cut to be deemed successful.

absolute f

Specify the absolute minimal {area in 2D; volume in 3D} of a rigid block resulting from a cut to produce a sliver. The default value is 0.0.

relative f

Specify the relative ratio of the {area in 2D; volume in 3D} of one of the resulting rigid blocks to the original rigid block to produce a sliver. If the ratio of {areas in 2D; volumes in 3D} is less than f a sliver is produced. By default this value is 0.05.

sliver-group s <slot slot >

The group slot slot is set to s for the cut rigid blocks that are deemed slivers. If slot is not specified, then s is assigned to the group slot Default. If rblocks are kept intact (using the sliver-intact keyword) then this group will be assigned to any intact rblocks where cuts would have created slivers.

sliver-intact b

Specify the behavior when a sliver is encountered. The cut is deemed to produce a sliver if either: 1) the aspect ratio of one of the resulting rigid blocks is larger than the value specified with the aspect-ratio keyword; 2) the ratio of the {area in 2D; volume in 3D} of one of the resulting rigid blocks to the original rigid block is smaller than the value specified with the size relative keywords; or 3) the {area in 2D; volume in 3D} of one of the resulting rigid blocks is smaller than the value specified with the size absolute keywords. If a sliver condition is detected then, if b is true, the cut will be deemed unsuccessful and the original rblock will be kept. This keyword should not be used with the sliver-remove keyword.

sliver-remove b

Specify the behavior when a sliver is encountered. The cut is deemed to produce a sliver if either: 1) the aspect ratio of one of the resulting rigid blocks is larger than the value specified with the aspect-ratio keyword; 2) the ratio of the {area in 2D; volume in 3D} of one of the resulting rigid blocks to the original rigid block is smaller than the value specified with the size relative keywords; or 3) the {area in 2D; volume in 3D} of one of the resulting rigid blocks is smaller than the value specified with the size absolute keywords. If a sliver condition is detected then either the block that is a sliver may be deleted (if b is true) or the sliver may be retained (if b is false). By default slivers are removed. This keyword should not be used with the sliver-intact keyword.

Usage Examples

Cut rigid blocks with all fractures present. Resulting rigid blocks with aspect ratio greater that 10 or size less than 0.0001 multiplied by the original block size are deemed slivers and deleted.

rblock cut fractures aspect-ratio 10 size relative 0.0001

Cut rigid blocks with the fractures in the DFN named hori. A cut happens if a fracture intersects any portion of the rigid block.

rblock cut fractures 'hori' throughgoing

Cut rigid blocks with the fractures in the DFN named tunnel-arc that intersect with the specified box. The resulting rigid blocks are placed in the group supportBlock; any slivers resulting are not deleted, and are put in a group named sliver in the slot sliver. A cut happens if the fracture intersects any portion of the rigid block.

rblock cut fractures 'tunnel-arc' throughgoing group 'supportBlock' ...
                     intersects-box 1 2 -1.5 1.5 1 2                ...
                     sliver-remove false sliver-group 'sliver' slot 'sliver'

from “geometry.dat” in Rigid Block Model of Tunnel Excavation