SlideShare a Scribd company logo
1 of 199
Download to read offline
KUBRIX Geo/Rhino Users’ Manual REV110112 Page 1
1
KUBRIX® is a registered trademark of Itasca Consulting Group, Inc.
KUBRIX®Geo/Rhino1 Users’ Manual
Complex Grid Generation for Geomechanics
KUBRIX Geo/Rhino Users’ Manual Page 2
Rhino® is a registered trademark of Robert McNeel & Associates
KUBRIX Geo/Rhino Users’ Manual Page 3
Contents
SETTING UP YOUR RHINO®/KUBRIX® WORK ENVIRONMENT.................................... 10
Installing Kubrix and Rhino ..................................................................................................... 10
Displaying the most useful Rhino Toolbars and the Kubrix-specific buttons.......................... 10
The Rhino command area......................................................................................................... 10
Icon/button names..................................................................................................................... 11
Rotating and panning views...................................................................................................... 11
Colorizing all objects in the model........................................................................................... 11
Useful shortcuts ........................................................................................................................ 11
The following shortcuts may be added to Rhino help in speeding up the mesh cleanup
process:................................................................................................................................. 11
AlignMeshVertices: ............................................................................................................... 11
Tolerances................................................................................................................................. 12
Avoiding accidental object drag ............................................................................................... 12
SetWorkingDirectory or where are my files............................................................................. 12
Object snap options................................................................................................................... 13
READING CAD DATA............................................................................................................... 14
General Guidelines ................................................................................................................... 14
Solids & Surfaces...................................................................................................................... 14
Wireframes................................................................................................................................ 14
Points ........................................................................................................................................ 14
Facetized surfaces: polygonal surfaces..................................................................................... 15
Facetized surfaces: triangular surfaces ..................................................................................... 15
TIPS AND TRICKS OF THE TRADE ........................................................................................ 16
Are Windows 7 ghosts eating your Kubrix license files?......................................................... 16
The SetWorkingDirectory in Rhino 4 and 5............................................................................. 16
Shimmering triangles and off-center models............................................................................ 16
Shrinking Gigantic Surface Meshes into a More Manageable Size?...Yes we can!................. 16
Surface Meshes from Contours: Way Faster in Rhino 5 Beta!................................................. 17
Speed Tip when building Octree Meshes ................................................................................. 17
Surface quality diagnostics in Rhino and Kubrix..................................................................... 17
Tolerances and off-center models............................................................................................. 18
Want to Simplify Complex & Thin Geological Structures in Rhino for Use with Kubrix?..... 18
KUBRIX Geo/Rhino Users’ Manual Page 4
SPACERANGER.......................................................................................................................... 20
Modeling problems addressed by SpaceRanger ....................................................................... 20
How does SpaceRanger works ................................................................................................. 20
Partitioning by interiority...................................................................................................... 20
Partitioning by proximity to surfaces.................................................................................... 20
Local zone refinement based on interiority and proximity................................................... 20
Examples................................................................................................................................... 21
SpaceRanging FLAC3D zones ............................................................................................ 21
SpaceRanging 3DEC zone material ID’s.............................................................................. 25
SpaceRanging 3DEC block material ID’s ........................................................................... 26
Other examples: ........................................................................................................................ 27
SpaceRanger version 9 options:................................................................................................ 27
TUTORIAL 1- INTERNAL WALLS AND MULTIPLE MATERIALS .................................... 28
Creating a single-material model ............................................................................................. 28
END OF TUTORIAL 1 ............................................................................................................ 30
TUTORIAL 2 – VERTICAL SHAFT IN A STRATIFIED SOIL ............................................... 31
Startup and excavation of the shaft........................................................................................... 31
Creating a triangular surface mesh of the model ...................................................................... 33
Creating an all-hexahedral mesh for FLAC3D using Kubrix................................................... 34
Creating a model of both the inside and outside of the excavated shaft................................... 37
Creating an all-hexahedral mesh of the capped model, with stratified soil.............................. 40
Creating 3DEC blocking of the capped model, with stratified soil.......................................... 45
Creating Octree mesh of the capped model, with stratified soil............................................... 46
END OF TUTORIAL 2 ............................................................................................................ 48
TUTORIAL 3 — 20° BIFURCATING CIRCULAR TUNNELS................................................ 49
Startup and creation of a horizontal tunnel of diameter 10 and length 200.............................. 49
Creating the bifurcation and the box surrounding it................................................................. 50
Creating a Triangular Surface Mesh of the Model ................................................................... 52
Creating a convex blocking for 3DEC...................................................................................... 54
Creating an all-hexahedral grid for FLAC3D Using KUBRIX................................................ 54
Creating a tetrahedral grid for FLAC3D Using KUBRIX........................................................ 58
Creating octree grids for FLAC3D or blocks for 3DEC........................................................... 58
Creating a FLAC3D or a 3DEC model for sequential excavation ........................................... 60
KUBRIX Geo/Rhino Users’ Manual Page 5
END OF TUTORIAL 3 ............................................................................................................ 65
TUTORIAL 4: GEOMETRY CLEANUP GIVEN AN EXISTING TRIANGULATED
SURFACE..................................................................................................................................... 66
Startup and reading, joining and centering the model around the origin.................................. 66
Automatic sewing of neighboring free edges ........................................................................... 67
Removal of degenerate, duplicate, non-manifold and isolated triangles.................................. 69
Automatic closure of all nearly planar open holes ................................................................... 69
Removal of artifacts due to triangulation noise: “defeaturing”. ............................................... 70
Saving the closed triangular surface as a formatted (ASCII) STL file..................................... 76
Using the Kubrix surface diagnostics to identify and repair mesh self- intersections.............. 76
Creating a box representing the computational volume ........................................................... 77
Reading the STL file into KUBRIX and automatic hexahedral meshing................................. 77
END OF TUTORIAL 4 ............................................................................................................ 80
TUTORIAL 5 — OPEN PIT: CREATING A MODEL FROM CONTOUR LINES.................. 81
Startup and approximation of contour lines.............................................................................. 81
Creating the benches................................................................................................................. 85
Creating the bench faces........................................................................................................... 89
An alternative method of creating the benches and the bench faces ........................................ 90
Creating an outer box................................................................................................................ 91
Creating a surface mesh............................................................................................................ 93
Creating a 3DEC model............................................................................................................ 94
Creating a FLAC3D model....................................................................................................... 95
Creating an Octree model ......................................................................................................... 95
A better Octree model............................................................................................................... 96
END OF TUTORIAL 5 ............................................................................................................ 98
TUTORIAL 6: BUILDING 3DEC MODELS IN RHINO WITHOUT USING KUBRIX.......... 99
Fundamentals............................................................................................................................ 99
Only certain Rhino operations result in solids.......................................................................... 99
Exporting solids as VRML 2.0 files ......................................................................................... 99
Exporting meshes (instead of solid) as VRML 2.0 files........................................................... 99
Translating VRML 2.0 files into 3DEC POLY file................................................................ 100
Example 1: Dynamic analysis of a Flemish bond brick wall ................................................. 100
Export the support.............................................................................................................. 101
KUBRIX Geo/Rhino Users’ Manual Page 6
Export the wall.................................................................................................................... 101
Running 3DEC...................................................................................................................... 101
Example 2: borehole in a block .............................................................................................. 103
END OF TUTORIAL 6 .......................................................................................................... 106
TUTORIAL 7: WORKING WITH MESHES: ADDING AN INTERNAL WALL TO AN
EXISTING MESH...................................................................................................................... 107
Partitioning a mesh of faces into a few manageable pieces.................................................... 107
Defining a Polyline that cuts the tunnel along its length ........................................................ 109
Partitioning meshes................................................................................................................. 111
Building an internal wall......................................................................................................... 112
Putting it all together............................................................................................................... 115
Editing remaining naked edges............................................................................................... 116
END OF TUTORIAL 7 .......................................................................................................... 118
TUTORIAL 8: IMPORTING INTERMITTENT FAULTS IN FLAC3D & 3DEC WITH
KUBRX....................................................................................................................................... 119
Importing meshes and extending the pit beyond its boundary ............................................... 119
Extension of the pit................................................................................................................. 120
Specifying the computational domain .................................................................................... 124
Computing intersections ......................................................................................................... 130
Calculating intersection 1 ....................................................................................................... 131
Extending Fault2 for a clean intersection with Fault1............................................................ 132
Back to intersection 1 (now with a clean intersection curve)................................................. 136
Calculating intersection 2 ....................................................................................................... 138
Calculating intersection 2 ....................................................................................................... 138
Calculating intersection 3 ....................................................................................................... 139
Calculating intersection 4 ....................................................................................................... 140
Calculating intersection 5 ....................................................................................................... 141
Surface quality check.............................................................................................................. 142
Quality check with Rhino ....................................................................................................... 143
Quality check & grid generation with Kubrix ........................................................................ 144
How does KUBRIX keep track of interfaces for FLAC3D?.................................................. 150
Running the model with FLAC3D.......................................................................................... 151
END OF TUTORIAL 8 .......................................................................................................... 152
KUBRIX Geo/Rhino Users’ Manual Page 7
TUTORIAL 9: IMPORTING INTERFACES INTO LEGACY MODELS............................... 153
Initial Rhino tolerance setup and model import...................................................................... 153
Simplifying the internal surfaces ............................................................................................ 153
Translating the FLAC3D mode into a .WRL file using SpaceRanger ................................... 157
Retrieving the shape of the dam from the flac3d model......................................................... 158
Trimming the surfaces with the dam ...................................................................................... 160
Avoiding surface overlaps ...................................................................................................... 162
Identifying the zones that intersect the surfaces with SpaceRanger....................................... 164
What if Kubrix says there are self-intersections? ................................................................... 166
How does KUBRIX keep track of interfaces for FLAC3D?.................................................. 167
Combining hex and tet grids into a final hybrid grid.............................................................. 169
Using SpaceRanger to create separate groups below and above the surface.......................... 170
Running a FLAC3D grid containing face collections ............................................................ 171
Running the model with FLAC3D.......................................................................................... 171
END OF TUTORIAL 9 .......................................................................................................... 172
EXERCISE 1 – SALT CAVERN: USING RHINO’S LOFT TO CREATE A MODEL FROM
CONTOUR LINES..................................................................................................................... 173
Creating a solid model & meshing ......................................................................................... 173
EXERCISE 2 – OPEN PIT: USING RHINO’S MESH FROM POINTS FOR FAST MODEL
CREATION ................................................................................................................................ 174
Creating a solid model & meshing ......................................................................................... 174
EXERCISE 3-MODELS DEFINED BY HORIZONS & TOPOGRAPHY: BOOLEAN
OPERATIONS ON SURFACES AND MESHES ..................................................................... 176
EXERCISE 4- ROCK CORE SLIDING ALONG CONICAL INTERFACE IN A CUBE....... 179
IMPORTING CAD DATA INTO PFC3D ................................................................................. 181
Summary................................................................................................................................. 181
Introduction............................................................................................................................. 181
Brief overview of Computer-Aided Design (CAD) ............................................................... 181
Preparing a model for import into PFC3D.............................................................................. 183
Model simplification........................................................................................................... 183
Model triangulation............................................................................................................. 184
Checking normal orientation............................................................................................... 185
Example applications.............................................................................................................. 186
KUBRIX Geo/Rhino Users’ Manual Page 8
Stirred Tank Reactor........................................................................................................... 186
Additional Examples............................................................................................................... 188
Ball Mill.............................................................................................................................. 188
Blade Mill ........................................................................................................................... 188
Bulldozer............................................................................................................................. 189
USING CAD TO AUTOMATICALLY GENERATE OF CLUMPS FOR PFC3D:
BUBBLEPACK.......................................................................................................................... 190
Summary................................................................................................................................. 190
Medial axis/Mid-surface and bubble packing......................................................................... 190
Using BubblePack................................................................................................................... 191
Examples............................................................................................................................. 191
Input Surface....................................................................................................................... 191
Meshing Parameters............................................................................................................ 191
TROUBLESHOOTING.............................................................................................................. 193
Where are my files? In Rhino, I clicked on the Kubrix icon and ran it but the resulting files are
not in the folder they are supposed to be. ............................................................................... 193
Why the Polygon Meshing Option? I have created a model in Rhino. I have meshed its
surface and I want to save it, but Rhino displays the Polygon Meshing Options. I thought I did
that already when I triangulated the surface!.......................................................................... 193
Naked/free edges in the input. I run Kubrix and it says that there are free edges. I read the
STL file into Rhino and use CheckMesh. Rhino reports that there are indeed naked edges.
Why?....................................................................................................................................... 193
Kubrix reports surface self intersection.................................................................................. 194
Tetra blocking fails! I launch Kubrix|Convex Blocking or Tetra meshing. I use all “default”
values for parameters. Kubrix reads the STL file and the surface is remeshed but Kubrix
reports intersecting triangles after remeshing or hangs and fails with the message: “Tetra
blocking failed”....................................................................................................................... 194
Blocking not progressive enough. I use Kubrix|Convex Blocking to create a 3DEC model. I
use a small Offset, small Cut angle and a Mesh Gradation close to 1 but I find that blocks fan
out too abruptly. I would like to see a more progressive increase in block size around details.
................................................................................................................................................ 195
License error. I obtained a Kubrix license but I get an error message saying that the license is
not valid .................................................................................................................................. 195
INDEX........................................................................................................................................ 197
KUBRIX Geo/Rhino Users’ Manual Page 9
KUBRIX Geo/Rhino Users’ Manual Page 10
Setting up your Rhino®2
/Kubrix®3
Installing Kubrix and Rhino
work environment
1. Install Rhino from your Rhino disc, or download an evaluation version of Rhino from
www.Rhino3d.com. An evaluation version of Rhino allows you to save or export 25 files.
2. Install the latest version of Kubrix from www.kubrix.com or www.itascacg.com/kubrix.
Displaying the most useful Rhino Toolbars and the Kubrix-specific buttons
3. Start Rhino and right-click in the Toolbar area located around the edges of the graphic window.
When the list of toolbars opens, make sure that all toolbars are checked off.
4. Open the C:Program FilesSimulation WorksKubrixRhino Stuff folder. Select all files in that
folder and drag them over the Rhino window. These files contain the scripts and toolbars related
to Kubrix that are most frequently used in Rhino. You can later on modify these tools if you so
desire.
The Rhino command area
The command area is the area (generally on top) where Rhino displays text information. The location of
the command area can be moved by dragging. Figure 1 shows the Rhino window after the Rhino Stuff
content has been installed.
Figure 1: The Rhino window after the kubrix toolbar and scripts have been added.
2
Rhinoceros is a Registered Trademark of Robert McNeel and Associates, Seattle, USA.
3
KUBRIX is a Registered Trademark of Simulation Works, Inc., Saint Paul, USA.
KUBRIX Geo/Rhino Users’ Manual Page 11
Icon/button names
Throughout this tutorial we refer to the name of icons. The name of an icon is displayed when you place
the mouse over it. Often, an icon has two related functions depending on whether you click the left or
right mouse button. After you click an icon, the corresponding Rhino command-line appears in the
command line area.
Rotating and panning views
You can rotate a view by holding down <SHIFT> & <CTRL> while right-clicking the mouse and moving it
around. You can pan a view using <SHIFT> and the right mouse button.
Colorizing all objects in the model
Often, newly-created objects in Rhino appear in gray. To distinguish objects from each other, click on
the icon marked ColorizeAllObjects to give a different color to each entity in your current model (Figure
2).
Figure 2: The ColorizeAllObjects icon in the Kubrix toolbar
Useful shortcuts
The following shortcuts are pre-programmed into Rhino:
F3 Properties
F8 Ortho
F9 Snap
The following shortcuts may be added to Rhino help in speeding up the mesh cleanup process:
AlignMeshVertices:
Left-clicking on the Icon marked Align mesh vertices to tolerance launches the
AlignMeshVertices command which is one of the most useful Rhino tools for cleaning up
meshes. The most common use of this tool involves the following preliminary actions:
• left-clicking on the command
• setting the the DistanceToAdjust Parameter
• clicking on SelectVertices
• clicking on the first vertex that will host all the subsequent vertices
• Clicking on the vertices that will collapse on the host vertex
KUBRIX Geo/Rhino Users’ Manual Page 12
• hitting <RETURN>
You can set a shortcut, F4, that does all this. Let-click on the icon marked Options, on the left
pane, under Rhino Options select Keyboard. If the slot in front of F4 is available, type in
_AlignMeshVertices SelectVertices
CheckMesh:
Similarly, using Option|Rhino Options|Keyboard you can set F5 to _CheckMesh
SplitMeshEdge:
Similarly, set F6 to _SplitMeshEdge
Tolerances
Tolerances can be the cause of problems especially when dealing with intersection and boolean
operations on meshes and geometric entities. This is particularly critical when the model center is far
from the origin or when the model is very large. In all cases, make sure that your model is not too far
away from the origin and in case it is move it closer to the origin. Moving the object closer to the origin
also helps with the graphics both in Rhino and in your engineering analysis software.
When starting a new project, use the initial Rhino template to specify whether the model will be a
"Large object in "meters", "small" object in "feet", etc.., then import DXF, STL or even existing 3dm files
into the new project. In this fashion you control the tolerance instead of using any tolerance inherited
from the DXF file. Please note that by default, Option|Document Properties|Units should say an
absolute tolerance of 0.01, a relative tolerance of 1.0. and an angle tolerance of 1°.
When preparing a solid, in general you have to join multiple surfaces. Too small a tolerance prevents
successful joining so the default Large object in meters is often good for obtaining a single joined
polysurface. However, when intersecting or doing a Boolean operation on polysurfaces or meshes, a
smaller tolerance such as 0.0001 absolute, 0.01 relative and 0.01° in angles may be more appropriate.
Avoiding accidental object drag
It may happen that you inadvertently drag a highlighted object by dragging it with the left mouse
button. To avoid this left-click on the icon marked Options. In the left pane of the Rhino Options dialog
box, click on Rhino Options|Mouse, and in the Click and drag section, set the Object drag threshold to
100 pixels. Now, dragging a highlighted objects requires a minimum of 100 pixel translation to occur.
SetWorkingDirectory or where are my files
When you start Rhino by double-clicking a file located in a folder, generally Rhino considers that folder
to be the working directory, therefore, when you click on the Kubrix icon in Rhino, Kubrix will search for
the input in that folder and will place in the same folder. In certain situations Rhino may not know
where the working directory is and the Kubrix results may get lost! In Rhino, the command
SetWorkingDirectory may be used to tell Rhino (thus Kubrix) where to read and write its files.
KUBRIX Geo/Rhino Users’ Manual Page 13
Object snap options
In Rhino two snapping concepts are available: Snap and Object Snap. Snap is similar to Snap to Grid in
PowerPoint. Objet Snap (Osnap) is the Rhino equivalent of PowerPoint's Snap to Objects. To be able to
snap lines, polylines, corners of objects, etc. to exiting objects, Osnap must be active. Click on the word
Osnap at the bottom of the graphic window to activate it. Next, you can specify to which particular
point of an existing object you want to snap by placing a check mark next to any of the worda: End,
Near, Point, Mid, etc...appearing at the bottom the graphic window.
Orthogonal restriction of the mouse
You can restrict the movements of the mouse to any of the three principal directions by clicking on the
word Ortho appearing at the bottom of the graphic window or by hitting <F8>.
Getting rid of the background grid
You can get rid of the background grid in any window by hitting <F7>. To get rid of the grid in all
windows, left-click on the icon marked Options. In the left pane of the Rhino Options dialog box, click
on Document Properties|Grid, and in the Grid properties section, uncheck Show grid lines and Show
grid axes.
KUBRIX Geo/Rhino Users’ Manual Page 14
Reading CAD data
Data transfer between different CAD tools is achieved through files. Files may differ by the entities they
contain and by their format. For instance, an AutoCAD DXF and a VRML file may both describe a mesh
of triangles. Both need to be converted to an ASCII STL file before KUBRIX can generate a volume mesh.
If a CAD file contains only points or lines, it must be read into a CAD tool such as Rhino 4.0 before closed
surfaces are created and a volume mesh is generated with KUBRIX. In summary, two files may contain
the same entities but in different formats or two files of the same format may contain different
geometrical entities
General Guidelines
CAD data is generally either a surface/solid/line (geometrical) model or facetized (discretized polygons).
Solid/Surface/line models are mathematically exact definitions of the geometries they describe whereas
facetized data represent solid/surface models that have been discretized into a collection of points and
polygons.
Surfaces/Solids must be imported as IGES or STEP files into Rhino, triangulated, cleaned-up and
exported as ASCII STL files for processing with KUBRIX.
Facetized (triangulated) data may be imported in the STL, VRML, DXF or 3DS formats into Rhino for
further processing. In Rhino, facetized data will be represented as a mesh. The mesh must be first
cleaned-up, that is checked for quality (no free edges, degenerate or duplicated faces) and defeatured
(see Removal of artifacts due to triangulation noise: “defeaturing”. Section 0 in Tutorial 3) before being
exported as an ASCII STL file for processing with KUBRIX
Solids & Surfaces
Solids and surfaces may be imported in the IGES, STEP or ACIS formats into Rhino. In Rhino the data will
be represented as polysurfaces which should be checked for naked edges and other anomalies. The
polysurfaces should then be triangulated, cleaned-up and exported as an STL file for processing with
KUBRIX
Wireframes
Wireframes may be imported as IGES, STEP, VRML 2.0, DXF or DWG files into Rhino. In Rhino, the data
will appear as lines. Lines should be used as a guide to create closed polysurfaces. It is a good practice
not to curves directly but to retrace them by creating Polylines (using points on the curves). Often,
curves produced by AutoCAD contains many degenerate line segments which, if used directly in the
construction of a surface, may result in invalid surfaces. Use the retraced Polylines or curves to create
surfaces. The resulting closed polysurfaces should be triangulated and cleaned-up before being
exported as an STL file for processing with KUBRIX
Points
In Rhino, the points should be used as a guide to create lines and closed polysurfaces. The closed
polysurfaces should be triangulated, cleaned-up and exported as an STL file for processing with KUBRIX
KUBRIX Geo/Rhino Users’ Manual Page 15
Facetized surfaces: polygonal surfaces
Polygonal surface may be imported as IGES, STEP, VRML 2.0, 3DS, STL, DXF or DWG files into Rhino. In
Rhino, polygons should be split into triangular meshes. Meshes should be closed and checked for
anomalies (degenerate or duplicate elements) and defeatured (see KUBRIX-Rhino users' manual).
Triangular meshes should be exported as STL files for processing with KUBRIX
Facetized surfaces: triangular surfaces
Triangular surfaces may be imported as IGES, STEP, VRML 2.0, 3DS, STL, DXF or DWG files into Rhino. In
Rhino, meshes should be closed and checked for anomalies (degenerate or duplicate elements) and
defeatured. Triangular meshes should be exported as STL files for processing with KUBRIX.
KUBRIX Geo/Rhino Users’ Manual Page 16
Tips and Tricks of the Trade
Are Windows 7 ghosts eating your Kubrix license files?
When you place a Kubrix license in C:Program Files (x86)Simulation WorksKubrix ,
Windows Vista and Windows 7 keep a "ghost" copy of this file in C:Users<your
name>AppDataLocalVirtualStoreProgram Files (x86)Simulation
WorksKubrix
This is a security "feature" of Windows. Occasionally, when you replace the license (upgrade or
extension of your license) in C:Program Files (x86)Simulation WorksKubrix, Kubrix
continues to use the ghost copy and your new license won't work. To resolve this problem, delete the
copy of kubrix_lock located in C:Users<your
name>AppDataLocalVirtualStoreProgram Files (x86)Simulation
WorksKubrix and the curse simply evaporates...
The SetWorkingDirectory in Rhino 4 and 5
When you start Rhino by double-clicking a file located in a folder, generally Rhino considers that folder
to be the working directory, so when you click on the Kubrix icon in Rhino Kubrix will search for the
input in that folder and will place the result in there also. In certain cases though Rhino may not know
where the working directory is and the Kubrix results get somehow lost! In Rhino, the command
SetWorkingDirectory may be used to tell Rhino (thus Kubrix) where to read and write its files...
Shimmering triangles and off-center models
Have you noticed that in certain situations, as you examine a Rhino (or FLAC3D or 3DEC, for that matter)
model, as you slowly rotate/zoom towards a minute detail, at certain angles a "shimmering" or
"sparkling" effect makes it nearly impossible to see which surface covers which one? You basically can't
visually inspect the intersection of two triangles especially when they make a shallow intersection.
Clearly, this is critical while figuring out whether triangles intersect properly.
This is a graphic effect due to truncation errors in calculating triangles normals and the corresponding
lighting effects.
In my personal experience, this is often due to the model being excessively off-center with respect to
the origin of the coordinates system. If you move the entire model by large vector so as to further
center it around the origin, this annoying graphic effect disappears and often the resulting intersection
calculation (Booleans, split, trim etc.) are more accurate.
Please to share your experience in the use of Kubrix-Rhino with Itasca products.
Shrinking Gigantic Surface Meshes into a More Manageable Size?...Yes we can!
In Rhino5 Beta, the _ReduceMesh function (which was pretty much useless in verion 4) works like a
dream!. Select your ginormous triangular mesh, click on the icon or type ReduceMesh, choose a
reduction % and hit OK.
Play around with the parameters to get a feel for the usage envelope. Let me know what you think.
KUBRIX Geo/Rhino Users’ Manual Page 17
Surface Meshes from Contours: Way Faster in Rhino 5 Beta!
Ever got tons of contour lines from your client wishing they'd sent you the actual triangulated mesh the
contours came from? Rhino 5 Beta is the ticket!
In Rhino 5 Beta, the MeshPatch command which builds a Delaunay triangulation out of curves or point
clouds runs way, way faster!
To control how fine the resulting surface mesh will be I suggest not feeding the curves directly to
MeshPatch. Instead, select your contours, then Curve|Point Object|Divide Curve by|Length of
Segments. Specify a segment length that half the vertical distance between consecutive contour lines
(this, to prevent aliasing in the resulting triangulation). Now, select all the points, followed by
MeshPatch and <RETURN>, <RETURN>, et voila!
If the surface mesh is too noisy, just Surface|Drape it in a Top view. To get a nice looking mesh from a
draped surface try Mesh|From NURBS Control Polygon; IMHO way sexier than what "from NURBS
Objets" hands you...
Speed Tip when building Octree Meshes
If you have ever run Octree meshes where the input surface has many triangles you may have noticed
that after vertex sorting reaches 99% Kubrix hangs and stays there for quite some time before
completing the computation and outputting a mesh.
This is caused by the "Joint" radio button not being checked in the Octree Meshing tab of Kubrix. If you
check "Joint", you will avoid this delay and Kubrix will immediately proceed to outputting the mesh after
vertex sorting is complete.
The default settings of Kubrix will be revised in the next release of Kubrix in order to avoid this problem.
Surface quality diagnostics in Rhino and Kubrix
There are 4 levels of surface quality check in Rhino & Kubrix that ensure a good quality output
1- In Rhino:
+CheckMesh. A Clean bill of health from the mesh doctor is a necesary condition for a successful run
with Kubrix.
+ExtractMeshFacesByAspectRatio with an aspect ratio of 10,000 or more often points to tolerance
mismatches on the surface. Deleting these faces and using MatchMeshEdges or other means often saves
you a lot of trouble in Kubrix
2- In Kubrix:
+Self-intersection checks before surface remeshing point to the true x,y,z coordinates of trouble spots
+Self-intersection after surface remeshing brings to light situations where two choppy and close surfaces
defining a thin volume (orebody) nearly escape self-intersection but self-intersect after surface
KUBRIX Geo/Rhino Users’ Manual Page 18
remsehing. To avoid this, reduce the cut angle and/or the offset value. Sometimes, simplifying these thin
volumes is the only way to ensure non-self-intersecting remeshed surfaces even with large cut angles.
This is key to producing 3DEC models with low block counts.
+Coordinates of trouble spots during the mesh generation process
+In Kubrix 12, the coordinates of the center of the 10 worst zoners or blocks are listed which point you
to trouble spots (surfaes that come too close, exceedingly sharp boundary angles, etc...)
In Kubrix 12, the coordinates of the trouble spots are outputted in such a way that they can be copied as
a block and pasted into the Rhino Curve|Polyline|Polyline command to create a polyline pointing to all
the troublespots at once.
Tolerances and off-center models
Tolerances can be the cause of problems especially when dealing with intersection and boolean
operations on meshes and geometric entities.
This is particularly critical when the model center is far from the origin or when the model is very large.
In all cases, make sure that your model is not too far away from the origin and in case it is move it closer
to the origin. Moving the object closer to the origin also helps with the graphics both in Rhino and in
your engineering analysis software.
When starting a new project, use the initial Rhino template to specify whether the model will be a
"Large object in "meters", "small" object in "feet", etc.., then import DXF, STL or even existing 3dm files
into the new project. In this fashion you control the tolerance and not the default tolerance specified in
the DXF. By default, Option|Document Properties|Units should say an absolute tolerance of 0.01, a
relative tolerance of 1.0. and an angle tolerance of 1°.
When preparing a solid, in general you have to join multiple surfaces. Too small a tolerance prevents
successful joining so the default "Large object in meters" is often good for obtaining a single joined
polysurface. However, when intersecting or doing a Boolean operation on polysurfaces or meshes, a
smaller tolerance such as 0.0001 absolute, 0.01 relative and 0.01° in angles may be more appropriate.
Want to Simplify Complex & Thin Geological Structures in Rhino for Use with Kubrix?
PROBLEM:
You have a complex geological structure that has a thickness but spans across a wide area. It really
should be modeled as an interface in FLAC3D or a joint in 3DEC but you need to somehow reduce it
down to a single, smooth, low-triangle-count, good quality, average median triangular surface.
SOLUTION:
Select the mesh structure, then ExtractPt to extract all its vertices as a cloud of points. While the points
are selected, use MeshPatch to triangulate these points. The result is a triangular mesh that is extremely
choppy (like a waffle), and this is because the triangulation tends to join points across the thickness of
the geological structure connecting points on the foot wall an hanging wall sides of the structure....But
KUBRIX Geo/Rhino Users’ Manual Page 19
no worries.
Now, select the choppy mesh and Transform|Smooth, check smoothX, Y and Z and Fix Boundaries. Set
the Factor to 1 and OK. repeat several times. As you do this the mesh converges towards a smooth
surface that is an average of the foot wall and the hanging wall. Select the resulting mesh and use
ReduceMesh with 90% reduction to reduce it to a low-count mesh and you are done!
Rhino5 Beta is the right tool for that because both MeshPatch and ReduceMesh actually work in there.
KUBRIX Geo/Rhino Users’ Manual Page 20
SpaceRanger
SpaceRanger is a generalized range function that uses complex surfaces to identify & modify groups of
zones, blocks & balls in FLAC3D, 3DEC or PFC3D models.
Modeling problems addressed by SpaceRanger
• You want to give different properties to certain zones of a zoned 3DEC model based on their
location with respect to several surfaces defined as DXF file.
• You want to carve a group of balls out of a packed group of PFC3D balls
• You want to assign different group numbers to zones that will be excavated each year given a stair
step pit model and several DXF's representing excavation surfaces
• You want to assign ubiquitous joint properties to zones that come within 10m of a set of faults
• You want to change the properties of all the balls that come within 3 mm of a surface
• You want to refine a FLAC3D model before carving out a group of zones with SpaceRanger
• You want to turn tetrahedral zones into hexahedral zones in the vicinity of a detail
How does SpaceRanger work?
Partitioning by interiority
SpaceRanger tests whether the center of a zone, block or ball is inside (or below, if the surfaces
are not closed) one or several surfaces. The surfaces must be specified and listed in a specific
order in a file called spaceranger.dat. SpaceRanger checks each zone center, block center or ball
center and determines whether it is inside (or below) any of the surfaces and tags that zone,
block or ball as being inside the last surface (in the list) it is inside. For instance, if a zone center
is inside the surfaces named on lines 3, 19, and 14 and outside all the other surfaces in the list,
that zone will be tagged as being inside the surface named on line 19.
Partitioning by proximity to surfaces
SpaceRanger can test whether a zone, block or ball is near a surface.
Local zone refinement based on interiority and proximity
Based on whether an entity (zone, ball or block) is inside or near a surface SpaceRanger can
identify that entity and subdivide it into smaller entities: tetras into 4 hexes and hexes into 8
hexes.
SpaceRanger can directly process FLAC3D grid files. For other Itasca products, you can use FISH to
export the x, y, z coordinates, and material or color of entities in a model into a text file. SpaceRanger
sorts through the file and create a new file with updated entity groups, regions or colors which can be
read back into the model using FISH. A number of such FISH functions are provided in the manual
example files.
KUBRIX Geo/Rhino Users’ Manual Page 21
Examples
SpaceRanging FLAC3D zones
Run FLAC3D and read in (File|Grid|Import) test5.flac3d, if you are using FLAC3D version 5, or
test4.flac3d if you are using FLAC3D version 4 (Figure 3). This is the starting model and has 3 groups
dummy 1, 2 and 3.
Figure 3: Starting model
We will use 3 surfaces to partition this model in multiple groups. These 3 surfaces are stored in 3
separate ASCII STL files called Y0.stl, Y1.stl and Y9.stl. You can think of these surfaces as 3 excavation
surfaces in an open pit mine representing Year0, Year1 and Year2. Figure 4 shows the surfaces in one
Rhino document and in the FLAC3D model where the 3 surfaces have been read as one DXF file
containing each surface in a separate layer.
Figure 4: 3 surfaces used for SpaceRanging the model: Left, in Rhino, Right, imported as DXF in FLAC3D
KUBRIX Geo/Rhino Users’ Manual Page 22
Using SpaceRanger
First, create a file called spaceranger.dat and in there write:
sphereY0.stl
sphereY1.stl
sphereY2.stl
Next, run SpaceRanger:
_______________ SpaceRanger version 9.0 _______________
Copyright (C) 2012 Itasca Consulting Group, Inc.
In spaceranger.dat surface priorities increase with line number
Reads & refines hexes & tets, translates into 3dec
Using key 14388162-VQQUXV2E3G4HWR6SNV2E3GXHPRQS
Enter a number, followed by <RETURN>:
-1 Translate into a .WRL & .3DEC file.
0 Ignore existing groups. Build new ones based on surfaces.
1 Partition existing groups based on surfaces. (May produce many groups).
2 Everything inside surfaces becomes separate groups; outside is unchanged.
3 Everything outside surfaces becomes separate groups; inside is unchanged.
4 Everything intersecting surfaces becomes one group.
5 Split large zones inside surfaces:H->8H, T->4H
6 Split large zones intersecting surfaces:H->8H, T->4H
SpaceRanger option 0: Ignore existing groups. Build new ones based on surfaces
Enter 0, followed by 1 and the name of the flac3d grid file you want to process (which is test5.flac3d).
SpaceRanger reads spaceranger.dat, processes all zones and produces 2 files: output.flac3d and
output.wrl. Read output.fla3d into FLAC3D (Figure 5). Please note that all the existing groups are now
combined as one and called OLD, and 3 new groups are created: New_1, New_2 and New_3.
Figure 5: SpaceRanger Option 0 calls everything OLD, then partitions the model based on the 3 surfaces.
To understand why the zone located at A (Figure 5) is named New_2 note that location A is below (or
inside) the surface named on line 1 of spaceranger.dat (i.e. Y0.stl), below the surface named on line 2
(Y1.stl) but outside or above the surface named on line 3. Since interiority to surfaces named on higher
KUBRIX Geo/Rhino Users’ Manual Page 23
line numbers override those on lower ones, (as explained earlier) the zone at location A will be declared
as being inside the surface named on line 2, thus the group name New_2.
The zone located at B is declared as belonging to group OLD because it is not inside or below any of the
surfaces ( note that B is located outside the vertical shadow of all the surfaces).
SpaceRanger option 1: Partition existing groups based on surfaces. (May produce many groups).
Run SpaceRanger and enter 1, followed by 1 and test5.flac3d. Read output.fla3d into FLAC3D (Figure 6).
Figure 6: SpaceRanger Option 1.
Zones outside or above the surfaces maintain their old group number. Zones that are inside or below
any of the surfaces are partitioned into new groups along all the surfaces.
SpaceRanger option 2: inside surfaces becomes separate groups; outside is unchanged
Run SpaceRanger and enter 2, followed by 1 and test5.flac3d. Read output.fla3d into FLAC3D (Figure 7).
Figure 7: SpaceRanger Option 2
Everything inside or below the surfaces are partitioned according to the priority rule described earlier.
Everything outside or above maintains its original group number.
SpaceRanger option 3: Everything outside surfaces becomes separate groups; inside is unchanged
Run SpaceRanger and enter 3, followed by 1 and test5.flac3d. Read output.fla3d into FLAC3D (Figure 8).
KUBRIX Geo/Rhino Users’ Manual Page 24
Figure 8: SpaceRanger Option 3
Note that zones at location A are considered outside (group New_1) since location A is outside the
vertical shadow of the surfaces.
SpaceRanger option 4: Everything intersecting surfaces becomes one group
Run SpaceRanger and enter 4, followed by 1 and test5.flac3d, followed 80 for the buffer size which
represents the thickness of a buffer volume extending at either side of the surfaces, and in which zones
will be counted as intersecting the surfaces . Read output.fla3d into FLAC3D (Figure 9).
Figure 9: SpaceRanger Option 4
Please note that if a zone intersects multiple surfaces, it will be tagged as intersecting the surface
appearing at the highest line number in the spaceranger.dat. For instance, if a zone is found to intersect
the surfaces on line 1, line 37, and line 6 of the spaceranger.dat, it will belong to group New_37.
SpaceRanger option 5: Split large zones inside surfaces:H->8H, T->4H
Run SpaceRanger and enter 5, followed by 1 and test5.flac3d, followed 0 for the size of the smallest
zone you want to split. This means that you want every zone that is inside of below the surfaces to be
split. By selecting a larger size of the smallest zone, you can control below which zone size zones will not
be split.
If there are multiple surfaces in spaceranger.dat, inside or below the surfaces means inside or below any
of the surfaces . Read output.fla3d into FLAC3D (Figure 10).
KUBRIX Geo/Rhino Users’ Manual Page 25
Figure 10: SpaceRanger Option 5
SpaceRanger option 6: Split large zones intersecting surfaces:H->8H, T->4H
Run SpaceRanger and enter 6, followed by 1 and test5.flac3d, followed by 40 for the buffer size and
followed 0 for the size of the smallest zone you want to split (Figure 11).
Figure 11: SpaceRanger Option 6
SpaceRanging 3DEC zone material ID’s
1. In the FISH file WriteZoneCentersAndMaterialIds.dat, replace the name
ModelYouWantToModify.sav with the name of the save file representing the model you want to
modify.
2. Start 3DEC and run WriteZoneCentersAndMaterialIds.dat
The FISH function WriteZoneCentersAndMaterialIds writes out the x, y, z coordinates of each zone
center and its current property ID into a file called ZoneCentersAndProperties.dat .
3. Run SpaceRanger.exe (after launch, enter 1, then 0, then ZoneCentersAndProperties.dat)
The program SpaceRanger.exe reads the ZoneCentersAndProperties.dat file and produces a file called
CalculatedCentersAndProperties.dat in which block property ID’s have been updated based on the ray
shooting logic described earlier. The file CalculatedCentersAndProperties.dat can readily be read into
KUBRIX Geo/Rhino Users’ Manual Page 26
an existing model using the FISH function ReadZoneCentersAndMaterialIds. This will give the model its
new zone prop ID’s.
4. In the FISH file ReadZoneCentersAndMaterialIds.dat, replace the name
ModelYouWantToModify.sav with the name of the save file representing the model you want to
modify.
5. Start 3DEC and run ReadZoneCentersAndMaterialIds.dat
SpaceRanging 3DEC block material ID’s
1. In the FISH file WriteBlockCentersAndMaterialIds.dat, replace the name
ModelYouWantToModify.sav with the name of the save file representing the model you want to
modify.
2. Start 3DEC and run WriteBlockCentersAndMaterialIds.dat
The FISH function WriteBlockCentersAndMaterialIds writes out the x, y, z coordinates of each block
center and its current property ID into a file called BlockCentersAndProperties.dat .
3. Run SpaceRanger.exe (after launch, enter 1, then 0, then BlockCentersAndProperties.dat)
The program SpaceRanger.exe reads the BlockCentersAndProperties.dat file and produces a file called
CalculatedCentersAndProperties.dat in which block property ID’s have been updated based on the ray
shooting logic described earlier. The file CalculatedCentersAndProperties.dat can readily be read into
an existing model using the FISH function ReadBlockCentersAndMaterialIds. This will give the model its
new block prop ID’s.
4. In the FISH file ReadBlockCentersAndMaterialIds.dat, replace the name
ModelYouWantToModify.sav with the name of the save file representing the model you want to
modify.
5. Start 3DEC and run ReadBlockCentersAndMaterialIds.dat
If you check your model, you will see that the block property ID’s have now been updated.
To use SpaceRanger in C++
, you need to name the various surfaces, input0.stl, input1.stl, input2.stl,…
KUBRIX Geo/Rhino Users’ Manual Page 27
Other examples:
Figure 12: Examples of SpaceRanger use: left, pit excavation sequence in 3DEC. Right: geology in
FLAC3D
SpaceRanger version 9 options:
8 SpaceRanger options are available to you:
-1 Translate into a .WRL & .3DEC file.
0 Ignore existing groups. Build new ones based on surfaces.
1 Partition existing groups based on surfaces. (May produce many groups).
2 Everything inside surfaces becomes separate groups; outside is unchanged.
3 Everything outside surfaces becomes separate groups; inside is unchanged.
4 Everything intersecting surfaces becomes one group.
5 Split large zones inside surfaces:H->8H, T->4H
6 Split large zones intersecting surfaces:H->8H, T->4H
KUBRIX Geo/Rhino Users’ Manual Page 28
TUTORIAL 1- Internal walls and multiple materials
In this tutorial, you will become familiar with the use of internal walls to create multiple FLAC3D
groups or 3DEC regions.
Creating a single-material model
1. Start Rhino and when the Template dialog box opens, select Small Objects-Meters.
2. Click on the label of the window marked Perspective. Select the Solid|Cylinder menu item. Enter
0 followed by <RETURN> to center of the base of the cylinder at the origin. , Enter 2 followed by
<RETURN> to set the Radius of the base to 2. Enter 10 followed by <RETURN> to set the Height
of the cylinder to 10 and complete the construction of a vertical cylinder (Figure 8).
Figure 13: Solid representing a cylinder
You have created a cylindrical solid. A solid is essentially a closed surface. It has a clear interior and
exterior. You are now going to create a triangular mesh representing the surface of the cylinder.
Creating a triangular surface mesh is a necessary step on the way to creating a volume mesh of the
cylinder.
3. Select the File|Save As menu item and save your model as cyl.3dm.
4. Select the cylinder and select the menu item Mesh|From NURBS objects. The Polygon mesh
detailed options dialog box opens. If you see a button in the lower-right corner of the box
marked Simple control, click it to see a simplified version of this dialog box.
KUBRIX Geo/Rhino Users’ Manual Page 29
5. In the simplified dialog box, slide the horizontal cursor all the way to the right towards More
Polygons and click on Preview to see a preview of the resulting surface mesh. Click on OK to
create a surface mesh (Figure 9).
Figure 14: Original highlighted cylindrical surface and the newly-created surface mesh superimposed on it.
6. While the original cylindrical surface is still highlighted (seen in light yellow in Figure 9), select it
and hit <DELETE> to keep only the surface mesh.
7. Select the mesh, select the menu item File|Export Selected and when the Export dialog box
opens, enter cyl for the File name and select stereolythography (*.stl) for the Save as type.
8. When the STL Export Options dialog box opens, make sure that ASCII File type and Export open
objects are both checked. Click OK to complete the Save operation.
A triangular surface mesh saved as a formatted STL file serves as input to the Kubrix automatic mesh
generator. Kubrix can be run from Rhino by clicking on the Kubrix icon (Figure 10).
Figure 15: The Kubrix icon in Rhino
KUBRIX Geo/Rhino Users’ Manual Page 30
9. Run the Kubrix program by clicking on the Kubrix icon and select the Hexahedral meshing tab.
Click on Default to set all parameters to their default values then click on the Input File button
and select cyl.stl. Kubrix will use the file cyl.stl as input to generate a hexahedral mesh of the
interior.
10. Set the Max allowable element edge length to 0.5 and click on Compute.
11. Kubrix generates two files: kubrix_out.flac3d and kubrix_out.wrl. You can inspect the resulting
model by launching a new instance of Rhino and importing kubrix_out.wrl to visualize it.
12. You can also run FLAC3D and use File|Grid|Import to read kubrix_out.flac3d and display it
(Figure 11).
Figure 16: Mesh of cylinder read into FLAC3D
END OF TUTORIAL 1
KUBRIX Geo/Rhino Users’ Manual Page 31
TUTORIAL 2 – Vertical shaft in a stratified soil
In this tutorial, you will create a vertical shaft (140 ft deep, 20 ft diameter) inside a cubic block of soil
(200 ft × 200 ft × 200 ft) composed of two materials. The surface separating the two types of soil is
located at a height of 50 ft (Figure 12).
Figure 17: A FLAC3D model (left) and a 3DEC model (right) of a vertical shaft in a stratified soil
Startup and excavation of the shaft
1. Start Rhino and select Solid|Box|Diagonal to define a Box by 2 points. Enter -100,-100,-100 for
the coordinates of the first point, followed by <RETURN>. Enter 100,100,100 for the coordinates
of the second point followed by <RETURN>.
2. Right-click on the Zoom Extents button to make the box fit to each window. This completes the
creation of a Box (Figure 13).
Figure 18: Four-view of a box
3. Double-click the Perspective viewport title to maximize the Perspective viewport (Figure 14).
KUBRIX Geo/Rhino Users’ Manual Page 32
Figure 19: Wireframe view of the box
4. Double-click the Perspective viewport title to return to a 4-view window and click on the title of
the Top viewport to activate it.
5. Select Solid|Cylinder. Enter 0,0 followed by <ENTER> to specify the coordinates of the center of
the cylinder base (in the x, y coordinate system). Enter 20 followed by <ENTER> for the radius.
Enter 200 followed by <ENTER> to specify the center of the top of the cylinder.
Please note that Rhino accepts both 0,0,200 and 200 as the 3rd
parameter of the Cylinder Command.
Since we are in a Top view, Rhino rightly assumes that 200 means 0,0,200.
6. Left-click on the button marked Shaded Viewport to see the box and cylinder (Figure 15).
Figure 20: Box and cylinder
7. To move the cylinder down by 40 feet, select the cylinder and select the menu item
Transform|Move. Enter 0,0,0 followed by <ENTER>. Enter 0,0,-40 followed by <ENTER> (Figure
16).
KUBRIX Geo/Rhino Users’ Manual Page 33
Figure 21: The lowered cylinder is highlighted
8. To excavate the well, we must subtract (in the Boolean algebra sense) the cylinder from the box.
To do so, select the menu item Solid|Difference. First select the box followed by <ENTER>, then
select the cylinder followed by <ENTER> (Figure 17).
Figure 22: The Boolean subtraction of the cylinder from the box represents the excavation
Creating a triangular surface mesh of the model
Mesh generation for FLAC3D and block generation for 3DEC requires a closed triangular surface
representing the surface of the object in which we want to create the model
1. Prior to creating a surface mesh based on a solid model, you should save the Rhino model. Select
File|Save As and when the Save dialog box opens, enter t1_0 for the File name and make sure
that the Save as type is set to Rhino 4 3D Models (*.3dm). A file called t1_0.3dm is created in
your current folder.
KUBRIX Geo/Rhino Users’ Manual Page 34
2. Select the model and select the Mesh|From NURBS objects menu item. The Polygon mesh
detailed options dialog box opens. If you see a button in the lower-right corner of the box
marked Simple control, click it to see a simplified version of this dialog box.
3. In the simplified dialog box, slide the horizontal cursor to the middle and click on Preview to see
what the resulting surface mesh will look like (Figure 18).
Figure 23: Preview of the surface mesh
4. Click OK to accept the surface mesh. Note that the original solid is still highlighted (in yellow)
while the mesh is drawn in black.
5. Hit <DELETE> to delete the (highlighted) solid. What is left is the surface mesh.
6. Select the mesh and left-click on the icon marked Check mesh objects for error located in the
Geometry Fix toolbar. Rhino responds with the CheckMesh message box providing global
information about the mesh indicating that, among other qualities, the mesh contains no naked
edges. Naked or Free edges are edges attached to only one polygon. Their presence indicates
that the mesh is not closed.
7. The mesh contains both triangular and quadrilateral polyhedra. As mentioned earlier, we need
an all-triangular surface mesh to proceed. To triangulate the mesh, select the mesh and left-click
on the icon marked Triangulate Mesh.
8. Select the model and select the File|Export selected menu item and when the Export dialog box
opens, enter t1_0 for the File name and select stereolythography (*.stl) for the Save as type.
9. When the STL Export Options dialog box opens, make sure that Ascii File type and Export open
objects are both checked. Click OK to complete the Save.
Creating an all-hexahedral mesh for FLAC3D using Kubrix
1. Run the Kubrix program by clicking on the Kubrix icon. Select the Hexahedral meshing tab
(Figure 19). Click on the Input file button and select t1_0.stl.
KUBRIX Geo/Rhino Users’ Manual Page 35
Figure 24: Kubrix hexahedral meshing default values
2. Click on the Default button to resort to the default values of all parameters. Please note that the
output file type is .flac3d which is an ASCII format that can be directly read into FLAC3D. Click
Compute to launch the computation. The screen output is shown blow.
............................................................................
Welcome to KUBRIX version 10.4.2
Copyright (C) 1995-2008 Simulation Works, Inc. All rights reserved.
............................................................................
PLI001: The input surface file name is:
C:UsersSinaItascatutorialsManualsTutorial1t1_0.stl ...
PLI007: REQUEST: STL input surface (-it stl) ...
PLI002: The output mesh file name is:
C:UsersSinaItascatutorialsManualsTutorial1t1_0.flac3d ...
PLI065: REQUEST: output type is FLAC3D (-ot flac3d) ...
PLI003: The minimum mesh block resolution is 1 ...
PLI033: REQUEST: 1000 surface smoothing iterations (-m) ...
PLI031: The max. allowed element edge length is infinity ...
PLI056: The blocking efficiency is 0.50 (-e) ...
PLI042: A block-structured mesh is built (-str 2) ...
PLI044: Correct all negative Jacobian elements ...
ISI002: Finished reading 400 triangles and 202 nodes.
MGI066: Feature refinement: final triangles count 1372 ...
MGI068: Fuzzy-logic block decomposition ...
MGI037: Done. 1/1 iters beta 0.000100, sp 11, st 7.09e+000 ...
MGI001: Block decomposition completed (17) ...
MGI013: Volume decomposed into 17 blocks and 1 material...
MGI018: Final check ........ all Jacobians are positive.
MGI082: Block reduction complete (9)...
MGI012: Output mesh contains 9 hex elements ...
MGI012: Output mesh contains 24 vertices ...
MGI012: Output mesh contains 1 material ...
MGI054: Max. edge offset ... 5.92e+000 u between nodes 7, 14
KUBRIX Geo/Rhino Users’ Manual Page 36
MGI057: Max. non-dim offset 0.2101 between nodes 7, 14
MGI018: Final check ........ all Jacobians are positive.
MGI021: Max. edge length ... 2.00e+002 u between nodes 1, 10
MGI052: Min. edge length ... 2.81e+001 u between nodes 7, 8
MGI020: Max. aspect ratio .. 7.11e+000 at element 1
............................................................................
MGI031: Writing a VRML file ...
MGI067: Writing a FLAC3D file ...
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
MGI999: Successful termination of KUBRIX in 0.5 seconds!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3. KUBRIX generates a file called kubrix_out.flac3d. Run FLAC3D and use File|Import grid to read
kubrix_out.flac3d.
4. Select Plot|1 Base/0|Show to open the FLAC3D graphic window. Click somewhere in the
background of this window to activate it, and select Plotitem|Add|Plot|Group to open the Block
group dialog box. Click OK to display the grid in FLAC3D.
5. Hit <z> 3 times followed by <x>, 3 times to rotate the object the object 3 times around the z and
x axes. Hit <SHIFT><M> twice to zoom out and properly see the grid in FLAC3D (Figure 20).
Figure 25: View of the grid in FLAC3D containing 9 zones and 24 vertices
By default, KUBRIX produces a coarse mesh. In the KUBRIX screen output, the maximum edge length in
the mesh is reported as 200. To create a finer mesh, you need to specify a smaller maximum edge
length.
6. Go back to the Kubrix application. In the Mesh parameters section of the dialog box, check the
square marked Max. allowable element edge length, and enter 10 in the corresponding field. In
the same section, choose a Resolution of 3 to make sure that all details are captured with at least
3 elements across. Click Compute to launch the hexahedral mesh generation.
7. In FLAC3D, click on the Command Window to activate it. Select File|New to remove the existing
model, followed by File|Import Grid. Read t1_0.flac3d into FLAC3D and display it (Figure 21).
KUBRIX Geo/Rhino Users’ Manual Page 37
Figure 26: A finer FLAC3D grid containing 9,888 zones and 11,450 vertices
8. To create a fully structured grid ( a structured grid is one where all elements can be addressed by
three integers: I, J and K), go back to the Kubrix application, and in the Mesh parameters section,
select 3 for the Structure of the mesh, and click Compute. In FLAC3D, delete the old model and
read and display the newly-created t1_0.flac3d (Figure 22).
Figure 27: A structured FLAC3D grid containing 13,284 zones and 15,250 vertices
Creating a model of both the inside and outside of the excavated shaft
1. In your current folder, double-click the file t1_0.3dm you saved earlier. This file contains the
solid model prior to surface meshing. Double-click the title of the Perspective view port to
maximize it.
2. Select the menu item Surface|Planar Curves and click on the circle representing the rim of the
shaft opening (Figure 23). Hit <ENTER> to complete the command and create a planar surface
the cap of the shaft.
KUBRIX Geo/Rhino Users’ Manual Page 38
Figure 28: Highlighted curve representing the shaft rim (top) and the capped shaft (bottom)
So far you have been dealing with solids. Solids are closed surfaces that have an unambiguously defined
interior and exterior. The surfaces defining such solids are called manifold surfaces. In contrast,
consider a solid cut in half. Consider the surface made up of the surface of the solid and the surface of
wall separating the two walls. This surface is closed but doesn’t have a clear interior. To be exact, it has
two interiors. Such surfaces are called non-manifold surfaces.
So far our model was a perfect solid. Its surface was a manifold surface. The addition of the cap to the
shaft creates two separate “interior” regions: inside the well, and outside the well but inside the box.
The set of surfaces representing this object constitute non-manifold surfaces. Joining surfaces into a
non-manifold surface in Rhino requires a special command. This command joins several manifold or
non-manifold surfaces into one non-manifold surface. You can join multiple surfaces into a single non-
manifold surface with the MergeBreps icon
1. Select all the surfaces you want to join and click on the MergeBreps icon. The resulting
polysurface is a non manifold polysurface. This can be verified by highlighting the model and
pressing <F3> to display the Properties of the selected surface and clicking on Details.
2. Prior to creating a surface mesh based on a solid model, you should save the Rhino model. Select
File|Save As and when the Save dialog box opens, enter t1_1 for the File name and make sure
that the Save as type is set to Rhino 4 3D Models (*.3dm). A file called t1_1.3dm is created in
your current working folder.
3. Select the model and select the Mesh|From NURBS Objects menu item. If the Polygon Mesh
Detailed Option dialog box opens, click on the Simple controls button to bring up the simpler
Polygon Mesh Options dialog box.
4. Move the slider to the middle of the scale and click OK to create the surface mesh (Figure 24).
KUBRIX Geo/Rhino Users’ Manual Page 39
Figure 29: Mesh of the capped model showing the highlighted solid model
5. While the solid model is still selected hit the <DELETE> button to just keep the mesh.
6. Check the mesh by left-clicking on the icon marked Check mesh objects for error located in the
Geometry Fix toolbar. Rhino responds with the following message box:
This is a bad mesh.
Here is what is wrong with this mesh:
Mesh has 29 non manifold edges.
Skipping face direction check because of positive non manifold edge count.
General information about this mesh:
Mesh does not have any degenerate faces.
Mesh does not have any zero length edges.
Mesh does not have any naked edges.
Mesh does not have any duplicate faces.
Mesh does not have any disjoint pieces.
Mesh does not have any unused vertices.
Rhino qualifies this mesh as bad because it contains non-manifold triangles (edges shared by 3 or more
triangles), but this was intended because the solid model itself was non-manifold so as to allow the
representation of both the inside and outside volumes.
7. The mesh contains both triangular and quadrilateral polyhedra. As mentioned earlier, we need
an all-triangular surface mesh to proceed. To triangulate the mesh, select the mesh and left-click
on the icon marked Triangulate Mesh.
8. Select the model, select the File|Export selected menu item, and when the Export dialog box
opens, enter t1_1 for the File name and select stereolythography (*.stl) for the Save as type.
9. When the STL Export Options dialog box opens, make sure that Ascii File type and Export open
objects are both checked. Click OK to complete the Save operation
10. Run the Kubrix program by clicking on the Kubrix icon. Select the Hexahedral meshing tab and
make sure that the input file is t1_1.stl.
KUBRIX Geo/Rhino Users’ Manual Page 40
11. If you have not changed any meshing parameters they should have remained unchanged, but if
you have changed them, click on Default. In the Mesh parameters section of the dialog box,
check the square marked Max. allowable element edge length, and enter 10 in the
corresponding field. In the same section, choose a Resolution of 3 to make sure that all details
are captured with at least 3 elements across. Click Compute to launch the hexahedral grid
generation.
12. The resulting grid is composed of two groups. All the zones located outside the shaft belong to
Group 1. The rest belongs to Group2.
13. Run FLAC3D and visualize the mesh (Figure 25).
Figure 30: FLAC3D grid of the capped model containing 10,368 zones and 11,825 vertices. In this Figure, a first plot item
representing the geometry is overlayed by a block group plot item representating the interior of he shaft.
Creating an all-hexahedral mesh of the capped model, with stratified soil
1. In your current folder, double-click the file t1_1.3dm you saved earlier. This file contains the
Rhino solid model prior to surface meshing. If the Perspective viewport is maximized, double-
click the title of the Perspective view port to return to a 4-Viewport view.
2. You are now going to represent the stratification by a cut at height z=50. To do so, double-click
the Front viewport title to maximize the Front view, and select the Curve|Line|Line segment
menu item.
3. Enter -150,50 followed by <ENTER> to set the first point, then 150,50 followed by <ENTER> to set
the second one (Figure 26).
KUBRIX Geo/Rhino Users’ Manual Page 41
Figure 31: View of the model with horizontal line segment at z=50.
4. Select the menu item Edit|Split. Click on the box and hit <ENTER>. Click on the horizontal line
and hit <ENTER>. Delete the horizontal line and note that the model is now split into 2 parts.
Please note that the Split operation splits the surface of the solid into 2 surfaces (that are not closed).
To split a solid into two solid you must use Wire cut. This function will be discussed in a later section.
5. Select the top part and left-click on the icon marked Hide Objects. Double-click the title of the
viewport to return to a 4-viewport view and double-click the Perspective view port to maximize it
(Figure 27).
Figure 32: Perspective view of the lower part of the split model
6. Select the Curve|Curve From Object|Duplicate Border menu item. Click on the box then on the
cylindrical part of the model followed by <ENTER>. This operation extracted a square and a
circular curve from the model. Hide the box and the cylinder to only see the two extracted
curves shown in Figure 28.
KUBRIX Geo/Rhino Users’ Manual Page 42
Figure 33: The highlighted square and circular curves represent the Naked Edges of the selected Polysurfaces.
You are now going to create 2 horizontal walls based on these curves: one inside the cylinder and the
other outside. These walls will act as a partition between the top and bottom of the model.
7. Select the Surface|Planar Curves menu item and click on the square curve to fill its interior with
a square surface. Double-click the Title of the Perspective Viewport to return to 4-viewport.
Double-click the title of the Top view port to maximize it (Figure 29).
Figure 34: Top view of the square surface patch
8. Select the menu item Edit|Split and click on the surface of square, then hit <ENTER>. Click on
the curve representing the circle and press <ENTER> to split the square into two parts. Figure 30
shows the two surfaces with the outer surface highlighted.
KUBRIX Geo/Rhino Users’ Manual Page 43
Figure 35: The two surfaces resulting from the split with the outer surface highlighted
9. While in the Top view, select the circular and square curves and delete them.
10. Right-click on the button marked Show Objects to unhide all the surfaces, select a Perspective
view of the model and resize it by left-clicking the Zoom Extents button.
11. Select the Edit|Select Objects|All Object menu item and note that Rhino responds with the
message “3 polysurfaces, 2 surfaces added to selection.” on the command-line.
You must now join all the surfaces and polysurfaces into one non-manifold surface.
12. Select all the surfaces and click on the MergeBreps icon to create one single non-manifold
polysurface.
13. Prior to creating a surface mesh based on the solid model, you should save the Rhino model.
Select File|Save As and when the Save dialog box opens, enter t1_2 for the File name and make
sure that the Save as type is set to Rhino 4 3D Models (*.3dm). Note that a file named t1_2.3dm
is created in your current folder.
14. Select the model and select the menu item Mesh|From NURBS Objects. If the Polygon Mesh
Detailed Option dialog box comes up, click on the Detailed Controls button to bring up the
simpler Polygon Mesh Options dialog box.
15. Move the slider to the middle of the scale and click OK to create the surface mesh. Delete the
solid model which has remained highlighted (Figure 31).
KUBRIX Geo/Rhino Users’ Manual Page 44
Figure 36: Surface mesh of capped shaft in stratified soil
16. The mesh contains both triangular and quadrilateral polyhedra. As mentioned earlier, we need
an all-triangular surface mesh to proceed. To triangulate the mesh, select the mesh and left-click
on the icon marked Triangulate Mesh.
17. Select the model, select the File|Export Selected menu item and when the Export dialog box
opens, enter t1_2 for the File name and select stereolythography (*.stl) for the Save as type.
18. When the STL Export Options dialog box opens, make sure that Ascii File type and Export open
objects are both checked. Click OK to complete the Save operation
19. Run the Kubrix program by clicking on the Kubrix icon. Select the Hexahedral meshing tab. Make
sure that the input file is t1_2.stl
20. If you have not changed any meshing parameter they should have remained unchanged, but if
you have changed the parameters, click on Default. In the Mesh parameters section of the dialog
box, check the square marked Max. allowable element edge length, and enter 10 in the
corresponding field. In the same section, choose a Resolution of 3 to make sure that all details
are captured with at least 3 elements across. Click Compute to launch the hexahedral grid
generation.
The resulting grid is composed of 4 groups. Group2 and Group4 represent the shaft interior; Group1
and Group3 represent the exterior of the shaft (Figure 32).
KUBRIX Geo/Rhino Users’ Manual Page 45
Figure 37: FLAC3D model of the capped shaft in a stratified soil with Group3 masked
Creating 3DEC blocking of the capped model, with stratified soil
1. Run the Kubrix program by clicking on the Kubrix icon. Select the Convex Blocking tab. Make
sure that the input file is t1_2.stl.
2. Click on Default, enter 1 for the Relative Offset and click on Compute. The resulting file is
t1_2.3dec.
3. Run 3DEC 4.0, call t1_2.3dec as a data file and in the Plot Item Menu select color by Region
(Figure 33).
Figure 38: 3DEC model of the capped shaft in stratified soil (relative offset 1.)
The resulting 3DEC model is made up of a number of 1,166 tetrahedral blocks. The large number of bloc
for such a relatively simple geometry is due to 2 factors:
• We are creating tetrahedral blocks. Manually, we would have created hexahedral
blocks and as a result there would have been about 6 times fewer blocks.
KUBRIX Geo/Rhino Users’ Manual Page 46
• The shaft is discretized too finely. Indeed, a relative offset of 1 means that the absolute
offset is 1/1000 times the longest dimension of the bounding box containing the model,
which is 200 feet. As a result, the absolute offset is 0.2 feet for a shaft diameter of 40
feet.
To obtain a coarser model do as follows:
1. Run the Kubrix program by clicking on the Kubrix icon. Select the Convex Blocking tab. Make
sure that the input file is t1_2.stl.
2. Click on Default , and enter 100 for the Relative Offset and click on Compute. The resulting file is
t1_2.3dec.
3. Run 3DEC 4.0 call t1_2.3dec and in the Plot Item Menu select color by Region (Figure 34).
Figure 39: 3DEC model of the capped shaft in stratified soil (relative offset 100.)
Creating Octree mesh of the capped model, with stratified soil
Octree meshes are based on an increasingly finer subdivision of space into hexahedral blocks (Figure 35
& Figure 36). One of the main attractions of this approach is that the input surface need not be closed.
In fact, octree meshes can be obtained from surface data containing many gaps and overlaps. This
approach is to be compared with other forms of meshing requiring a perfectly watertight input surface
in which all surface intersections are accounted for.
KUBRIX Geo/Rhino Users’ Manual Page 47
Figure 40: Octree blocking: left, mesh featuring 5 levels of refinement, right, a balanced octree where adjacent zones are at
most one generation apart.
Figure 41: Octree meshing: left: boundaries are detected in dark blue, right; there are no boundary (joint) regions.
4. Run Kubrix by clicking on the Kubrix icon. Select the Octree Meshing tab (Figure 37).
Figure 42: Octree meshing dialog box
5. You can use this approach for both 3DEC and FLAC3D model generation. Click on Default, select
FLAC3D for the Output type, select 7 for the Octree level, and click on Compute to create the
mesh.
KUBRIX Geo/Rhino Users’ Manual Page 48
6. Run FLAC3D, import t1_2.flac3d and display it (Figure 38).
Figure 43: Octree model where a portion of the zones have been masked for the sake of clarity
END OF TUTORIAL 2
KUBRIX Geo/Rhino Users’ Manual Page 49
TUTORIAL 3 — 20° bifurcating circular tunnels
In this tutorial, you will learn to create a circular tunnel bifurcating into two circular tunnels making an
angle of 20 degrees between them and located inside. A FLAC3D hexahedral, tetrahedral and octree
mesh as well as a 3DEC blocking will be built(Figure 39).
Figure 44: A FLAC3D hex, tetra and octree grid, and a 3DEC block model of the bifurcating tunnels
Startup and creation of a horizontal tunnel of diameter 10 and length 200
1. Start Rhino, select the Large Objects - Meters template, and double-click on the label of the Right
view to maximize it. Click on the word Snap (Grid Snap in Rhino 5) at the bottom of the screen to
activate background grid snap.
2. Select the Curve|Circle|Center, Radius menu item and click on the coordinate system origin in
the Right view. This sets the center of the circle. Type 10 on the command window to specify its
radius
3. Double-click the label of the Right view to once again bring up the four views. Select the
Surface|Extrude Curve|Straight menu item and select the circle in the Perspective view,
followed by <ENTER>. The curve extrusion parameters appear in the command window.
4. If you need to modify any option, simply click on the option in the command window. Direction
should be, by default, already be set to 1,0,0 since the circle was built in the Right viewport’s
Construction Plane. Set the remaining options as follows: BothSides=Yes, Cap=Yes (Solid=Yes in
RHino 5), DeleteInput=Yes.
5. Enter 100 on the command line followed by <RETURN> to complete the construction of a closed
200 m long horizontal cylinder. Right-click on Zoom Extents All Viewports4
Figure 40
to get a full view of
the model so far ( ).
4
The commands associated with left or right-clicking on each icon can be seen by moving your mouse over the
icon and leaving it there for a second.
KUBRIX Geo/Rhino Users’ Manual Page 50
Figure 45: First horizontal cylinder
Creating the bifurcation and the box surrounding it
1. Select the cylinder in any view, select Edit|Copy followed by Edit|Paste to duplicate it in place.
While the copy is still selected, left-click on Hide Objects to hide it.
2. In the Right viewport, select the remaining visible cylinder and select Transform|Scale 2D, and,
click on the origin of the coordinate system. Type 0.7 followed by <RETURN> to scale the
cylinder down to a diameter of 7.
3. While the cylinder is still selected, select Transform|Rotate. In the Top view, click on the origin
of the coordinate system. Enter 20 followed by <RETURN> to complete the rotation of the
smaller cylinder by 20° around the z-axis. Right-click on the button marked Show Objects to
render both cylinders visible (Figure 41).
Figure 46: Two intersecting tunnels
You must now split the smaller cylinder with the larger one and delete a portion of the smaller cylinder
to create the bifurcation.
KUBRIX Geo/Rhino Users’ Manual Page 51
4. Hit the <ESC> button to unselect everything. Select the Solid|Boolean Split menu item. For the
Polysurface to split, select the smaller cylinder, then type <ENTER>. Select the larger cylinder for
the Cutting polysurface, followed by <ENTER>. This operation splits the smaller cylinder into 3
sections.
Figure 47: In the Top view, the highlighted section of the smaller cylinder must be deleted to create the branching
5. In the Top view, select the lower-left and the middle sections of the smaller cylinder (Figure 42)
and delete them. This leaves only one section (upper right) of the smaller cylinder.
6. Select the two remaining polysurfaces, and select Solid|Union to complete the creation of one
single closed solid representing the bifurcation. Click on the button marked Shaded Viewport to
display a shaded view of the completed bifurcation (Figure 43).
Figure 48: Bifurcation resulting from the union of the larger and the remaining section of the smaller cylinder
To create a model of the soil surrounding the tunnels, you must create a cube representing the volume
in which the tunnels are excavated, and subtract the tunnels from it.
KUBRIX Geo/Rhino Users’ Manual Page 52
7. To create a parallelepiped, select the Solid|Box|Diagonal menu item. Enter -60,-60,-60 followed
by <ENTER> to specify one end of the diagonal, and 60,60,60, followed by <ENTER> for the other
end to create a cube of side 120 centered at the origin.
8. To subtract the tunnels from the cube, select the Solid|Difference menu item. For the First set
of polysurfaces, select the box, then type <ENTER>. For the second set, select the bifurcation,
then <ENTER> to complete the Boolean difference operation (Figure 44).
Figure 49: Result of the Boolean difference
Creating a Triangular Surface Mesh of the Model
Mesh generation for FLAC3D and block generation for 3DEC require a closed triangular surface
representing the surface of the object in which we want to create the model
1. Prior to creating a surface mesh based on the solid model, you should save the Rhino model.
Select File|Save As and when the Save dialog box opens, enter t2_0 for the File name and make
sure that the Save as type is set to Rhino 4 3D Models (*.3dm). As a result, a file called
t2_0.3dm is created in your current folder.
2. Select the model and select the Mesh|From NURBS objects menu item. The Polygon Mesh
Option dialog box opens. If you see a button in the lower-right corner of the window marked
Detailed controls, click it to see the Polygon Mesh Detailed Option dialog box.
3. Set all parameters to 0 (inactive) except for the Maximum distance, edge to surface which
should be set to 0.1 and Aspect ratio which should be 1. All check buttons should be unchecked
except for Refine mesh (Figure 45). Click OK to create the surface mesh.
KUBRIX Geo/Rhino Users’ Manual Page 53
Figure 50: The surface meshing dialog box
4. While the original solid model is still selected, hit the <DELETE> button to delete it so the mesh is
the only remaining object in the model (Figure 46).
Figure 51: Preview of the surface mesh
5. Select the mesh and left-click on the icon marked Check mesh objects for error (Check Objects in
RHino 5) located in the Geometry Fix toolbar. The Check Mesh message box opens and provides
global information about the mesh indicating that, among other qualities, the mesh contains no
naked edges. Naked or Free edges are edges attached to only one polygon. The presence of
naked edges indicates that the mesh is not closed.
The present mesh is closed. It contains both triangular and quadrilateral polyhedra. As mentioned
earlier, we need an all-triangular surface mesh to proceed.
6. Select the mesh, select the File|Export Selected menu item and when the Export dialog box
opens, enter t2_0 for the File name and select stereolythography (*.stl) for the Save as type.
7. When the STL Export Options dialog box opens, make sure that Ascii File type and Export open
objects are both checked. Click OK to complete the Save operation
KUBRIX Geo/Rhino Users’ Manual Page 54
Creating a convex blocking for 3DEC
1. To run Kubrix, left-clicking on the Kubrix icon. Select the Convex Blocking tab. Click on Default
and set the Relative offset to 10 (Figure 47). Click on the Input File button and select t2_0.stl as
the input file.
Figure 52: Convex blocking dialog box
2. Click on Compute to create the blocking. Kubrix generates two files: kubrix_out.3dec and
kubrix_out.wrl. You can inspect the resulting model by launching a new instance of Rhino and
importing kubrix_out.wrl to visualize it.
3. You can also run 3DEC 4.0 and use File|Call to read kubrix_out.3dec and display it (Figure 48).
Figure 53: 3DEC model where each block is a different color
Creating an all-hexahedral grid for FLAC3D Using KUBRIX
1. Start Rhino. Open t2_0.stl. Click on the Kubrix icon and select the Hexahedral meshing tab
(Figure 49). Make sure that the input file is t2_0.stl.
KUBRIX Geo/Rhino Users’ Manual Page 55
Figure 54: Kubrix hexahedral meshing default values
2. Click on the Default button to resort to the default values of all parameters. Please note that the
output file type is .flac3d which is an ASCII format that can be directly read into FLAC3D. Click
Compute to launch the computation. The screen output is shown below.
----------------------------------------------------------------------------
............................................................................
Welcome to KUBRIX version 10.4.4
Copyright (C) 1995-2008 Simulation Works, Inc. All rights reserved.
............................................................................
PLI001: The input surface file name is:
C:UsersSinaItascatutorialsRhinoFlac3d3decPfc3dTutorialsTutori
l2t2_0.stl ...
PLI007: REQUEST: STL input surface (-it stl) ...
PLI002: The output mesh file name is:
C:UsersSinaItascatutorialsRhinoFlac3d3decPfc3dTutorialsTutori
l2t2_0.flac3d ...
PLI065: REQUEST: output type is FLAC3D (-ot flac3d) ...
PLI003: The minimum mesh block resolution is 1 ...
PLI033: REQUEST: 1000 surface smoothing iterations (-m) ...
PLI031: The max. allowed element edge length is infinity ...
PLI056: The blocking efficiency is 0.50 (-e) ...
PLI042: A block-structured mesh is built (-str 2) ...
PLI044: Correct all negative Jacobian elements ...
ISI002: Finished reading 6398 triangles and 3197 nodes.
ISI014: Sharpest wedge 160 deg @ (4.786e+001,9.988e+000,-3.488e-001)
MGI066: Feature refinement: final triangles count 6524 ...
MGI068: Fuzzy-logic block decomposition ...
MGI037: Done. 34/1 iters beta 0.000100, sp 15, st 2.16e+001 ...
MGI001: Block decomposition completed (37) ...
MGI013: Volume decomposed into 37 blocks and 1 material...
MGI033: First check ........ 2 elems (5%) need Jacob. correction
MGI018: Final check ........ all Jacobians are positive.
KUBRIX Geo/Rhino Users’ Manual Page 56
MGI082: Block reduction complete (33)...
MGI012: Output mesh contains 33 hex elements ...
MGI012: Output mesh contains 84 vertices ...
MGI012: Output mesh contains 1 material ...
MGI054: Max. edge offset ... 7.16e+000 u between nodes 36, 47
MGI057: Max. non-dim offset 0.4995 between nodes 36, 47
MGI018: Final check ........ all Jacobians are positive.
MGI021: Max. edge length ... 1.20e+002 u between nodes 1, 29
MGI052: Min. edge length ... 6.35e-001 u between nodes 35, 38
MGI020: Max. aspect ratio .. 1.32e+002 at element 11
............................................................................
MGI031: Writing a VRML file ...
MGI067: Writing a FLAC3D file ...
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
MGI999: Successful termination of KUBRIX in 2.6 seconds!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3. KUBRIX generates two files: kubrix_out.flac3d and kubrix_out.wrl. You have two options for
inspecting the resulting mesh. You can open a new instance of Rhino and use File|Import to
import kubrix_out.wrl.
4. For a more in-depth inspection of the grid launch FLAC3D and use File|Import grid to read
kubrix_out.flac3d. Select Plot|1 Base/0|Show to open the FLAC3D graphic window. Click
somewhere in the background of this window to activate it, and select Plot
item|Add|Plot|Group to open the Block group dialog box. Click OK to display the grid in FLAC3D
(Figure 50).
Figure 55: View of the grid in FLAC3D containing 33 zones and 84 vertices
By default, KUBRIX produces a coarse mesh. In the KUBRIX screen output, the maximum edge length in
the mesh is reported as 120. To create a finer mesh, you must specify a smaller maximum edge length.
5. Launch Kubrix, and in the Mesh parameters section of the dialog box, check the square marked
Max. allowable element edge length, and enter 10 in the corresponding field. In the same
section, choose a Resolution of 5 to make sure that all details are captured with at least 5
elements across. Set Structure of the mesh to 3 to create a fully-structured mesh, set the Nb. of
KUBRIX Geo/Rhino Users’ Manual Page 57
surface smoothing iterations to 1000 and click Compute (Figure 51) to launch the hexahedral
mesh generation.
Figure 56: Kubrix hexahedral meshing parameter for the fine mesh
6. In the FLAC3D, click on the Command Window to activate it. Select File|New to remove the
existing model, followed by File|Import Grid. Read t3.flac3d into FLAC3D and display it (Figure
52).
Figure 57: Flac3D grid containing 20,125 zones and 23,034 vertices
KUBRIX Geo/Rhino Users’ Manual Page 58
Creating a tetrahedral grid for FLAC3D Using KUBRIX
1. Start Rhino. Open t2_0.stl. Run the Kubrix program by clicking on the Kubrix icon. Select the
Tetrahedral meshing tab (Figure 53).
Figure 58: The tetrahedral meshing dialog box
2. Click on the button marked Default, then on Compute to create a tetrahedral grid (Figure 54).
Figure 59: An all tetrahedral grid
Creating octree grids for FLAC3D or blocks for 3DEC
Octree meshes are based on an increasingly finer decomposition of space into hexahedral blocks (Figure
55 & Figure 56). One of the main attractions of this approach is that the input surface doesn't have to
be closed. In fact, octree meshes can be obtained from surface data containing many gaps and
overlaps. This approach is to be compared with other forms of meshing presented in this document
where a perfectly watertight input surface is required in which all surface intersections are accounted
for.
KUBRIX Geo/Rhino Users’ Manual Page 59
Figure 60: Octree blocking: left, mesh featuring 5 levels of refinement, right, a balanced octree where a maximum of 1-to-2
refinement is enforced on adjacent cells
Figure 61: Octree meshing: left: boundaries are detected in dark blue, right; various regions are identified and colorized
1. Start Rhino. Open t2_0.stl. Run the Kubrix program by clicking on the Kubrix icon. Select the
Octree Meshing tab (Figure 37).
2. You can use octree meshing for both 3DEC and FLAC3D model generation. Click on Default,
select 3DEC for the output type and click on Compute to create the blocking.
Figure 62: Octree meshing dialog box
KUBRIX Geo/Rhino Users’ Manual Page 60
3. Kubrix generates a file called t3.3dec. Run 3DEC 4.0 and use File|Call to read t3.3dec and display
it (Figure 58).
Figure 63: Coarse octree blocking where blocks intersecting the boundary have been masked
4. To obtain a finer FLAC3D grid, run Kubrix , select the Octree Meshing tab, click on Default, select
7 for the Octree level, select FLAC3D as the output type and click on Compute to create a file
called t3.flac3d
5. Run FLAC3D, import t3.flac3d and display it (Figure 59).
Figure 64: An octree FLAC3D mesh using an octree level of 7. Group 2 has been masked for clarity purposes
Creating a FLAC3D or a 3DEC model for sequential excavation
The Kubrix/Rhino logic may be used to create models featuring sequential excavation. Whereas in
traditional model building for FLAC3D or 3DEC the range command based on geometrical criteria is used
to excavate material, in the CAD-based mesh generation logic embodied by Kubrix/Rhino, the zones
destined to be “nulled” must, in advance, belong to separate groups (or regions) so they can be
identified. You can create groups of zones (FLAC3D) or regions of blocks (3DEC) by adding internal walls
representing the location of the excavation fronts at various stages of the excavation. For all practical
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual
Kubrix georhinomanual

More Related Content

What's hot

Bash reference manual
Bash reference manualBash reference manual
Bash reference manual
shivanirn
 
8807290 shell-scripting
8807290 shell-scripting8807290 shell-scripting
8807290 shell-scripting
qaleeq
 
Ibm tivoli monitoring version 5.1.1 creating resource models and providers sg...
Ibm tivoli monitoring version 5.1.1 creating resource models and providers sg...Ibm tivoli monitoring version 5.1.1 creating resource models and providers sg...
Ibm tivoli monitoring version 5.1.1 creating resource models and providers sg...
Banking at Ho Chi Minh city
 
Ibm virtual disk system quickstart guide sg247794
Ibm virtual disk system quickstart guide sg247794Ibm virtual disk system quickstart guide sg247794
Ibm virtual disk system quickstart guide sg247794
Banking at Ho Chi Minh city
 

What's hot (18)

Implementing the ibm storwize v3700
Implementing the ibm storwize v3700Implementing the ibm storwize v3700
Implementing the ibm storwize v3700
 
Sg248107 Implementing the IBM Storwize V3700
Sg248107 Implementing the IBM Storwize V3700Sg248107 Implementing the IBM Storwize V3700
Sg248107 Implementing the IBM Storwize V3700
 
архитектура Prefab city
архитектура Prefab city архитектура Prefab city
архитектура Prefab city
 
xREF: IBM x86 Server Reference
xREF: IBM x86 Server ReferencexREF: IBM x86 Server Reference
xREF: IBM x86 Server Reference
 
Ibm tivoli storage tape drive
Ibm tivoli storage tape driveIbm tivoli storage tape drive
Ibm tivoli storage tape drive
 
Ibm system storage solutions handbook
Ibm system storage solutions handbook Ibm system storage solutions handbook
Ibm system storage solutions handbook
 
Corel draw learning file
Corel draw learning fileCorel draw learning file
Corel draw learning file
 
Joomla tutorials to install and customize BT Magazine Template version 1.0, J...
Joomla tutorials to install and customize BT Magazine Template version 1.0, J...Joomla tutorials to install and customize BT Magazine Template version 1.0, J...
Joomla tutorials to install and customize BT Magazine Template version 1.0, J...
 
Ivis
IvisIvis
Ivis
 
IBM eX5 Portfolio Overview IBM System x3850 X5, x3950 X5, x3690 X5, and Blade...
IBM eX5 Portfolio Overview IBM System x3850 X5, x3950 X5, x3690 X5, and Blade...IBM eX5 Portfolio Overview IBM System x3850 X5, x3950 X5, x3690 X5, and Blade...
IBM eX5 Portfolio Overview IBM System x3850 X5, x3950 X5, x3690 X5, and Blade...
 
Virtual box documentação tecnica
Virtual box documentação tecnicaVirtual box documentação tecnica
Virtual box documentação tecnica
 
Bash reference manual
Bash reference manualBash reference manual
Bash reference manual
 
8807290 shell-scripting
8807290 shell-scripting8807290 shell-scripting
8807290 shell-scripting
 
Table
TableTable
Table
 
Ibm tivoli monitoring version 5.1.1 creating resource models and providers sg...
Ibm tivoli monitoring version 5.1.1 creating resource models and providers sg...Ibm tivoli monitoring version 5.1.1 creating resource models and providers sg...
Ibm tivoli monitoring version 5.1.1 creating resource models and providers sg...
 
Oracle VM VirtualBox User Manual
Oracle VM VirtualBox User ManualOracle VM VirtualBox User Manual
Oracle VM VirtualBox User Manual
 
Ibm virtual disk system quickstart guide sg247794
Ibm virtual disk system quickstart guide sg247794Ibm virtual disk system quickstart guide sg247794
Ibm virtual disk system quickstart guide sg247794
 
BricsCAD V13 User Guide
BricsCAD V13 User GuideBricsCAD V13 User Guide
BricsCAD V13 User Guide
 

Similar to Kubrix georhinomanual

2007PSU_TechnionUndergrad1 (1)
2007PSU_TechnionUndergrad1 (1)2007PSU_TechnionUndergrad1 (1)
2007PSU_TechnionUndergrad1 (1)
Igor Teller
 
Gdfs sg246374
Gdfs sg246374Gdfs sg246374
Gdfs sg246374
Accenture
 
Junipe 1
Junipe 1Junipe 1
Junipe 1
Ugursuz
 
Tape automation with ibm e server xseries servers redp0415
Tape automation with ibm e server xseries servers redp0415Tape automation with ibm e server xseries servers redp0415
Tape automation with ibm e server xseries servers redp0415
Banking at Ho Chi Minh city
 
Broadband report
Broadband reportBroadband report
Broadband report
herooftit
 
Camrade 2011 brochure
Camrade 2011 brochureCamrade 2011 brochure
Camrade 2011 brochure
AVNed
 
Thesis - Umberto Morelli (83190)
Thesis - Umberto Morelli (83190)Thesis - Umberto Morelli (83190)
Thesis - Umberto Morelli (83190)
Umberto Morelli
 
95763406 atoll-3-1-0-user-manual-lte
95763406 atoll-3-1-0-user-manual-lte95763406 atoll-3-1-0-user-manual-lte
95763406 atoll-3-1-0-user-manual-lte
arif budiman
 

Similar to Kubrix georhinomanual (20)

AERODYNAMIC DEVELOPMENT OF THE SEGURACING F1-R01 PROTOTYPE USING CFD
AERODYNAMIC DEVELOPMENT OF THE SEGURACING F1-R01 PROTOTYPE USING CFDAERODYNAMIC DEVELOPMENT OF THE SEGURACING F1-R01 PROTOTYPE USING CFD
AERODYNAMIC DEVELOPMENT OF THE SEGURACING F1-R01 PROTOTYPE USING CFD
 
2007PSU_TechnionUndergrad1 (1)
2007PSU_TechnionUndergrad1 (1)2007PSU_TechnionUndergrad1 (1)
2007PSU_TechnionUndergrad1 (1)
 
Gdfs sg246374
Gdfs sg246374Gdfs sg246374
Gdfs sg246374
 
Junipe 1
Junipe 1Junipe 1
Junipe 1
 
R installation and administration
R installation and administrationR installation and administration
R installation and administration
 
LSI_SAS2008_Manual_v100.pdf
LSI_SAS2008_Manual_v100.pdfLSI_SAS2008_Manual_v100.pdf
LSI_SAS2008_Manual_v100.pdf
 
Docker containerization cookbook
Docker containerization cookbookDocker containerization cookbook
Docker containerization cookbook
 
Tape automation with ibm e server xseries servers redp0415
Tape automation with ibm e server xseries servers redp0415Tape automation with ibm e server xseries servers redp0415
Tape automation with ibm e server xseries servers redp0415
 
Broadband report
Broadband reportBroadband report
Broadband report
 
BOOK - IBM DB2 9 FOR zOS
BOOK - IBM DB2 9 FOR zOSBOOK - IBM DB2 9 FOR zOS
BOOK - IBM DB2 9 FOR zOS
 
Camrade 2011 brochure
Camrade 2011 brochureCamrade 2011 brochure
Camrade 2011 brochure
 
House framing guidelines
House framing guidelinesHouse framing guidelines
House framing guidelines
 
R admin
R adminR admin
R admin
 
engineering_manual.pdf
engineering_manual.pdfengineering_manual.pdf
engineering_manual.pdf
 
Db2 udb backup and recovery with ess copy services
Db2 udb backup and recovery with ess copy servicesDb2 udb backup and recovery with ess copy services
Db2 udb backup and recovery with ess copy services
 
Tinyos programming
Tinyos programmingTinyos programming
Tinyos programming
 
Thesis - Umberto Morelli (83190)
Thesis - Umberto Morelli (83190)Thesis - Umberto Morelli (83190)
Thesis - Umberto Morelli (83190)
 
Lfa
LfaLfa
Lfa
 
95763406 atoll-3-1-0-user-manual-lte
95763406 atoll-3-1-0-user-manual-lte95763406 atoll-3-1-0-user-manual-lte
95763406 atoll-3-1-0-user-manual-lte
 
Blackberry v.6.0
Blackberry v.6.0Blackberry v.6.0
Blackberry v.6.0
 

Recently uploaded

Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
amitlee9823
 
RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
amitlee9823
 
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
amitlee9823
 
Editorial design Magazine design project.pdf
Editorial design Magazine design project.pdfEditorial design Magazine design project.pdf
Editorial design Magazine design project.pdf
tbatkhuu1
 
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证
eeanqy
 
➥🔝 7737669865 🔝▻ jhansi Call-girls in Women Seeking Men 🔝jhansi🔝 Escorts S...
➥🔝 7737669865 🔝▻ jhansi Call-girls in Women Seeking Men  🔝jhansi🔝   Escorts S...➥🔝 7737669865 🔝▻ jhansi Call-girls in Women Seeking Men  🔝jhansi🔝   Escorts S...
➥🔝 7737669865 🔝▻ jhansi Call-girls in Women Seeking Men 🔝jhansi🔝 Escorts S...
amitlee9823
 
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
amitlee9823
 
Design Inspiration for College by Slidesgo.pptx
Design Inspiration for College by Slidesgo.pptxDesign Inspiration for College by Slidesgo.pptx
Design Inspiration for College by Slidesgo.pptx
TusharBahuguna2
 
Vip Mumbai Call Girls Bandra West Call On 9920725232 With Body to body massag...
Vip Mumbai Call Girls Bandra West Call On 9920725232 With Body to body massag...Vip Mumbai Call Girls Bandra West Call On 9920725232 With Body to body massag...
Vip Mumbai Call Girls Bandra West Call On 9920725232 With Body to body massag...
amitlee9823
 
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
kumaririma588
 

Recently uploaded (20)

Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
 
call girls in Vasundhra (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Vasundhra (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...call girls in Vasundhra (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Vasundhra (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
 
RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
 
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
 
UI:UX Design and Empowerment Strategies for Underprivileged Transgender Indiv...
UI:UX Design and Empowerment Strategies for Underprivileged Transgender Indiv...UI:UX Design and Empowerment Strategies for Underprivileged Transgender Indiv...
UI:UX Design and Empowerment Strategies for Underprivileged Transgender Indiv...
 
Editorial design Magazine design project.pdf
Editorial design Magazine design project.pdfEditorial design Magazine design project.pdf
Editorial design Magazine design project.pdf
 
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证
 
➥🔝 7737669865 🔝▻ jhansi Call-girls in Women Seeking Men 🔝jhansi🔝 Escorts S...
➥🔝 7737669865 🔝▻ jhansi Call-girls in Women Seeking Men  🔝jhansi🔝   Escorts S...➥🔝 7737669865 🔝▻ jhansi Call-girls in Women Seeking Men  🔝jhansi🔝   Escorts S...
➥🔝 7737669865 🔝▻ jhansi Call-girls in Women Seeking Men 🔝jhansi🔝 Escorts S...
 
Sector 104, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 104, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 104, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 104, Noida Call girls :8448380779 Model Escorts | 100% verified
 
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
 
Design Inspiration for College by Slidesgo.pptx
Design Inspiration for College by Slidesgo.pptxDesign Inspiration for College by Slidesgo.pptx
Design Inspiration for College by Slidesgo.pptx
 
HiFi Call Girl Service Delhi Phone ☞ 9899900591 ☜ Escorts Service at along wi...
HiFi Call Girl Service Delhi Phone ☞ 9899900591 ☜ Escorts Service at along wi...HiFi Call Girl Service Delhi Phone ☞ 9899900591 ☜ Escorts Service at along wi...
HiFi Call Girl Service Delhi Phone ☞ 9899900591 ☜ Escorts Service at along wi...
 
Q4-W4-SCIENCE-5 power point presentation
Q4-W4-SCIENCE-5 power point presentationQ4-W4-SCIENCE-5 power point presentation
Q4-W4-SCIENCE-5 power point presentation
 
Vip Mumbai Call Girls Bandra West Call On 9920725232 With Body to body massag...
Vip Mumbai Call Girls Bandra West Call On 9920725232 With Body to body massag...Vip Mumbai Call Girls Bandra West Call On 9920725232 With Body to body massag...
Vip Mumbai Call Girls Bandra West Call On 9920725232 With Body to body massag...
 
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
 
Book Paid In Vashi In 8976425520 Navi Mumbai Call Girls
Book Paid In Vashi In 8976425520 Navi Mumbai Call GirlsBook Paid In Vashi In 8976425520 Navi Mumbai Call Girls
Book Paid In Vashi In 8976425520 Navi Mumbai Call Girls
 
Top Rated Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated  Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...Top Rated  Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
 
VIP Model Call Girls Kalyani Nagar ( Pune ) Call ON 8005736733 Starting From ...
VIP Model Call Girls Kalyani Nagar ( Pune ) Call ON 8005736733 Starting From ...VIP Model Call Girls Kalyani Nagar ( Pune ) Call ON 8005736733 Starting From ...
VIP Model Call Girls Kalyani Nagar ( Pune ) Call ON 8005736733 Starting From ...
 
Booking open Available Pune Call Girls Kirkatwadi 6297143586 Call Hot Indian...
Booking open Available Pune Call Girls Kirkatwadi  6297143586 Call Hot Indian...Booking open Available Pune Call Girls Kirkatwadi  6297143586 Call Hot Indian...
Booking open Available Pune Call Girls Kirkatwadi 6297143586 Call Hot Indian...
 
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
 

Kubrix georhinomanual

  • 1. KUBRIX Geo/Rhino Users’ Manual REV110112 Page 1 1 KUBRIX® is a registered trademark of Itasca Consulting Group, Inc. KUBRIX®Geo/Rhino1 Users’ Manual Complex Grid Generation for Geomechanics
  • 2. KUBRIX Geo/Rhino Users’ Manual Page 2 Rhino® is a registered trademark of Robert McNeel & Associates
  • 3. KUBRIX Geo/Rhino Users’ Manual Page 3 Contents SETTING UP YOUR RHINO®/KUBRIX® WORK ENVIRONMENT.................................... 10 Installing Kubrix and Rhino ..................................................................................................... 10 Displaying the most useful Rhino Toolbars and the Kubrix-specific buttons.......................... 10 The Rhino command area......................................................................................................... 10 Icon/button names..................................................................................................................... 11 Rotating and panning views...................................................................................................... 11 Colorizing all objects in the model........................................................................................... 11 Useful shortcuts ........................................................................................................................ 11 The following shortcuts may be added to Rhino help in speeding up the mesh cleanup process:................................................................................................................................. 11 AlignMeshVertices: ............................................................................................................... 11 Tolerances................................................................................................................................. 12 Avoiding accidental object drag ............................................................................................... 12 SetWorkingDirectory or where are my files............................................................................. 12 Object snap options................................................................................................................... 13 READING CAD DATA............................................................................................................... 14 General Guidelines ................................................................................................................... 14 Solids & Surfaces...................................................................................................................... 14 Wireframes................................................................................................................................ 14 Points ........................................................................................................................................ 14 Facetized surfaces: polygonal surfaces..................................................................................... 15 Facetized surfaces: triangular surfaces ..................................................................................... 15 TIPS AND TRICKS OF THE TRADE ........................................................................................ 16 Are Windows 7 ghosts eating your Kubrix license files?......................................................... 16 The SetWorkingDirectory in Rhino 4 and 5............................................................................. 16 Shimmering triangles and off-center models............................................................................ 16 Shrinking Gigantic Surface Meshes into a More Manageable Size?...Yes we can!................. 16 Surface Meshes from Contours: Way Faster in Rhino 5 Beta!................................................. 17 Speed Tip when building Octree Meshes ................................................................................. 17 Surface quality diagnostics in Rhino and Kubrix..................................................................... 17 Tolerances and off-center models............................................................................................. 18 Want to Simplify Complex & Thin Geological Structures in Rhino for Use with Kubrix?..... 18
  • 4. KUBRIX Geo/Rhino Users’ Manual Page 4 SPACERANGER.......................................................................................................................... 20 Modeling problems addressed by SpaceRanger ....................................................................... 20 How does SpaceRanger works ................................................................................................. 20 Partitioning by interiority...................................................................................................... 20 Partitioning by proximity to surfaces.................................................................................... 20 Local zone refinement based on interiority and proximity................................................... 20 Examples................................................................................................................................... 21 SpaceRanging FLAC3D zones ............................................................................................ 21 SpaceRanging 3DEC zone material ID’s.............................................................................. 25 SpaceRanging 3DEC block material ID’s ........................................................................... 26 Other examples: ........................................................................................................................ 27 SpaceRanger version 9 options:................................................................................................ 27 TUTORIAL 1- INTERNAL WALLS AND MULTIPLE MATERIALS .................................... 28 Creating a single-material model ............................................................................................. 28 END OF TUTORIAL 1 ............................................................................................................ 30 TUTORIAL 2 – VERTICAL SHAFT IN A STRATIFIED SOIL ............................................... 31 Startup and excavation of the shaft........................................................................................... 31 Creating a triangular surface mesh of the model ...................................................................... 33 Creating an all-hexahedral mesh for FLAC3D using Kubrix................................................... 34 Creating a model of both the inside and outside of the excavated shaft................................... 37 Creating an all-hexahedral mesh of the capped model, with stratified soil.............................. 40 Creating 3DEC blocking of the capped model, with stratified soil.......................................... 45 Creating Octree mesh of the capped model, with stratified soil............................................... 46 END OF TUTORIAL 2 ............................................................................................................ 48 TUTORIAL 3 — 20° BIFURCATING CIRCULAR TUNNELS................................................ 49 Startup and creation of a horizontal tunnel of diameter 10 and length 200.............................. 49 Creating the bifurcation and the box surrounding it................................................................. 50 Creating a Triangular Surface Mesh of the Model ................................................................... 52 Creating a convex blocking for 3DEC...................................................................................... 54 Creating an all-hexahedral grid for FLAC3D Using KUBRIX................................................ 54 Creating a tetrahedral grid for FLAC3D Using KUBRIX........................................................ 58 Creating octree grids for FLAC3D or blocks for 3DEC........................................................... 58 Creating a FLAC3D or a 3DEC model for sequential excavation ........................................... 60
  • 5. KUBRIX Geo/Rhino Users’ Manual Page 5 END OF TUTORIAL 3 ............................................................................................................ 65 TUTORIAL 4: GEOMETRY CLEANUP GIVEN AN EXISTING TRIANGULATED SURFACE..................................................................................................................................... 66 Startup and reading, joining and centering the model around the origin.................................. 66 Automatic sewing of neighboring free edges ........................................................................... 67 Removal of degenerate, duplicate, non-manifold and isolated triangles.................................. 69 Automatic closure of all nearly planar open holes ................................................................... 69 Removal of artifacts due to triangulation noise: “defeaturing”. ............................................... 70 Saving the closed triangular surface as a formatted (ASCII) STL file..................................... 76 Using the Kubrix surface diagnostics to identify and repair mesh self- intersections.............. 76 Creating a box representing the computational volume ........................................................... 77 Reading the STL file into KUBRIX and automatic hexahedral meshing................................. 77 END OF TUTORIAL 4 ............................................................................................................ 80 TUTORIAL 5 — OPEN PIT: CREATING A MODEL FROM CONTOUR LINES.................. 81 Startup and approximation of contour lines.............................................................................. 81 Creating the benches................................................................................................................. 85 Creating the bench faces........................................................................................................... 89 An alternative method of creating the benches and the bench faces ........................................ 90 Creating an outer box................................................................................................................ 91 Creating a surface mesh............................................................................................................ 93 Creating a 3DEC model............................................................................................................ 94 Creating a FLAC3D model....................................................................................................... 95 Creating an Octree model ......................................................................................................... 95 A better Octree model............................................................................................................... 96 END OF TUTORIAL 5 ............................................................................................................ 98 TUTORIAL 6: BUILDING 3DEC MODELS IN RHINO WITHOUT USING KUBRIX.......... 99 Fundamentals............................................................................................................................ 99 Only certain Rhino operations result in solids.......................................................................... 99 Exporting solids as VRML 2.0 files ......................................................................................... 99 Exporting meshes (instead of solid) as VRML 2.0 files........................................................... 99 Translating VRML 2.0 files into 3DEC POLY file................................................................ 100 Example 1: Dynamic analysis of a Flemish bond brick wall ................................................. 100 Export the support.............................................................................................................. 101
  • 6. KUBRIX Geo/Rhino Users’ Manual Page 6 Export the wall.................................................................................................................... 101 Running 3DEC...................................................................................................................... 101 Example 2: borehole in a block .............................................................................................. 103 END OF TUTORIAL 6 .......................................................................................................... 106 TUTORIAL 7: WORKING WITH MESHES: ADDING AN INTERNAL WALL TO AN EXISTING MESH...................................................................................................................... 107 Partitioning a mesh of faces into a few manageable pieces.................................................... 107 Defining a Polyline that cuts the tunnel along its length ........................................................ 109 Partitioning meshes................................................................................................................. 111 Building an internal wall......................................................................................................... 112 Putting it all together............................................................................................................... 115 Editing remaining naked edges............................................................................................... 116 END OF TUTORIAL 7 .......................................................................................................... 118 TUTORIAL 8: IMPORTING INTERMITTENT FAULTS IN FLAC3D & 3DEC WITH KUBRX....................................................................................................................................... 119 Importing meshes and extending the pit beyond its boundary ............................................... 119 Extension of the pit................................................................................................................. 120 Specifying the computational domain .................................................................................... 124 Computing intersections ......................................................................................................... 130 Calculating intersection 1 ....................................................................................................... 131 Extending Fault2 for a clean intersection with Fault1............................................................ 132 Back to intersection 1 (now with a clean intersection curve)................................................. 136 Calculating intersection 2 ....................................................................................................... 138 Calculating intersection 2 ....................................................................................................... 138 Calculating intersection 3 ....................................................................................................... 139 Calculating intersection 4 ....................................................................................................... 140 Calculating intersection 5 ....................................................................................................... 141 Surface quality check.............................................................................................................. 142 Quality check with Rhino ....................................................................................................... 143 Quality check & grid generation with Kubrix ........................................................................ 144 How does KUBRIX keep track of interfaces for FLAC3D?.................................................. 150 Running the model with FLAC3D.......................................................................................... 151 END OF TUTORIAL 8 .......................................................................................................... 152
  • 7. KUBRIX Geo/Rhino Users’ Manual Page 7 TUTORIAL 9: IMPORTING INTERFACES INTO LEGACY MODELS............................... 153 Initial Rhino tolerance setup and model import...................................................................... 153 Simplifying the internal surfaces ............................................................................................ 153 Translating the FLAC3D mode into a .WRL file using SpaceRanger ................................... 157 Retrieving the shape of the dam from the flac3d model......................................................... 158 Trimming the surfaces with the dam ...................................................................................... 160 Avoiding surface overlaps ...................................................................................................... 162 Identifying the zones that intersect the surfaces with SpaceRanger....................................... 164 What if Kubrix says there are self-intersections? ................................................................... 166 How does KUBRIX keep track of interfaces for FLAC3D?.................................................. 167 Combining hex and tet grids into a final hybrid grid.............................................................. 169 Using SpaceRanger to create separate groups below and above the surface.......................... 170 Running a FLAC3D grid containing face collections ............................................................ 171 Running the model with FLAC3D.......................................................................................... 171 END OF TUTORIAL 9 .......................................................................................................... 172 EXERCISE 1 – SALT CAVERN: USING RHINO’S LOFT TO CREATE A MODEL FROM CONTOUR LINES..................................................................................................................... 173 Creating a solid model & meshing ......................................................................................... 173 EXERCISE 2 – OPEN PIT: USING RHINO’S MESH FROM POINTS FOR FAST MODEL CREATION ................................................................................................................................ 174 Creating a solid model & meshing ......................................................................................... 174 EXERCISE 3-MODELS DEFINED BY HORIZONS & TOPOGRAPHY: BOOLEAN OPERATIONS ON SURFACES AND MESHES ..................................................................... 176 EXERCISE 4- ROCK CORE SLIDING ALONG CONICAL INTERFACE IN A CUBE....... 179 IMPORTING CAD DATA INTO PFC3D ................................................................................. 181 Summary................................................................................................................................. 181 Introduction............................................................................................................................. 181 Brief overview of Computer-Aided Design (CAD) ............................................................... 181 Preparing a model for import into PFC3D.............................................................................. 183 Model simplification........................................................................................................... 183 Model triangulation............................................................................................................. 184 Checking normal orientation............................................................................................... 185 Example applications.............................................................................................................. 186
  • 8. KUBRIX Geo/Rhino Users’ Manual Page 8 Stirred Tank Reactor........................................................................................................... 186 Additional Examples............................................................................................................... 188 Ball Mill.............................................................................................................................. 188 Blade Mill ........................................................................................................................... 188 Bulldozer............................................................................................................................. 189 USING CAD TO AUTOMATICALLY GENERATE OF CLUMPS FOR PFC3D: BUBBLEPACK.......................................................................................................................... 190 Summary................................................................................................................................. 190 Medial axis/Mid-surface and bubble packing......................................................................... 190 Using BubblePack................................................................................................................... 191 Examples............................................................................................................................. 191 Input Surface....................................................................................................................... 191 Meshing Parameters............................................................................................................ 191 TROUBLESHOOTING.............................................................................................................. 193 Where are my files? In Rhino, I clicked on the Kubrix icon and ran it but the resulting files are not in the folder they are supposed to be. ............................................................................... 193 Why the Polygon Meshing Option? I have created a model in Rhino. I have meshed its surface and I want to save it, but Rhino displays the Polygon Meshing Options. I thought I did that already when I triangulated the surface!.......................................................................... 193 Naked/free edges in the input. I run Kubrix and it says that there are free edges. I read the STL file into Rhino and use CheckMesh. Rhino reports that there are indeed naked edges. Why?....................................................................................................................................... 193 Kubrix reports surface self intersection.................................................................................. 194 Tetra blocking fails! I launch Kubrix|Convex Blocking or Tetra meshing. I use all “default” values for parameters. Kubrix reads the STL file and the surface is remeshed but Kubrix reports intersecting triangles after remeshing or hangs and fails with the message: “Tetra blocking failed”....................................................................................................................... 194 Blocking not progressive enough. I use Kubrix|Convex Blocking to create a 3DEC model. I use a small Offset, small Cut angle and a Mesh Gradation close to 1 but I find that blocks fan out too abruptly. I would like to see a more progressive increase in block size around details. ................................................................................................................................................ 195 License error. I obtained a Kubrix license but I get an error message saying that the license is not valid .................................................................................................................................. 195 INDEX........................................................................................................................................ 197
  • 10. KUBRIX Geo/Rhino Users’ Manual Page 10 Setting up your Rhino®2 /Kubrix®3 Installing Kubrix and Rhino work environment 1. Install Rhino from your Rhino disc, or download an evaluation version of Rhino from www.Rhino3d.com. An evaluation version of Rhino allows you to save or export 25 files. 2. Install the latest version of Kubrix from www.kubrix.com or www.itascacg.com/kubrix. Displaying the most useful Rhino Toolbars and the Kubrix-specific buttons 3. Start Rhino and right-click in the Toolbar area located around the edges of the graphic window. When the list of toolbars opens, make sure that all toolbars are checked off. 4. Open the C:Program FilesSimulation WorksKubrixRhino Stuff folder. Select all files in that folder and drag them over the Rhino window. These files contain the scripts and toolbars related to Kubrix that are most frequently used in Rhino. You can later on modify these tools if you so desire. The Rhino command area The command area is the area (generally on top) where Rhino displays text information. The location of the command area can be moved by dragging. Figure 1 shows the Rhino window after the Rhino Stuff content has been installed. Figure 1: The Rhino window after the kubrix toolbar and scripts have been added. 2 Rhinoceros is a Registered Trademark of Robert McNeel and Associates, Seattle, USA. 3 KUBRIX is a Registered Trademark of Simulation Works, Inc., Saint Paul, USA.
  • 11. KUBRIX Geo/Rhino Users’ Manual Page 11 Icon/button names Throughout this tutorial we refer to the name of icons. The name of an icon is displayed when you place the mouse over it. Often, an icon has two related functions depending on whether you click the left or right mouse button. After you click an icon, the corresponding Rhino command-line appears in the command line area. Rotating and panning views You can rotate a view by holding down <SHIFT> & <CTRL> while right-clicking the mouse and moving it around. You can pan a view using <SHIFT> and the right mouse button. Colorizing all objects in the model Often, newly-created objects in Rhino appear in gray. To distinguish objects from each other, click on the icon marked ColorizeAllObjects to give a different color to each entity in your current model (Figure 2). Figure 2: The ColorizeAllObjects icon in the Kubrix toolbar Useful shortcuts The following shortcuts are pre-programmed into Rhino: F3 Properties F8 Ortho F9 Snap The following shortcuts may be added to Rhino help in speeding up the mesh cleanup process: AlignMeshVertices: Left-clicking on the Icon marked Align mesh vertices to tolerance launches the AlignMeshVertices command which is one of the most useful Rhino tools for cleaning up meshes. The most common use of this tool involves the following preliminary actions: • left-clicking on the command • setting the the DistanceToAdjust Parameter • clicking on SelectVertices • clicking on the first vertex that will host all the subsequent vertices • Clicking on the vertices that will collapse on the host vertex
  • 12. KUBRIX Geo/Rhino Users’ Manual Page 12 • hitting <RETURN> You can set a shortcut, F4, that does all this. Let-click on the icon marked Options, on the left pane, under Rhino Options select Keyboard. If the slot in front of F4 is available, type in _AlignMeshVertices SelectVertices CheckMesh: Similarly, using Option|Rhino Options|Keyboard you can set F5 to _CheckMesh SplitMeshEdge: Similarly, set F6 to _SplitMeshEdge Tolerances Tolerances can be the cause of problems especially when dealing with intersection and boolean operations on meshes and geometric entities. This is particularly critical when the model center is far from the origin or when the model is very large. In all cases, make sure that your model is not too far away from the origin and in case it is move it closer to the origin. Moving the object closer to the origin also helps with the graphics both in Rhino and in your engineering analysis software. When starting a new project, use the initial Rhino template to specify whether the model will be a "Large object in "meters", "small" object in "feet", etc.., then import DXF, STL or even existing 3dm files into the new project. In this fashion you control the tolerance instead of using any tolerance inherited from the DXF file. Please note that by default, Option|Document Properties|Units should say an absolute tolerance of 0.01, a relative tolerance of 1.0. and an angle tolerance of 1°. When preparing a solid, in general you have to join multiple surfaces. Too small a tolerance prevents successful joining so the default Large object in meters is often good for obtaining a single joined polysurface. However, when intersecting or doing a Boolean operation on polysurfaces or meshes, a smaller tolerance such as 0.0001 absolute, 0.01 relative and 0.01° in angles may be more appropriate. Avoiding accidental object drag It may happen that you inadvertently drag a highlighted object by dragging it with the left mouse button. To avoid this left-click on the icon marked Options. In the left pane of the Rhino Options dialog box, click on Rhino Options|Mouse, and in the Click and drag section, set the Object drag threshold to 100 pixels. Now, dragging a highlighted objects requires a minimum of 100 pixel translation to occur. SetWorkingDirectory or where are my files When you start Rhino by double-clicking a file located in a folder, generally Rhino considers that folder to be the working directory, therefore, when you click on the Kubrix icon in Rhino, Kubrix will search for the input in that folder and will place in the same folder. In certain situations Rhino may not know where the working directory is and the Kubrix results may get lost! In Rhino, the command SetWorkingDirectory may be used to tell Rhino (thus Kubrix) where to read and write its files.
  • 13. KUBRIX Geo/Rhino Users’ Manual Page 13 Object snap options In Rhino two snapping concepts are available: Snap and Object Snap. Snap is similar to Snap to Grid in PowerPoint. Objet Snap (Osnap) is the Rhino equivalent of PowerPoint's Snap to Objects. To be able to snap lines, polylines, corners of objects, etc. to exiting objects, Osnap must be active. Click on the word Osnap at the bottom of the graphic window to activate it. Next, you can specify to which particular point of an existing object you want to snap by placing a check mark next to any of the worda: End, Near, Point, Mid, etc...appearing at the bottom the graphic window. Orthogonal restriction of the mouse You can restrict the movements of the mouse to any of the three principal directions by clicking on the word Ortho appearing at the bottom of the graphic window or by hitting <F8>. Getting rid of the background grid You can get rid of the background grid in any window by hitting <F7>. To get rid of the grid in all windows, left-click on the icon marked Options. In the left pane of the Rhino Options dialog box, click on Document Properties|Grid, and in the Grid properties section, uncheck Show grid lines and Show grid axes.
  • 14. KUBRIX Geo/Rhino Users’ Manual Page 14 Reading CAD data Data transfer between different CAD tools is achieved through files. Files may differ by the entities they contain and by their format. For instance, an AutoCAD DXF and a VRML file may both describe a mesh of triangles. Both need to be converted to an ASCII STL file before KUBRIX can generate a volume mesh. If a CAD file contains only points or lines, it must be read into a CAD tool such as Rhino 4.0 before closed surfaces are created and a volume mesh is generated with KUBRIX. In summary, two files may contain the same entities but in different formats or two files of the same format may contain different geometrical entities General Guidelines CAD data is generally either a surface/solid/line (geometrical) model or facetized (discretized polygons). Solid/Surface/line models are mathematically exact definitions of the geometries they describe whereas facetized data represent solid/surface models that have been discretized into a collection of points and polygons. Surfaces/Solids must be imported as IGES or STEP files into Rhino, triangulated, cleaned-up and exported as ASCII STL files for processing with KUBRIX. Facetized (triangulated) data may be imported in the STL, VRML, DXF or 3DS formats into Rhino for further processing. In Rhino, facetized data will be represented as a mesh. The mesh must be first cleaned-up, that is checked for quality (no free edges, degenerate or duplicated faces) and defeatured (see Removal of artifacts due to triangulation noise: “defeaturing”. Section 0 in Tutorial 3) before being exported as an ASCII STL file for processing with KUBRIX Solids & Surfaces Solids and surfaces may be imported in the IGES, STEP or ACIS formats into Rhino. In Rhino the data will be represented as polysurfaces which should be checked for naked edges and other anomalies. The polysurfaces should then be triangulated, cleaned-up and exported as an STL file for processing with KUBRIX Wireframes Wireframes may be imported as IGES, STEP, VRML 2.0, DXF or DWG files into Rhino. In Rhino, the data will appear as lines. Lines should be used as a guide to create closed polysurfaces. It is a good practice not to curves directly but to retrace them by creating Polylines (using points on the curves). Often, curves produced by AutoCAD contains many degenerate line segments which, if used directly in the construction of a surface, may result in invalid surfaces. Use the retraced Polylines or curves to create surfaces. The resulting closed polysurfaces should be triangulated and cleaned-up before being exported as an STL file for processing with KUBRIX Points In Rhino, the points should be used as a guide to create lines and closed polysurfaces. The closed polysurfaces should be triangulated, cleaned-up and exported as an STL file for processing with KUBRIX
  • 15. KUBRIX Geo/Rhino Users’ Manual Page 15 Facetized surfaces: polygonal surfaces Polygonal surface may be imported as IGES, STEP, VRML 2.0, 3DS, STL, DXF or DWG files into Rhino. In Rhino, polygons should be split into triangular meshes. Meshes should be closed and checked for anomalies (degenerate or duplicate elements) and defeatured (see KUBRIX-Rhino users' manual). Triangular meshes should be exported as STL files for processing with KUBRIX Facetized surfaces: triangular surfaces Triangular surfaces may be imported as IGES, STEP, VRML 2.0, 3DS, STL, DXF or DWG files into Rhino. In Rhino, meshes should be closed and checked for anomalies (degenerate or duplicate elements) and defeatured. Triangular meshes should be exported as STL files for processing with KUBRIX.
  • 16. KUBRIX Geo/Rhino Users’ Manual Page 16 Tips and Tricks of the Trade Are Windows 7 ghosts eating your Kubrix license files? When you place a Kubrix license in C:Program Files (x86)Simulation WorksKubrix , Windows Vista and Windows 7 keep a "ghost" copy of this file in C:Users<your name>AppDataLocalVirtualStoreProgram Files (x86)Simulation WorksKubrix This is a security "feature" of Windows. Occasionally, when you replace the license (upgrade or extension of your license) in C:Program Files (x86)Simulation WorksKubrix, Kubrix continues to use the ghost copy and your new license won't work. To resolve this problem, delete the copy of kubrix_lock located in C:Users<your name>AppDataLocalVirtualStoreProgram Files (x86)Simulation WorksKubrix and the curse simply evaporates... The SetWorkingDirectory in Rhino 4 and 5 When you start Rhino by double-clicking a file located in a folder, generally Rhino considers that folder to be the working directory, so when you click on the Kubrix icon in Rhino Kubrix will search for the input in that folder and will place the result in there also. In certain cases though Rhino may not know where the working directory is and the Kubrix results get somehow lost! In Rhino, the command SetWorkingDirectory may be used to tell Rhino (thus Kubrix) where to read and write its files... Shimmering triangles and off-center models Have you noticed that in certain situations, as you examine a Rhino (or FLAC3D or 3DEC, for that matter) model, as you slowly rotate/zoom towards a minute detail, at certain angles a "shimmering" or "sparkling" effect makes it nearly impossible to see which surface covers which one? You basically can't visually inspect the intersection of two triangles especially when they make a shallow intersection. Clearly, this is critical while figuring out whether triangles intersect properly. This is a graphic effect due to truncation errors in calculating triangles normals and the corresponding lighting effects. In my personal experience, this is often due to the model being excessively off-center with respect to the origin of the coordinates system. If you move the entire model by large vector so as to further center it around the origin, this annoying graphic effect disappears and often the resulting intersection calculation (Booleans, split, trim etc.) are more accurate. Please to share your experience in the use of Kubrix-Rhino with Itasca products. Shrinking Gigantic Surface Meshes into a More Manageable Size?...Yes we can! In Rhino5 Beta, the _ReduceMesh function (which was pretty much useless in verion 4) works like a dream!. Select your ginormous triangular mesh, click on the icon or type ReduceMesh, choose a reduction % and hit OK. Play around with the parameters to get a feel for the usage envelope. Let me know what you think.
  • 17. KUBRIX Geo/Rhino Users’ Manual Page 17 Surface Meshes from Contours: Way Faster in Rhino 5 Beta! Ever got tons of contour lines from your client wishing they'd sent you the actual triangulated mesh the contours came from? Rhino 5 Beta is the ticket! In Rhino 5 Beta, the MeshPatch command which builds a Delaunay triangulation out of curves or point clouds runs way, way faster! To control how fine the resulting surface mesh will be I suggest not feeding the curves directly to MeshPatch. Instead, select your contours, then Curve|Point Object|Divide Curve by|Length of Segments. Specify a segment length that half the vertical distance between consecutive contour lines (this, to prevent aliasing in the resulting triangulation). Now, select all the points, followed by MeshPatch and <RETURN>, <RETURN>, et voila! If the surface mesh is too noisy, just Surface|Drape it in a Top view. To get a nice looking mesh from a draped surface try Mesh|From NURBS Control Polygon; IMHO way sexier than what "from NURBS Objets" hands you... Speed Tip when building Octree Meshes If you have ever run Octree meshes where the input surface has many triangles you may have noticed that after vertex sorting reaches 99% Kubrix hangs and stays there for quite some time before completing the computation and outputting a mesh. This is caused by the "Joint" radio button not being checked in the Octree Meshing tab of Kubrix. If you check "Joint", you will avoid this delay and Kubrix will immediately proceed to outputting the mesh after vertex sorting is complete. The default settings of Kubrix will be revised in the next release of Kubrix in order to avoid this problem. Surface quality diagnostics in Rhino and Kubrix There are 4 levels of surface quality check in Rhino & Kubrix that ensure a good quality output 1- In Rhino: +CheckMesh. A Clean bill of health from the mesh doctor is a necesary condition for a successful run with Kubrix. +ExtractMeshFacesByAspectRatio with an aspect ratio of 10,000 or more often points to tolerance mismatches on the surface. Deleting these faces and using MatchMeshEdges or other means often saves you a lot of trouble in Kubrix 2- In Kubrix: +Self-intersection checks before surface remeshing point to the true x,y,z coordinates of trouble spots +Self-intersection after surface remeshing brings to light situations where two choppy and close surfaces defining a thin volume (orebody) nearly escape self-intersection but self-intersect after surface
  • 18. KUBRIX Geo/Rhino Users’ Manual Page 18 remsehing. To avoid this, reduce the cut angle and/or the offset value. Sometimes, simplifying these thin volumes is the only way to ensure non-self-intersecting remeshed surfaces even with large cut angles. This is key to producing 3DEC models with low block counts. +Coordinates of trouble spots during the mesh generation process +In Kubrix 12, the coordinates of the center of the 10 worst zoners or blocks are listed which point you to trouble spots (surfaes that come too close, exceedingly sharp boundary angles, etc...) In Kubrix 12, the coordinates of the trouble spots are outputted in such a way that they can be copied as a block and pasted into the Rhino Curve|Polyline|Polyline command to create a polyline pointing to all the troublespots at once. Tolerances and off-center models Tolerances can be the cause of problems especially when dealing with intersection and boolean operations on meshes and geometric entities. This is particularly critical when the model center is far from the origin or when the model is very large. In all cases, make sure that your model is not too far away from the origin and in case it is move it closer to the origin. Moving the object closer to the origin also helps with the graphics both in Rhino and in your engineering analysis software. When starting a new project, use the initial Rhino template to specify whether the model will be a "Large object in "meters", "small" object in "feet", etc.., then import DXF, STL or even existing 3dm files into the new project. In this fashion you control the tolerance and not the default tolerance specified in the DXF. By default, Option|Document Properties|Units should say an absolute tolerance of 0.01, a relative tolerance of 1.0. and an angle tolerance of 1°. When preparing a solid, in general you have to join multiple surfaces. Too small a tolerance prevents successful joining so the default "Large object in meters" is often good for obtaining a single joined polysurface. However, when intersecting or doing a Boolean operation on polysurfaces or meshes, a smaller tolerance such as 0.0001 absolute, 0.01 relative and 0.01° in angles may be more appropriate. Want to Simplify Complex & Thin Geological Structures in Rhino for Use with Kubrix? PROBLEM: You have a complex geological structure that has a thickness but spans across a wide area. It really should be modeled as an interface in FLAC3D or a joint in 3DEC but you need to somehow reduce it down to a single, smooth, low-triangle-count, good quality, average median triangular surface. SOLUTION: Select the mesh structure, then ExtractPt to extract all its vertices as a cloud of points. While the points are selected, use MeshPatch to triangulate these points. The result is a triangular mesh that is extremely choppy (like a waffle), and this is because the triangulation tends to join points across the thickness of the geological structure connecting points on the foot wall an hanging wall sides of the structure....But
  • 19. KUBRIX Geo/Rhino Users’ Manual Page 19 no worries. Now, select the choppy mesh and Transform|Smooth, check smoothX, Y and Z and Fix Boundaries. Set the Factor to 1 and OK. repeat several times. As you do this the mesh converges towards a smooth surface that is an average of the foot wall and the hanging wall. Select the resulting mesh and use ReduceMesh with 90% reduction to reduce it to a low-count mesh and you are done! Rhino5 Beta is the right tool for that because both MeshPatch and ReduceMesh actually work in there.
  • 20. KUBRIX Geo/Rhino Users’ Manual Page 20 SpaceRanger SpaceRanger is a generalized range function that uses complex surfaces to identify & modify groups of zones, blocks & balls in FLAC3D, 3DEC or PFC3D models. Modeling problems addressed by SpaceRanger • You want to give different properties to certain zones of a zoned 3DEC model based on their location with respect to several surfaces defined as DXF file. • You want to carve a group of balls out of a packed group of PFC3D balls • You want to assign different group numbers to zones that will be excavated each year given a stair step pit model and several DXF's representing excavation surfaces • You want to assign ubiquitous joint properties to zones that come within 10m of a set of faults • You want to change the properties of all the balls that come within 3 mm of a surface • You want to refine a FLAC3D model before carving out a group of zones with SpaceRanger • You want to turn tetrahedral zones into hexahedral zones in the vicinity of a detail How does SpaceRanger work? Partitioning by interiority SpaceRanger tests whether the center of a zone, block or ball is inside (or below, if the surfaces are not closed) one or several surfaces. The surfaces must be specified and listed in a specific order in a file called spaceranger.dat. SpaceRanger checks each zone center, block center or ball center and determines whether it is inside (or below) any of the surfaces and tags that zone, block or ball as being inside the last surface (in the list) it is inside. For instance, if a zone center is inside the surfaces named on lines 3, 19, and 14 and outside all the other surfaces in the list, that zone will be tagged as being inside the surface named on line 19. Partitioning by proximity to surfaces SpaceRanger can test whether a zone, block or ball is near a surface. Local zone refinement based on interiority and proximity Based on whether an entity (zone, ball or block) is inside or near a surface SpaceRanger can identify that entity and subdivide it into smaller entities: tetras into 4 hexes and hexes into 8 hexes. SpaceRanger can directly process FLAC3D grid files. For other Itasca products, you can use FISH to export the x, y, z coordinates, and material or color of entities in a model into a text file. SpaceRanger sorts through the file and create a new file with updated entity groups, regions or colors which can be read back into the model using FISH. A number of such FISH functions are provided in the manual example files.
  • 21. KUBRIX Geo/Rhino Users’ Manual Page 21 Examples SpaceRanging FLAC3D zones Run FLAC3D and read in (File|Grid|Import) test5.flac3d, if you are using FLAC3D version 5, or test4.flac3d if you are using FLAC3D version 4 (Figure 3). This is the starting model and has 3 groups dummy 1, 2 and 3. Figure 3: Starting model We will use 3 surfaces to partition this model in multiple groups. These 3 surfaces are stored in 3 separate ASCII STL files called Y0.stl, Y1.stl and Y9.stl. You can think of these surfaces as 3 excavation surfaces in an open pit mine representing Year0, Year1 and Year2. Figure 4 shows the surfaces in one Rhino document and in the FLAC3D model where the 3 surfaces have been read as one DXF file containing each surface in a separate layer. Figure 4: 3 surfaces used for SpaceRanging the model: Left, in Rhino, Right, imported as DXF in FLAC3D
  • 22. KUBRIX Geo/Rhino Users’ Manual Page 22 Using SpaceRanger First, create a file called spaceranger.dat and in there write: sphereY0.stl sphereY1.stl sphereY2.stl Next, run SpaceRanger: _______________ SpaceRanger version 9.0 _______________ Copyright (C) 2012 Itasca Consulting Group, Inc. In spaceranger.dat surface priorities increase with line number Reads & refines hexes & tets, translates into 3dec Using key 14388162-VQQUXV2E3G4HWR6SNV2E3GXHPRQS Enter a number, followed by <RETURN>: -1 Translate into a .WRL & .3DEC file. 0 Ignore existing groups. Build new ones based on surfaces. 1 Partition existing groups based on surfaces. (May produce many groups). 2 Everything inside surfaces becomes separate groups; outside is unchanged. 3 Everything outside surfaces becomes separate groups; inside is unchanged. 4 Everything intersecting surfaces becomes one group. 5 Split large zones inside surfaces:H->8H, T->4H 6 Split large zones intersecting surfaces:H->8H, T->4H SpaceRanger option 0: Ignore existing groups. Build new ones based on surfaces Enter 0, followed by 1 and the name of the flac3d grid file you want to process (which is test5.flac3d). SpaceRanger reads spaceranger.dat, processes all zones and produces 2 files: output.flac3d and output.wrl. Read output.fla3d into FLAC3D (Figure 5). Please note that all the existing groups are now combined as one and called OLD, and 3 new groups are created: New_1, New_2 and New_3. Figure 5: SpaceRanger Option 0 calls everything OLD, then partitions the model based on the 3 surfaces. To understand why the zone located at A (Figure 5) is named New_2 note that location A is below (or inside) the surface named on line 1 of spaceranger.dat (i.e. Y0.stl), below the surface named on line 2 (Y1.stl) but outside or above the surface named on line 3. Since interiority to surfaces named on higher
  • 23. KUBRIX Geo/Rhino Users’ Manual Page 23 line numbers override those on lower ones, (as explained earlier) the zone at location A will be declared as being inside the surface named on line 2, thus the group name New_2. The zone located at B is declared as belonging to group OLD because it is not inside or below any of the surfaces ( note that B is located outside the vertical shadow of all the surfaces). SpaceRanger option 1: Partition existing groups based on surfaces. (May produce many groups). Run SpaceRanger and enter 1, followed by 1 and test5.flac3d. Read output.fla3d into FLAC3D (Figure 6). Figure 6: SpaceRanger Option 1. Zones outside or above the surfaces maintain their old group number. Zones that are inside or below any of the surfaces are partitioned into new groups along all the surfaces. SpaceRanger option 2: inside surfaces becomes separate groups; outside is unchanged Run SpaceRanger and enter 2, followed by 1 and test5.flac3d. Read output.fla3d into FLAC3D (Figure 7). Figure 7: SpaceRanger Option 2 Everything inside or below the surfaces are partitioned according to the priority rule described earlier. Everything outside or above maintains its original group number. SpaceRanger option 3: Everything outside surfaces becomes separate groups; inside is unchanged Run SpaceRanger and enter 3, followed by 1 and test5.flac3d. Read output.fla3d into FLAC3D (Figure 8).
  • 24. KUBRIX Geo/Rhino Users’ Manual Page 24 Figure 8: SpaceRanger Option 3 Note that zones at location A are considered outside (group New_1) since location A is outside the vertical shadow of the surfaces. SpaceRanger option 4: Everything intersecting surfaces becomes one group Run SpaceRanger and enter 4, followed by 1 and test5.flac3d, followed 80 for the buffer size which represents the thickness of a buffer volume extending at either side of the surfaces, and in which zones will be counted as intersecting the surfaces . Read output.fla3d into FLAC3D (Figure 9). Figure 9: SpaceRanger Option 4 Please note that if a zone intersects multiple surfaces, it will be tagged as intersecting the surface appearing at the highest line number in the spaceranger.dat. For instance, if a zone is found to intersect the surfaces on line 1, line 37, and line 6 of the spaceranger.dat, it will belong to group New_37. SpaceRanger option 5: Split large zones inside surfaces:H->8H, T->4H Run SpaceRanger and enter 5, followed by 1 and test5.flac3d, followed 0 for the size of the smallest zone you want to split. This means that you want every zone that is inside of below the surfaces to be split. By selecting a larger size of the smallest zone, you can control below which zone size zones will not be split. If there are multiple surfaces in spaceranger.dat, inside or below the surfaces means inside or below any of the surfaces . Read output.fla3d into FLAC3D (Figure 10).
  • 25. KUBRIX Geo/Rhino Users’ Manual Page 25 Figure 10: SpaceRanger Option 5 SpaceRanger option 6: Split large zones intersecting surfaces:H->8H, T->4H Run SpaceRanger and enter 6, followed by 1 and test5.flac3d, followed by 40 for the buffer size and followed 0 for the size of the smallest zone you want to split (Figure 11). Figure 11: SpaceRanger Option 6 SpaceRanging 3DEC zone material ID’s 1. In the FISH file WriteZoneCentersAndMaterialIds.dat, replace the name ModelYouWantToModify.sav with the name of the save file representing the model you want to modify. 2. Start 3DEC and run WriteZoneCentersAndMaterialIds.dat The FISH function WriteZoneCentersAndMaterialIds writes out the x, y, z coordinates of each zone center and its current property ID into a file called ZoneCentersAndProperties.dat . 3. Run SpaceRanger.exe (after launch, enter 1, then 0, then ZoneCentersAndProperties.dat) The program SpaceRanger.exe reads the ZoneCentersAndProperties.dat file and produces a file called CalculatedCentersAndProperties.dat in which block property ID’s have been updated based on the ray shooting logic described earlier. The file CalculatedCentersAndProperties.dat can readily be read into
  • 26. KUBRIX Geo/Rhino Users’ Manual Page 26 an existing model using the FISH function ReadZoneCentersAndMaterialIds. This will give the model its new zone prop ID’s. 4. In the FISH file ReadZoneCentersAndMaterialIds.dat, replace the name ModelYouWantToModify.sav with the name of the save file representing the model you want to modify. 5. Start 3DEC and run ReadZoneCentersAndMaterialIds.dat SpaceRanging 3DEC block material ID’s 1. In the FISH file WriteBlockCentersAndMaterialIds.dat, replace the name ModelYouWantToModify.sav with the name of the save file representing the model you want to modify. 2. Start 3DEC and run WriteBlockCentersAndMaterialIds.dat The FISH function WriteBlockCentersAndMaterialIds writes out the x, y, z coordinates of each block center and its current property ID into a file called BlockCentersAndProperties.dat . 3. Run SpaceRanger.exe (after launch, enter 1, then 0, then BlockCentersAndProperties.dat) The program SpaceRanger.exe reads the BlockCentersAndProperties.dat file and produces a file called CalculatedCentersAndProperties.dat in which block property ID’s have been updated based on the ray shooting logic described earlier. The file CalculatedCentersAndProperties.dat can readily be read into an existing model using the FISH function ReadBlockCentersAndMaterialIds. This will give the model its new block prop ID’s. 4. In the FISH file ReadBlockCentersAndMaterialIds.dat, replace the name ModelYouWantToModify.sav with the name of the save file representing the model you want to modify. 5. Start 3DEC and run ReadBlockCentersAndMaterialIds.dat If you check your model, you will see that the block property ID’s have now been updated. To use SpaceRanger in C++ , you need to name the various surfaces, input0.stl, input1.stl, input2.stl,…
  • 27. KUBRIX Geo/Rhino Users’ Manual Page 27 Other examples: Figure 12: Examples of SpaceRanger use: left, pit excavation sequence in 3DEC. Right: geology in FLAC3D SpaceRanger version 9 options: 8 SpaceRanger options are available to you: -1 Translate into a .WRL & .3DEC file. 0 Ignore existing groups. Build new ones based on surfaces. 1 Partition existing groups based on surfaces. (May produce many groups). 2 Everything inside surfaces becomes separate groups; outside is unchanged. 3 Everything outside surfaces becomes separate groups; inside is unchanged. 4 Everything intersecting surfaces becomes one group. 5 Split large zones inside surfaces:H->8H, T->4H 6 Split large zones intersecting surfaces:H->8H, T->4H
  • 28. KUBRIX Geo/Rhino Users’ Manual Page 28 TUTORIAL 1- Internal walls and multiple materials In this tutorial, you will become familiar with the use of internal walls to create multiple FLAC3D groups or 3DEC regions. Creating a single-material model 1. Start Rhino and when the Template dialog box opens, select Small Objects-Meters. 2. Click on the label of the window marked Perspective. Select the Solid|Cylinder menu item. Enter 0 followed by <RETURN> to center of the base of the cylinder at the origin. , Enter 2 followed by <RETURN> to set the Radius of the base to 2. Enter 10 followed by <RETURN> to set the Height of the cylinder to 10 and complete the construction of a vertical cylinder (Figure 8). Figure 13: Solid representing a cylinder You have created a cylindrical solid. A solid is essentially a closed surface. It has a clear interior and exterior. You are now going to create a triangular mesh representing the surface of the cylinder. Creating a triangular surface mesh is a necessary step on the way to creating a volume mesh of the cylinder. 3. Select the File|Save As menu item and save your model as cyl.3dm. 4. Select the cylinder and select the menu item Mesh|From NURBS objects. The Polygon mesh detailed options dialog box opens. If you see a button in the lower-right corner of the box marked Simple control, click it to see a simplified version of this dialog box.
  • 29. KUBRIX Geo/Rhino Users’ Manual Page 29 5. In the simplified dialog box, slide the horizontal cursor all the way to the right towards More Polygons and click on Preview to see a preview of the resulting surface mesh. Click on OK to create a surface mesh (Figure 9). Figure 14: Original highlighted cylindrical surface and the newly-created surface mesh superimposed on it. 6. While the original cylindrical surface is still highlighted (seen in light yellow in Figure 9), select it and hit <DELETE> to keep only the surface mesh. 7. Select the mesh, select the menu item File|Export Selected and when the Export dialog box opens, enter cyl for the File name and select stereolythography (*.stl) for the Save as type. 8. When the STL Export Options dialog box opens, make sure that ASCII File type and Export open objects are both checked. Click OK to complete the Save operation. A triangular surface mesh saved as a formatted STL file serves as input to the Kubrix automatic mesh generator. Kubrix can be run from Rhino by clicking on the Kubrix icon (Figure 10). Figure 15: The Kubrix icon in Rhino
  • 30. KUBRIX Geo/Rhino Users’ Manual Page 30 9. Run the Kubrix program by clicking on the Kubrix icon and select the Hexahedral meshing tab. Click on Default to set all parameters to their default values then click on the Input File button and select cyl.stl. Kubrix will use the file cyl.stl as input to generate a hexahedral mesh of the interior. 10. Set the Max allowable element edge length to 0.5 and click on Compute. 11. Kubrix generates two files: kubrix_out.flac3d and kubrix_out.wrl. You can inspect the resulting model by launching a new instance of Rhino and importing kubrix_out.wrl to visualize it. 12. You can also run FLAC3D and use File|Grid|Import to read kubrix_out.flac3d and display it (Figure 11). Figure 16: Mesh of cylinder read into FLAC3D END OF TUTORIAL 1
  • 31. KUBRIX Geo/Rhino Users’ Manual Page 31 TUTORIAL 2 – Vertical shaft in a stratified soil In this tutorial, you will create a vertical shaft (140 ft deep, 20 ft diameter) inside a cubic block of soil (200 ft × 200 ft × 200 ft) composed of two materials. The surface separating the two types of soil is located at a height of 50 ft (Figure 12). Figure 17: A FLAC3D model (left) and a 3DEC model (right) of a vertical shaft in a stratified soil Startup and excavation of the shaft 1. Start Rhino and select Solid|Box|Diagonal to define a Box by 2 points. Enter -100,-100,-100 for the coordinates of the first point, followed by <RETURN>. Enter 100,100,100 for the coordinates of the second point followed by <RETURN>. 2. Right-click on the Zoom Extents button to make the box fit to each window. This completes the creation of a Box (Figure 13). Figure 18: Four-view of a box 3. Double-click the Perspective viewport title to maximize the Perspective viewport (Figure 14).
  • 32. KUBRIX Geo/Rhino Users’ Manual Page 32 Figure 19: Wireframe view of the box 4. Double-click the Perspective viewport title to return to a 4-view window and click on the title of the Top viewport to activate it. 5. Select Solid|Cylinder. Enter 0,0 followed by <ENTER> to specify the coordinates of the center of the cylinder base (in the x, y coordinate system). Enter 20 followed by <ENTER> for the radius. Enter 200 followed by <ENTER> to specify the center of the top of the cylinder. Please note that Rhino accepts both 0,0,200 and 200 as the 3rd parameter of the Cylinder Command. Since we are in a Top view, Rhino rightly assumes that 200 means 0,0,200. 6. Left-click on the button marked Shaded Viewport to see the box and cylinder (Figure 15). Figure 20: Box and cylinder 7. To move the cylinder down by 40 feet, select the cylinder and select the menu item Transform|Move. Enter 0,0,0 followed by <ENTER>. Enter 0,0,-40 followed by <ENTER> (Figure 16).
  • 33. KUBRIX Geo/Rhino Users’ Manual Page 33 Figure 21: The lowered cylinder is highlighted 8. To excavate the well, we must subtract (in the Boolean algebra sense) the cylinder from the box. To do so, select the menu item Solid|Difference. First select the box followed by <ENTER>, then select the cylinder followed by <ENTER> (Figure 17). Figure 22: The Boolean subtraction of the cylinder from the box represents the excavation Creating a triangular surface mesh of the model Mesh generation for FLAC3D and block generation for 3DEC requires a closed triangular surface representing the surface of the object in which we want to create the model 1. Prior to creating a surface mesh based on a solid model, you should save the Rhino model. Select File|Save As and when the Save dialog box opens, enter t1_0 for the File name and make sure that the Save as type is set to Rhino 4 3D Models (*.3dm). A file called t1_0.3dm is created in your current folder.
  • 34. KUBRIX Geo/Rhino Users’ Manual Page 34 2. Select the model and select the Mesh|From NURBS objects menu item. The Polygon mesh detailed options dialog box opens. If you see a button in the lower-right corner of the box marked Simple control, click it to see a simplified version of this dialog box. 3. In the simplified dialog box, slide the horizontal cursor to the middle and click on Preview to see what the resulting surface mesh will look like (Figure 18). Figure 23: Preview of the surface mesh 4. Click OK to accept the surface mesh. Note that the original solid is still highlighted (in yellow) while the mesh is drawn in black. 5. Hit <DELETE> to delete the (highlighted) solid. What is left is the surface mesh. 6. Select the mesh and left-click on the icon marked Check mesh objects for error located in the Geometry Fix toolbar. Rhino responds with the CheckMesh message box providing global information about the mesh indicating that, among other qualities, the mesh contains no naked edges. Naked or Free edges are edges attached to only one polygon. Their presence indicates that the mesh is not closed. 7. The mesh contains both triangular and quadrilateral polyhedra. As mentioned earlier, we need an all-triangular surface mesh to proceed. To triangulate the mesh, select the mesh and left-click on the icon marked Triangulate Mesh. 8. Select the model and select the File|Export selected menu item and when the Export dialog box opens, enter t1_0 for the File name and select stereolythography (*.stl) for the Save as type. 9. When the STL Export Options dialog box opens, make sure that Ascii File type and Export open objects are both checked. Click OK to complete the Save. Creating an all-hexahedral mesh for FLAC3D using Kubrix 1. Run the Kubrix program by clicking on the Kubrix icon. Select the Hexahedral meshing tab (Figure 19). Click on the Input file button and select t1_0.stl.
  • 35. KUBRIX Geo/Rhino Users’ Manual Page 35 Figure 24: Kubrix hexahedral meshing default values 2. Click on the Default button to resort to the default values of all parameters. Please note that the output file type is .flac3d which is an ASCII format that can be directly read into FLAC3D. Click Compute to launch the computation. The screen output is shown blow. ............................................................................ Welcome to KUBRIX version 10.4.2 Copyright (C) 1995-2008 Simulation Works, Inc. All rights reserved. ............................................................................ PLI001: The input surface file name is: C:UsersSinaItascatutorialsManualsTutorial1t1_0.stl ... PLI007: REQUEST: STL input surface (-it stl) ... PLI002: The output mesh file name is: C:UsersSinaItascatutorialsManualsTutorial1t1_0.flac3d ... PLI065: REQUEST: output type is FLAC3D (-ot flac3d) ... PLI003: The minimum mesh block resolution is 1 ... PLI033: REQUEST: 1000 surface smoothing iterations (-m) ... PLI031: The max. allowed element edge length is infinity ... PLI056: The blocking efficiency is 0.50 (-e) ... PLI042: A block-structured mesh is built (-str 2) ... PLI044: Correct all negative Jacobian elements ... ISI002: Finished reading 400 triangles and 202 nodes. MGI066: Feature refinement: final triangles count 1372 ... MGI068: Fuzzy-logic block decomposition ... MGI037: Done. 1/1 iters beta 0.000100, sp 11, st 7.09e+000 ... MGI001: Block decomposition completed (17) ... MGI013: Volume decomposed into 17 blocks and 1 material... MGI018: Final check ........ all Jacobians are positive. MGI082: Block reduction complete (9)... MGI012: Output mesh contains 9 hex elements ... MGI012: Output mesh contains 24 vertices ... MGI012: Output mesh contains 1 material ... MGI054: Max. edge offset ... 5.92e+000 u between nodes 7, 14
  • 36. KUBRIX Geo/Rhino Users’ Manual Page 36 MGI057: Max. non-dim offset 0.2101 between nodes 7, 14 MGI018: Final check ........ all Jacobians are positive. MGI021: Max. edge length ... 2.00e+002 u between nodes 1, 10 MGI052: Min. edge length ... 2.81e+001 u between nodes 7, 8 MGI020: Max. aspect ratio .. 7.11e+000 at element 1 ............................................................................ MGI031: Writing a VRML file ... MGI067: Writing a FLAC3D file ... ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ MGI999: Successful termination of KUBRIX in 0.5 seconds! ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3. KUBRIX generates a file called kubrix_out.flac3d. Run FLAC3D and use File|Import grid to read kubrix_out.flac3d. 4. Select Plot|1 Base/0|Show to open the FLAC3D graphic window. Click somewhere in the background of this window to activate it, and select Plotitem|Add|Plot|Group to open the Block group dialog box. Click OK to display the grid in FLAC3D. 5. Hit <z> 3 times followed by <x>, 3 times to rotate the object the object 3 times around the z and x axes. Hit <SHIFT><M> twice to zoom out and properly see the grid in FLAC3D (Figure 20). Figure 25: View of the grid in FLAC3D containing 9 zones and 24 vertices By default, KUBRIX produces a coarse mesh. In the KUBRIX screen output, the maximum edge length in the mesh is reported as 200. To create a finer mesh, you need to specify a smaller maximum edge length. 6. Go back to the Kubrix application. In the Mesh parameters section of the dialog box, check the square marked Max. allowable element edge length, and enter 10 in the corresponding field. In the same section, choose a Resolution of 3 to make sure that all details are captured with at least 3 elements across. Click Compute to launch the hexahedral mesh generation. 7. In FLAC3D, click on the Command Window to activate it. Select File|New to remove the existing model, followed by File|Import Grid. Read t1_0.flac3d into FLAC3D and display it (Figure 21).
  • 37. KUBRIX Geo/Rhino Users’ Manual Page 37 Figure 26: A finer FLAC3D grid containing 9,888 zones and 11,450 vertices 8. To create a fully structured grid ( a structured grid is one where all elements can be addressed by three integers: I, J and K), go back to the Kubrix application, and in the Mesh parameters section, select 3 for the Structure of the mesh, and click Compute. In FLAC3D, delete the old model and read and display the newly-created t1_0.flac3d (Figure 22). Figure 27: A structured FLAC3D grid containing 13,284 zones and 15,250 vertices Creating a model of both the inside and outside of the excavated shaft 1. In your current folder, double-click the file t1_0.3dm you saved earlier. This file contains the solid model prior to surface meshing. Double-click the title of the Perspective view port to maximize it. 2. Select the menu item Surface|Planar Curves and click on the circle representing the rim of the shaft opening (Figure 23). Hit <ENTER> to complete the command and create a planar surface the cap of the shaft.
  • 38. KUBRIX Geo/Rhino Users’ Manual Page 38 Figure 28: Highlighted curve representing the shaft rim (top) and the capped shaft (bottom) So far you have been dealing with solids. Solids are closed surfaces that have an unambiguously defined interior and exterior. The surfaces defining such solids are called manifold surfaces. In contrast, consider a solid cut in half. Consider the surface made up of the surface of the solid and the surface of wall separating the two walls. This surface is closed but doesn’t have a clear interior. To be exact, it has two interiors. Such surfaces are called non-manifold surfaces. So far our model was a perfect solid. Its surface was a manifold surface. The addition of the cap to the shaft creates two separate “interior” regions: inside the well, and outside the well but inside the box. The set of surfaces representing this object constitute non-manifold surfaces. Joining surfaces into a non-manifold surface in Rhino requires a special command. This command joins several manifold or non-manifold surfaces into one non-manifold surface. You can join multiple surfaces into a single non- manifold surface with the MergeBreps icon 1. Select all the surfaces you want to join and click on the MergeBreps icon. The resulting polysurface is a non manifold polysurface. This can be verified by highlighting the model and pressing <F3> to display the Properties of the selected surface and clicking on Details. 2. Prior to creating a surface mesh based on a solid model, you should save the Rhino model. Select File|Save As and when the Save dialog box opens, enter t1_1 for the File name and make sure that the Save as type is set to Rhino 4 3D Models (*.3dm). A file called t1_1.3dm is created in your current working folder. 3. Select the model and select the Mesh|From NURBS Objects menu item. If the Polygon Mesh Detailed Option dialog box opens, click on the Simple controls button to bring up the simpler Polygon Mesh Options dialog box. 4. Move the slider to the middle of the scale and click OK to create the surface mesh (Figure 24).
  • 39. KUBRIX Geo/Rhino Users’ Manual Page 39 Figure 29: Mesh of the capped model showing the highlighted solid model 5. While the solid model is still selected hit the <DELETE> button to just keep the mesh. 6. Check the mesh by left-clicking on the icon marked Check mesh objects for error located in the Geometry Fix toolbar. Rhino responds with the following message box: This is a bad mesh. Here is what is wrong with this mesh: Mesh has 29 non manifold edges. Skipping face direction check because of positive non manifold edge count. General information about this mesh: Mesh does not have any degenerate faces. Mesh does not have any zero length edges. Mesh does not have any naked edges. Mesh does not have any duplicate faces. Mesh does not have any disjoint pieces. Mesh does not have any unused vertices. Rhino qualifies this mesh as bad because it contains non-manifold triangles (edges shared by 3 or more triangles), but this was intended because the solid model itself was non-manifold so as to allow the representation of both the inside and outside volumes. 7. The mesh contains both triangular and quadrilateral polyhedra. As mentioned earlier, we need an all-triangular surface mesh to proceed. To triangulate the mesh, select the mesh and left-click on the icon marked Triangulate Mesh. 8. Select the model, select the File|Export selected menu item, and when the Export dialog box opens, enter t1_1 for the File name and select stereolythography (*.stl) for the Save as type. 9. When the STL Export Options dialog box opens, make sure that Ascii File type and Export open objects are both checked. Click OK to complete the Save operation 10. Run the Kubrix program by clicking on the Kubrix icon. Select the Hexahedral meshing tab and make sure that the input file is t1_1.stl.
  • 40. KUBRIX Geo/Rhino Users’ Manual Page 40 11. If you have not changed any meshing parameters they should have remained unchanged, but if you have changed them, click on Default. In the Mesh parameters section of the dialog box, check the square marked Max. allowable element edge length, and enter 10 in the corresponding field. In the same section, choose a Resolution of 3 to make sure that all details are captured with at least 3 elements across. Click Compute to launch the hexahedral grid generation. 12. The resulting grid is composed of two groups. All the zones located outside the shaft belong to Group 1. The rest belongs to Group2. 13. Run FLAC3D and visualize the mesh (Figure 25). Figure 30: FLAC3D grid of the capped model containing 10,368 zones and 11,825 vertices. In this Figure, a first plot item representing the geometry is overlayed by a block group plot item representating the interior of he shaft. Creating an all-hexahedral mesh of the capped model, with stratified soil 1. In your current folder, double-click the file t1_1.3dm you saved earlier. This file contains the Rhino solid model prior to surface meshing. If the Perspective viewport is maximized, double- click the title of the Perspective view port to return to a 4-Viewport view. 2. You are now going to represent the stratification by a cut at height z=50. To do so, double-click the Front viewport title to maximize the Front view, and select the Curve|Line|Line segment menu item. 3. Enter -150,50 followed by <ENTER> to set the first point, then 150,50 followed by <ENTER> to set the second one (Figure 26).
  • 41. KUBRIX Geo/Rhino Users’ Manual Page 41 Figure 31: View of the model with horizontal line segment at z=50. 4. Select the menu item Edit|Split. Click on the box and hit <ENTER>. Click on the horizontal line and hit <ENTER>. Delete the horizontal line and note that the model is now split into 2 parts. Please note that the Split operation splits the surface of the solid into 2 surfaces (that are not closed). To split a solid into two solid you must use Wire cut. This function will be discussed in a later section. 5. Select the top part and left-click on the icon marked Hide Objects. Double-click the title of the viewport to return to a 4-viewport view and double-click the Perspective view port to maximize it (Figure 27). Figure 32: Perspective view of the lower part of the split model 6. Select the Curve|Curve From Object|Duplicate Border menu item. Click on the box then on the cylindrical part of the model followed by <ENTER>. This operation extracted a square and a circular curve from the model. Hide the box and the cylinder to only see the two extracted curves shown in Figure 28.
  • 42. KUBRIX Geo/Rhino Users’ Manual Page 42 Figure 33: The highlighted square and circular curves represent the Naked Edges of the selected Polysurfaces. You are now going to create 2 horizontal walls based on these curves: one inside the cylinder and the other outside. These walls will act as a partition between the top and bottom of the model. 7. Select the Surface|Planar Curves menu item and click on the square curve to fill its interior with a square surface. Double-click the Title of the Perspective Viewport to return to 4-viewport. Double-click the title of the Top view port to maximize it (Figure 29). Figure 34: Top view of the square surface patch 8. Select the menu item Edit|Split and click on the surface of square, then hit <ENTER>. Click on the curve representing the circle and press <ENTER> to split the square into two parts. Figure 30 shows the two surfaces with the outer surface highlighted.
  • 43. KUBRIX Geo/Rhino Users’ Manual Page 43 Figure 35: The two surfaces resulting from the split with the outer surface highlighted 9. While in the Top view, select the circular and square curves and delete them. 10. Right-click on the button marked Show Objects to unhide all the surfaces, select a Perspective view of the model and resize it by left-clicking the Zoom Extents button. 11. Select the Edit|Select Objects|All Object menu item and note that Rhino responds with the message “3 polysurfaces, 2 surfaces added to selection.” on the command-line. You must now join all the surfaces and polysurfaces into one non-manifold surface. 12. Select all the surfaces and click on the MergeBreps icon to create one single non-manifold polysurface. 13. Prior to creating a surface mesh based on the solid model, you should save the Rhino model. Select File|Save As and when the Save dialog box opens, enter t1_2 for the File name and make sure that the Save as type is set to Rhino 4 3D Models (*.3dm). Note that a file named t1_2.3dm is created in your current folder. 14. Select the model and select the menu item Mesh|From NURBS Objects. If the Polygon Mesh Detailed Option dialog box comes up, click on the Detailed Controls button to bring up the simpler Polygon Mesh Options dialog box. 15. Move the slider to the middle of the scale and click OK to create the surface mesh. Delete the solid model which has remained highlighted (Figure 31).
  • 44. KUBRIX Geo/Rhino Users’ Manual Page 44 Figure 36: Surface mesh of capped shaft in stratified soil 16. The mesh contains both triangular and quadrilateral polyhedra. As mentioned earlier, we need an all-triangular surface mesh to proceed. To triangulate the mesh, select the mesh and left-click on the icon marked Triangulate Mesh. 17. Select the model, select the File|Export Selected menu item and when the Export dialog box opens, enter t1_2 for the File name and select stereolythography (*.stl) for the Save as type. 18. When the STL Export Options dialog box opens, make sure that Ascii File type and Export open objects are both checked. Click OK to complete the Save operation 19. Run the Kubrix program by clicking on the Kubrix icon. Select the Hexahedral meshing tab. Make sure that the input file is t1_2.stl 20. If you have not changed any meshing parameter they should have remained unchanged, but if you have changed the parameters, click on Default. In the Mesh parameters section of the dialog box, check the square marked Max. allowable element edge length, and enter 10 in the corresponding field. In the same section, choose a Resolution of 3 to make sure that all details are captured with at least 3 elements across. Click Compute to launch the hexahedral grid generation. The resulting grid is composed of 4 groups. Group2 and Group4 represent the shaft interior; Group1 and Group3 represent the exterior of the shaft (Figure 32).
  • 45. KUBRIX Geo/Rhino Users’ Manual Page 45 Figure 37: FLAC3D model of the capped shaft in a stratified soil with Group3 masked Creating 3DEC blocking of the capped model, with stratified soil 1. Run the Kubrix program by clicking on the Kubrix icon. Select the Convex Blocking tab. Make sure that the input file is t1_2.stl. 2. Click on Default, enter 1 for the Relative Offset and click on Compute. The resulting file is t1_2.3dec. 3. Run 3DEC 4.0, call t1_2.3dec as a data file and in the Plot Item Menu select color by Region (Figure 33). Figure 38: 3DEC model of the capped shaft in stratified soil (relative offset 1.) The resulting 3DEC model is made up of a number of 1,166 tetrahedral blocks. The large number of bloc for such a relatively simple geometry is due to 2 factors: • We are creating tetrahedral blocks. Manually, we would have created hexahedral blocks and as a result there would have been about 6 times fewer blocks.
  • 46. KUBRIX Geo/Rhino Users’ Manual Page 46 • The shaft is discretized too finely. Indeed, a relative offset of 1 means that the absolute offset is 1/1000 times the longest dimension of the bounding box containing the model, which is 200 feet. As a result, the absolute offset is 0.2 feet for a shaft diameter of 40 feet. To obtain a coarser model do as follows: 1. Run the Kubrix program by clicking on the Kubrix icon. Select the Convex Blocking tab. Make sure that the input file is t1_2.stl. 2. Click on Default , and enter 100 for the Relative Offset and click on Compute. The resulting file is t1_2.3dec. 3. Run 3DEC 4.0 call t1_2.3dec and in the Plot Item Menu select color by Region (Figure 34). Figure 39: 3DEC model of the capped shaft in stratified soil (relative offset 100.) Creating Octree mesh of the capped model, with stratified soil Octree meshes are based on an increasingly finer subdivision of space into hexahedral blocks (Figure 35 & Figure 36). One of the main attractions of this approach is that the input surface need not be closed. In fact, octree meshes can be obtained from surface data containing many gaps and overlaps. This approach is to be compared with other forms of meshing requiring a perfectly watertight input surface in which all surface intersections are accounted for.
  • 47. KUBRIX Geo/Rhino Users’ Manual Page 47 Figure 40: Octree blocking: left, mesh featuring 5 levels of refinement, right, a balanced octree where adjacent zones are at most one generation apart. Figure 41: Octree meshing: left: boundaries are detected in dark blue, right; there are no boundary (joint) regions. 4. Run Kubrix by clicking on the Kubrix icon. Select the Octree Meshing tab (Figure 37). Figure 42: Octree meshing dialog box 5. You can use this approach for both 3DEC and FLAC3D model generation. Click on Default, select FLAC3D for the Output type, select 7 for the Octree level, and click on Compute to create the mesh.
  • 48. KUBRIX Geo/Rhino Users’ Manual Page 48 6. Run FLAC3D, import t1_2.flac3d and display it (Figure 38). Figure 43: Octree model where a portion of the zones have been masked for the sake of clarity END OF TUTORIAL 2
  • 49. KUBRIX Geo/Rhino Users’ Manual Page 49 TUTORIAL 3 — 20° bifurcating circular tunnels In this tutorial, you will learn to create a circular tunnel bifurcating into two circular tunnels making an angle of 20 degrees between them and located inside. A FLAC3D hexahedral, tetrahedral and octree mesh as well as a 3DEC blocking will be built(Figure 39). Figure 44: A FLAC3D hex, tetra and octree grid, and a 3DEC block model of the bifurcating tunnels Startup and creation of a horizontal tunnel of diameter 10 and length 200 1. Start Rhino, select the Large Objects - Meters template, and double-click on the label of the Right view to maximize it. Click on the word Snap (Grid Snap in Rhino 5) at the bottom of the screen to activate background grid snap. 2. Select the Curve|Circle|Center, Radius menu item and click on the coordinate system origin in the Right view. This sets the center of the circle. Type 10 on the command window to specify its radius 3. Double-click the label of the Right view to once again bring up the four views. Select the Surface|Extrude Curve|Straight menu item and select the circle in the Perspective view, followed by <ENTER>. The curve extrusion parameters appear in the command window. 4. If you need to modify any option, simply click on the option in the command window. Direction should be, by default, already be set to 1,0,0 since the circle was built in the Right viewport’s Construction Plane. Set the remaining options as follows: BothSides=Yes, Cap=Yes (Solid=Yes in RHino 5), DeleteInput=Yes. 5. Enter 100 on the command line followed by <RETURN> to complete the construction of a closed 200 m long horizontal cylinder. Right-click on Zoom Extents All Viewports4 Figure 40 to get a full view of the model so far ( ). 4 The commands associated with left or right-clicking on each icon can be seen by moving your mouse over the icon and leaving it there for a second.
  • 50. KUBRIX Geo/Rhino Users’ Manual Page 50 Figure 45: First horizontal cylinder Creating the bifurcation and the box surrounding it 1. Select the cylinder in any view, select Edit|Copy followed by Edit|Paste to duplicate it in place. While the copy is still selected, left-click on Hide Objects to hide it. 2. In the Right viewport, select the remaining visible cylinder and select Transform|Scale 2D, and, click on the origin of the coordinate system. Type 0.7 followed by <RETURN> to scale the cylinder down to a diameter of 7. 3. While the cylinder is still selected, select Transform|Rotate. In the Top view, click on the origin of the coordinate system. Enter 20 followed by <RETURN> to complete the rotation of the smaller cylinder by 20° around the z-axis. Right-click on the button marked Show Objects to render both cylinders visible (Figure 41). Figure 46: Two intersecting tunnels You must now split the smaller cylinder with the larger one and delete a portion of the smaller cylinder to create the bifurcation.
  • 51. KUBRIX Geo/Rhino Users’ Manual Page 51 4. Hit the <ESC> button to unselect everything. Select the Solid|Boolean Split menu item. For the Polysurface to split, select the smaller cylinder, then type <ENTER>. Select the larger cylinder for the Cutting polysurface, followed by <ENTER>. This operation splits the smaller cylinder into 3 sections. Figure 47: In the Top view, the highlighted section of the smaller cylinder must be deleted to create the branching 5. In the Top view, select the lower-left and the middle sections of the smaller cylinder (Figure 42) and delete them. This leaves only one section (upper right) of the smaller cylinder. 6. Select the two remaining polysurfaces, and select Solid|Union to complete the creation of one single closed solid representing the bifurcation. Click on the button marked Shaded Viewport to display a shaded view of the completed bifurcation (Figure 43). Figure 48: Bifurcation resulting from the union of the larger and the remaining section of the smaller cylinder To create a model of the soil surrounding the tunnels, you must create a cube representing the volume in which the tunnels are excavated, and subtract the tunnels from it.
  • 52. KUBRIX Geo/Rhino Users’ Manual Page 52 7. To create a parallelepiped, select the Solid|Box|Diagonal menu item. Enter -60,-60,-60 followed by <ENTER> to specify one end of the diagonal, and 60,60,60, followed by <ENTER> for the other end to create a cube of side 120 centered at the origin. 8. To subtract the tunnels from the cube, select the Solid|Difference menu item. For the First set of polysurfaces, select the box, then type <ENTER>. For the second set, select the bifurcation, then <ENTER> to complete the Boolean difference operation (Figure 44). Figure 49: Result of the Boolean difference Creating a Triangular Surface Mesh of the Model Mesh generation for FLAC3D and block generation for 3DEC require a closed triangular surface representing the surface of the object in which we want to create the model 1. Prior to creating a surface mesh based on the solid model, you should save the Rhino model. Select File|Save As and when the Save dialog box opens, enter t2_0 for the File name and make sure that the Save as type is set to Rhino 4 3D Models (*.3dm). As a result, a file called t2_0.3dm is created in your current folder. 2. Select the model and select the Mesh|From NURBS objects menu item. The Polygon Mesh Option dialog box opens. If you see a button in the lower-right corner of the window marked Detailed controls, click it to see the Polygon Mesh Detailed Option dialog box. 3. Set all parameters to 0 (inactive) except for the Maximum distance, edge to surface which should be set to 0.1 and Aspect ratio which should be 1. All check buttons should be unchecked except for Refine mesh (Figure 45). Click OK to create the surface mesh.
  • 53. KUBRIX Geo/Rhino Users’ Manual Page 53 Figure 50: The surface meshing dialog box 4. While the original solid model is still selected, hit the <DELETE> button to delete it so the mesh is the only remaining object in the model (Figure 46). Figure 51: Preview of the surface mesh 5. Select the mesh and left-click on the icon marked Check mesh objects for error (Check Objects in RHino 5) located in the Geometry Fix toolbar. The Check Mesh message box opens and provides global information about the mesh indicating that, among other qualities, the mesh contains no naked edges. Naked or Free edges are edges attached to only one polygon. The presence of naked edges indicates that the mesh is not closed. The present mesh is closed. It contains both triangular and quadrilateral polyhedra. As mentioned earlier, we need an all-triangular surface mesh to proceed. 6. Select the mesh, select the File|Export Selected menu item and when the Export dialog box opens, enter t2_0 for the File name and select stereolythography (*.stl) for the Save as type. 7. When the STL Export Options dialog box opens, make sure that Ascii File type and Export open objects are both checked. Click OK to complete the Save operation
  • 54. KUBRIX Geo/Rhino Users’ Manual Page 54 Creating a convex blocking for 3DEC 1. To run Kubrix, left-clicking on the Kubrix icon. Select the Convex Blocking tab. Click on Default and set the Relative offset to 10 (Figure 47). Click on the Input File button and select t2_0.stl as the input file. Figure 52: Convex blocking dialog box 2. Click on Compute to create the blocking. Kubrix generates two files: kubrix_out.3dec and kubrix_out.wrl. You can inspect the resulting model by launching a new instance of Rhino and importing kubrix_out.wrl to visualize it. 3. You can also run 3DEC 4.0 and use File|Call to read kubrix_out.3dec and display it (Figure 48). Figure 53: 3DEC model where each block is a different color Creating an all-hexahedral grid for FLAC3D Using KUBRIX 1. Start Rhino. Open t2_0.stl. Click on the Kubrix icon and select the Hexahedral meshing tab (Figure 49). Make sure that the input file is t2_0.stl.
  • 55. KUBRIX Geo/Rhino Users’ Manual Page 55 Figure 54: Kubrix hexahedral meshing default values 2. Click on the Default button to resort to the default values of all parameters. Please note that the output file type is .flac3d which is an ASCII format that can be directly read into FLAC3D. Click Compute to launch the computation. The screen output is shown below. ---------------------------------------------------------------------------- ............................................................................ Welcome to KUBRIX version 10.4.4 Copyright (C) 1995-2008 Simulation Works, Inc. All rights reserved. ............................................................................ PLI001: The input surface file name is: C:UsersSinaItascatutorialsRhinoFlac3d3decPfc3dTutorialsTutori l2t2_0.stl ... PLI007: REQUEST: STL input surface (-it stl) ... PLI002: The output mesh file name is: C:UsersSinaItascatutorialsRhinoFlac3d3decPfc3dTutorialsTutori l2t2_0.flac3d ... PLI065: REQUEST: output type is FLAC3D (-ot flac3d) ... PLI003: The minimum mesh block resolution is 1 ... PLI033: REQUEST: 1000 surface smoothing iterations (-m) ... PLI031: The max. allowed element edge length is infinity ... PLI056: The blocking efficiency is 0.50 (-e) ... PLI042: A block-structured mesh is built (-str 2) ... PLI044: Correct all negative Jacobian elements ... ISI002: Finished reading 6398 triangles and 3197 nodes. ISI014: Sharpest wedge 160 deg @ (4.786e+001,9.988e+000,-3.488e-001) MGI066: Feature refinement: final triangles count 6524 ... MGI068: Fuzzy-logic block decomposition ... MGI037: Done. 34/1 iters beta 0.000100, sp 15, st 2.16e+001 ... MGI001: Block decomposition completed (37) ... MGI013: Volume decomposed into 37 blocks and 1 material... MGI033: First check ........ 2 elems (5%) need Jacob. correction MGI018: Final check ........ all Jacobians are positive.
  • 56. KUBRIX Geo/Rhino Users’ Manual Page 56 MGI082: Block reduction complete (33)... MGI012: Output mesh contains 33 hex elements ... MGI012: Output mesh contains 84 vertices ... MGI012: Output mesh contains 1 material ... MGI054: Max. edge offset ... 7.16e+000 u between nodes 36, 47 MGI057: Max. non-dim offset 0.4995 between nodes 36, 47 MGI018: Final check ........ all Jacobians are positive. MGI021: Max. edge length ... 1.20e+002 u between nodes 1, 29 MGI052: Min. edge length ... 6.35e-001 u between nodes 35, 38 MGI020: Max. aspect ratio .. 1.32e+002 at element 11 ............................................................................ MGI031: Writing a VRML file ... MGI067: Writing a FLAC3D file ... ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ MGI999: Successful termination of KUBRIX in 2.6 seconds! ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3. KUBRIX generates two files: kubrix_out.flac3d and kubrix_out.wrl. You have two options for inspecting the resulting mesh. You can open a new instance of Rhino and use File|Import to import kubrix_out.wrl. 4. For a more in-depth inspection of the grid launch FLAC3D and use File|Import grid to read kubrix_out.flac3d. Select Plot|1 Base/0|Show to open the FLAC3D graphic window. Click somewhere in the background of this window to activate it, and select Plot item|Add|Plot|Group to open the Block group dialog box. Click OK to display the grid in FLAC3D (Figure 50). Figure 55: View of the grid in FLAC3D containing 33 zones and 84 vertices By default, KUBRIX produces a coarse mesh. In the KUBRIX screen output, the maximum edge length in the mesh is reported as 120. To create a finer mesh, you must specify a smaller maximum edge length. 5. Launch Kubrix, and in the Mesh parameters section of the dialog box, check the square marked Max. allowable element edge length, and enter 10 in the corresponding field. In the same section, choose a Resolution of 5 to make sure that all details are captured with at least 5 elements across. Set Structure of the mesh to 3 to create a fully-structured mesh, set the Nb. of
  • 57. KUBRIX Geo/Rhino Users’ Manual Page 57 surface smoothing iterations to 1000 and click Compute (Figure 51) to launch the hexahedral mesh generation. Figure 56: Kubrix hexahedral meshing parameter for the fine mesh 6. In the FLAC3D, click on the Command Window to activate it. Select File|New to remove the existing model, followed by File|Import Grid. Read t3.flac3d into FLAC3D and display it (Figure 52). Figure 57: Flac3D grid containing 20,125 zones and 23,034 vertices
  • 58. KUBRIX Geo/Rhino Users’ Manual Page 58 Creating a tetrahedral grid for FLAC3D Using KUBRIX 1. Start Rhino. Open t2_0.stl. Run the Kubrix program by clicking on the Kubrix icon. Select the Tetrahedral meshing tab (Figure 53). Figure 58: The tetrahedral meshing dialog box 2. Click on the button marked Default, then on Compute to create a tetrahedral grid (Figure 54). Figure 59: An all tetrahedral grid Creating octree grids for FLAC3D or blocks for 3DEC Octree meshes are based on an increasingly finer decomposition of space into hexahedral blocks (Figure 55 & Figure 56). One of the main attractions of this approach is that the input surface doesn't have to be closed. In fact, octree meshes can be obtained from surface data containing many gaps and overlaps. This approach is to be compared with other forms of meshing presented in this document where a perfectly watertight input surface is required in which all surface intersections are accounted for.
  • 59. KUBRIX Geo/Rhino Users’ Manual Page 59 Figure 60: Octree blocking: left, mesh featuring 5 levels of refinement, right, a balanced octree where a maximum of 1-to-2 refinement is enforced on adjacent cells Figure 61: Octree meshing: left: boundaries are detected in dark blue, right; various regions are identified and colorized 1. Start Rhino. Open t2_0.stl. Run the Kubrix program by clicking on the Kubrix icon. Select the Octree Meshing tab (Figure 37). 2. You can use octree meshing for both 3DEC and FLAC3D model generation. Click on Default, select 3DEC for the output type and click on Compute to create the blocking. Figure 62: Octree meshing dialog box
  • 60. KUBRIX Geo/Rhino Users’ Manual Page 60 3. Kubrix generates a file called t3.3dec. Run 3DEC 4.0 and use File|Call to read t3.3dec and display it (Figure 58). Figure 63: Coarse octree blocking where blocks intersecting the boundary have been masked 4. To obtain a finer FLAC3D grid, run Kubrix , select the Octree Meshing tab, click on Default, select 7 for the Octree level, select FLAC3D as the output type and click on Compute to create a file called t3.flac3d 5. Run FLAC3D, import t3.flac3d and display it (Figure 59). Figure 64: An octree FLAC3D mesh using an octree level of 7. Group 2 has been masked for clarity purposes Creating a FLAC3D or a 3DEC model for sequential excavation The Kubrix/Rhino logic may be used to create models featuring sequential excavation. Whereas in traditional model building for FLAC3D or 3DEC the range command based on geometrical criteria is used to excavate material, in the CAD-based mesh generation logic embodied by Kubrix/Rhino, the zones destined to be “nulled” must, in advance, belong to separate groups (or regions) so they can be identified. You can create groups of zones (FLAC3D) or regions of blocks (3DEC) by adding internal walls representing the location of the excavation fronts at various stages of the excavation. For all practical