What's New in UDEC 7.0

UDEC 7.0 is now available as a pre-release.  This new version provides major enhancements for modeling capabilities, updated graphics, and Itasca's transition towards more integrated software. When you purchase UDEC 7 you will receive a license thatpermits use of both the pre-release version of UDEC 7 and the current release version, UDEC 6. TRY THE DEMO

Now in Two Flavors

You now have access to the best of two worlds: the familiar UDEC GIIC (Graphical Interface for Itasca Codes) with interactive modeling tools and the new UDEC 7 GUI (Graphics User Interface), which incorporates the interface used by 3DEC, with advanced graphics and powerful pre- and post-processing tools. Although project files are unique to each of these platforms, UDEC 7 data and save files can be readily exchanged by each program.

The New Interface

The new UDEC 7 GUI (shown below) is used in all our three-dimensional programs (FLAC3D, 3DEC, PFC3D). All aspects of the program can be accessed via the main menu (1). The Project Pane lists all the data files (1) and saved files (2) associated with the project. Click on any one to view the data file or restore a previous saved state. Multiple plots can be created, cloned, saved, and viewed via view pane (4). The main tool bar (5) is contextual and will change depending on what pane is active (e.g., text editor pane, view pane, console pane, etc.). There is a new built-in text editor (6) with everything needed to create UDEC data files and FISH functions; multiple documents can be associated with a project and navigated by using the tabs (7). Commands may be entered directly via the command line (8), with output displayed in the console pane above. The Control Panel along the far right-hand side changes depending on the active pane. In the image below, plot items (10) are shown since a view pane is active. New plot items may be created, plot ranges can be applied to each one, and they may be copied, pasted, and reordered within a plot view. Each plot item possesses a series of attributes (11) that can be modified. With the mouse cursor over the view pane, model information (object ID - block, zone, structural element, cursor position, value of plot item (label or contour) is displayed (12). Multiple preset GUI layouts are available; custom layouts may be saved.

Features of the UDEC 7 GUI include:

  • floating panes – including a local control panel for floated panes;
  • expanded plotting of structural element results;
  • measurement tools for distance;
  • cursor pop-up details of plots (position, relevant value measures, object identifiers, etc.);
  • improved movie pre-processing using a dialog to automatically generate movie frames given a list of plots and a list of save files;
  • improved image exporting (PNG, DXF, VRML, PDF, PS, and SVG formats);
  • plots can also be exported as a data file that can be reused by calling into other projects or customized (via commands and FISH);
  • more colors to plot with;
  • built-in file browser shows all files in the project (and other) directories;
  • better control of the view camera, including pre-defined views, saving custom views, and locking views;
  • streamlined plot-item selection and control, including copy-and-paste and plot-item reordering; and
  • pre-defined image sizes have been added to the bitmap output options for movie frame generation.

Updated Command Syntax

All commands are reformulated in UDEC 7 (GUI and GIIC) to follow a syntactical pattern of NOUN - VERB - OPTION - MODIFIERS - RANGE. Commands are more explicit and more intuitive. They are easier to learn and apply, and are consistent in usage with other Itasca numerical modeling codes.

For example,

UDEC 6.0 Syntax: block 0,0 0,10 10,10 10,0

UDEC 7.0 Syntax: block create polygon 0,0 0,10 10,10 10,0 

As always, commands can be truncated, so the UDEC 7 command b cr p 0,0 0,10 10,10 10,0 also works. A comparison is shown below for a complete model using both UDEC 6 (top) and UDEC 7 (bottom) syntax.

In recognition that this major change will require relearning commands and rewriting older data files for compatibility with version 7, additional HELP support has been added and a built-in conversion tool is available. The tool automatically converts a specified UDEC 6 data file to the new UDEC 7 command syntax. In the event that something is unclear and cannot be automatically converted, it is highlighted for user review. However, the conversion success rate is high and most data files are converted with no flagging whatsoever. When an older data file is updated with the conversion tool, a backup copy of the original data file is automatically retained.

New with FISH

FISH is a powerful scripting language that can be used to manipulate model components, parameterize models, control model runs, create/calculate new model outputs, monitor results, and post-process model runs. Many new capabilities and tools have been added to UDEC to facilitate working with FISH.

Built-in Text Editor (GUI)

The Editor pane in UDEC provides the ability to edit text-based project resources (data files, FISH files). Though users may choose to work with other text editors for creation/modification of project items with no loss of capability, the UDEC editor provides advantages that are not available in outside editors, including:

  • automatic syntax color-coding;
  • debugging and syntax error detection (step-through, check function and variable values) with line number referencing
  • collapsible FISH blocks to simplify reading large, complex data files;
  • columnar selection;
  • undo/redo commands;
  • find/replace dialog;
  • automatically comment (or uncomment) all selected lines (i.e., adds a semicolon to the start of the line, causing it to be ignored upon data file execution);
  • execute only those lines that are currently selected; 
  • access to the “Execute/Stop” command, which provides an integrated environment for edit —> cycle sequences without having to switch between two programs; and
  • integration with the program documentation via key commands [F1] or [Ctrl+spacebar] to go directly to documentation of the command or FISH function on the current line.

Many aspects of the text editor may be customized to suit personal preferences (e.g., font style, font size, syntax colors, etc.) under the Options menu.

Updated FISH Scripting Syntax (GUI/GIIC)

As with the commands, FISH scripting has also been improved to make function syntax clearer, more consistent, intuitive, and, therefore, easier to use. The syntax uses a structured reference for objects to assign properties or invoke functions and is similar to modern languages such as C++ and Visual Basic. For example, below you can see an example of the same FISH function in UDEC 6 (left) and in UDEC 7 (right). The UDEC 7 version was created using the built-in conversion tool under the UDEC 7 Edit menu.

 

FISH Global Symbols Control Set (GUI)

The FISH Global Symbols control set displays and updates (including while cycling) the value/state of all global FISH variables and functions. Display is read-only. The tabular display (shown below) lists the symbol name, its current value, its type, and whether it is a function and its number of arguments (F(#)). A right-click on an item in the Name or Value column allows copying the cell data to the Windows clipboard.

Enhanced FISH (GUI/GIIC)

New Data Types

In addition to the previous data types (integer, floating-point, string, and pointers), FISH variables now include several new data types:

  1. Boolean: Either a value of true or false.
  2. Vector: 2D or 3D vector of floating-point types.
  3. Array: A collection of FISH variables with specified dimensionality.
  4. Matrix: Matrix of numeric values with specified dimensionality.
  5. Tensor: A symmetric tensor (e.g., stress and strain).
  6. Map: An associative array with string or number key and any FISH variable as value.
  7. Structure: A structure may contain multiple FISH variables.

New and expanded data type functions have also been added (e.g., built-in functions to inverse or multiply matrices).

FISH Zone Metrics Functions

Get one of the metrics of the zone shape (0 - 1, where 1 is ideal) for quality check (ratio of the inscribed radius to the circumscribed radius, minimum ratio of the distance of vertex to the opposing edge divided by the length of the opposing edge length, and ratio of the shortest edge length divided by the longest edge length).

FISH Email Functions

Compose and send email messages using data files and FISH functions (e.g., send notification emails upon completion of notable tasks, include file attachments such as exported bitmaps to see your results). Email account settings provided with this command may also be specified in the “Email” section of the “Tools/Options” dialog.

 

Other Enhancements ...

  • FISH variables can now be specified as either local (to a particular FISH function) or global (UDEC 6 convention).
  • More efficient looping using the loop foreach function to allow iterating through all objects inside a given container (e.g., zones, blocks, DFNs, user-defined list of scalar data, etc.).
  • Inline FISH permits snippets of FISH scripting to be inserted within commands in lieu of FISH variables.
  • FISH functions to create boundary conditions.
  • FISH functions for boundary reaction forces.
  • Working with ground support (structural elements) in UDEC is now easier with defined headers to travel the data structure rather than memory offsets.

New Model Construction Tools

Easy Model Stress Initiation (GUI/GIIC)

  • Topographic in-situ stress initialization - specify stress gradient - allows you to start out close to equilibrium with the fewest number of blocks or zones or risking artificially activating/shearing more shallow joints by using an initial average in-situ stress value.
  • Automatic stress initialization permits you to define stress at a point directly (e.g., in-situ stress measurement) to define stresses for the entire model (in-situ and boundary commands).

Block Generation (GUI/GIIC)

Built-in automatic block generation commands to create bricks (left) and asymmetric Voronoi blocks (default Voronoi with 1:1 ratio, top right, compared to asymmetric Voronoi at a 1:3 ratio, bottom right).

 

Geometry Logic

The geometry logic allows the user to create, import, and export geometric data. These data can be used to interact with the model in a variety of ways. The data can be used as a filter with the range logic, and as a visualization aid with plotting. FISH extra variables and group names may be assigned to geometric data. FISH may be used to create and manipulate the data. The geometric data are organized into geometric sets, which are named collections of nodes, edges, and polygons. The geometry import command is used to import geometric data from a file that can be of type STL, DXF, or the Itasca geometry format.

Import DXFs (GUI/GIIC)

Using the Geometry logic, you can now import and use DXF files for UDEC model construction with automatic conversion of geometry into crack commands. DXFs are required to be watertight and of good quality. Some interactive DXF clean-up tools are available in the GIIC. You can see the workflow in the following diagram.

Enhanced Ground Support

In addition to improved visualization (GUI) for structural elements, a rock support database, including fully grouted bolts, end-anchor bolts, Swellex bolts, and split-set bolts (GIIC) is included. More examples for replicating manufacturer pull-test results have also been included (GUI/GIIC) to aid with model calibration.

Discrete Fracture Networks Tools (GUI/GIIC)

The angle keyword is used to specify orientation of jointing. With UDEC 7, you can also specify 3D joint orientations (dip and dip-direction) and the 2D model plane, with UDEC 7 automatically calculating the joint-plane intersection traces as visualized in the following 3DEC model. This permits you to rapidly generate a 2D model or a series of models using real-word data without having to do any math yourself.

UDEC 7 also includes DFN logic with a built-in DFN generator based on a statistical description. Fractures are generated until a specified stopping criterion is met. These conditions include:

  • a target fracture number;
  • a target P10 (defined from borehole data as fracture frequency);
  • a target density P21 (from trace mapping upon surfaces such as benches or tunnel wall);
  • a target percolation volume;
  • DFN at the connectivity threshold; and
  • user-defined criteria (fish-stop).

The logic is similar to that used in 3DEC and also permits the simulation of joints embedded within blocks, whereas joint commands would truncate (remove) joint segments that fall within blocks. This is achieved by cutting a construction joint in the same position/orientation as the fracture until it intersects the model boundary or another joint. Different properties can then be assigned to the contacts falling on fractures (e.g., zero cohesion) and "solid" rock (e.g., contacts outside of fractures are ‘glued’). New plot items for working with DFNs, including stereonet and rosette charts, have also been added. The DFN logic is fully supported by both commands and FISH functions. Below are two videos of a simulated uniaxial compression test with the sample incorporating DFN-generated jointing. In the first video two cracks are added to a specimen which is then divided into a series of voronoi blocks to represent the intact rock while permiting new cracks to form. Displacement contours, joint states (failure modes), and an axial-displacment versus axial stress chart are shown.

In the following video a DFN is generated in the specimen using two commands:

; orientations will be uniformly distributed by default and the fracture size is randomly generated using a power-law value limted to a fracture length between 1 and 100 units.
fracture template create 'example' size power-law 3 size-limit 1 100

; create one instance of a DFN within a defined box at a defined density (P10=1.5 along a defined scanline)
fracture generate template 'example' dfn 'fractures-1'  gen-box -4 4 -8 8 p10 1.5 begin (0,0) end (-2,2)

This results in a series of cracks. Displacement contours (and vectors) and an axial-displacment versus axial stress chart are shown.

Better Analysis (GUI/GIIC)

Factor of Safety Contours

UDEC uses a factor of safety calculation for stability analyses based upon the “strength reduction method”. A “factor of safety” index can be defined for any relevant problem parameter by taking the ratio
of the calculated parameter value under given conditions to the critical value of the parameter, at which the onset of an unacceptable outcome manifests itself. Typically, application of the strength reduction method produces one single factor of safety per simulation, corresponding to one global minimum stability state. However, the ability to calculate multiple minimum states may be of interest, for example, to generate a safety map for a complex slope profile such as a benched cut or a slope with a berm (see following figure). The explicit dynamic solution method employed in UDEC allows multiple local stability surfaces to be identified in one simulation.

With factor of safety contouring, material strengths are reduced in increments by a strength reduction factor. Unstable states for the model are identified at the global minimum state and then beyond that state. Unstable states of the model are identified at each stage as an assembly of gridpoints with velocities above a specified average value. The current strength reduction factor is assigned to unstable gridpoints for later contouring. If the strength is reduced in small intervals, progressively more regions of gridpoints can be identified as unstable. By monitoring the velocities, it is possible to delineate the regions of unstable gridpoints by different strength factors and produce a plot of factor of safety contours.

Better Model Querying

When a View pane (plot) is active, the toolbar includes a group of buttons to set the current mouse mode to one of four states: Select, Query, Center, and Distance. When the Query mode is selected, as highlighted in the image below, you can use the mouse cursor to inspect your model. Clicking on a location in the model will provide a list of one or more objects that can be queried (e.g., block, zone, gridpoint). Selecting an object from the menu will open a dialog that contains model information pertinent to it as shown; data can be copied to the clipboard or logged.

As shown in the magnification bubble in the screen capture above, even when query mode is not active, the mouse cursor constantly relays general model information based on its position and nearby objects.

Keep Track of your Model

The track command is used to track blocks, zones, and grid points. Show positions over time using the particle tracking plot item.

More Information

  • Up to 128 extra variables are now available for all objects (blocks, zones, grid points, structural elements, contacts, etc.).
  • The group logic is the tool used to categorize model objects. Up to 128 different slot names can now be assigned to each group. A slot can be thought of as an independent container of groups. Using the group logic, one can imagine creating slots named "stage1," "stage2," etc., corresponding to each stage of an excavation. Within "stage1" of the excavation, there could be objects belonging to the groups "first," "second," etc. This gives the user a way to remove the first, second, etc., parts of the model in stage1, and the first, second, etc., parts of the model in stage2, and so on.
  • Know exactly what's happening in your model, even when solving, with the FISH Global Symbols Control Set (see above).
  • Added failure states for all contact (joint) constitutive models (e.g., failed tension now, failed shear past).
  • Added command to display contact failure state and contact model.
  • Quickly export chart and table data to CSV files for use with spreadsheet software.

More Help (GUI)

There are now a few more ways to get help on the fly when using UDEC 7. As before, you can type ? after the command word or keyword in the command console pane and press Enter. The console output will show a listing of the valid keywords that may follow the command word/keyword.

To get the definition of the command or FISH function on the current line (in the Editor pane or in the Console pane), you can now simply press the F1 key.

To get inline help for assistance constructing the current command or FISH function on the current line (in the Editor pane or in the Console pane), you can now simply press Ctrl+spacebar

Also, to get help with the current dialog or control, look for a help button ( ). When it appears, pressing it will bring the user to the page in the program documentation that describes the use of that dialog or the control.

And More ...

  • Updated save/restore system. Enhancements will allow for backward compatibility of SAV files for future versions of UDEC. (GUI/GIIC)
  • A project in UDEC (GUI) may now be collected into a single file referred to as a bundle file. The file contains the project file, all input files (data files, FISH files, etc.), a state record file for all model states (though not the state (UDSAV) files themselves), and any files that were used in the process of creating any of the model states.
  • Security logic enhancements (GUI/GIIC) include the following:
    • Specifying a particular key on the server when using a network license.
    • Searching for code and option matches (better key matching when multiple keys are present).
    • Better error messages and feedback when key errors occur.
    • The ability to have multiple licenses on a single USB key.
  • New technical support dialog added to the HELP menu that lets users submit technical support requests and automatically includes license and system information that helps Itasca help you (GUI).
  • Dynamic Input Wizard (GUI/GIIC) - Coming soon! The Dynamic Input Wizard tool facilitates the preprocessing of input signals necessary to correct signal input for use in seismic and dynamic analyzes. The wizard includes the following functionality:
    • Import ground motion data (velocity or acceleration) from a UDEC history, UDEC table, or PEER file, and specify data units. 
    • Filter ground motion data to remove high-frequency components with a specified cut-off frequency. 
    • Add a baseline correction for velocity or displacement drift by removing the mean acceleration, the running average displacement, a polynomial fit displacement, or a low-frequency sine function from the acceleration or velocity. 
    • Export processed data (acceleration, velocity, displacement, amplitude spectrum, response spectrum, or Arias intensity) as a UDEC history or UDEC table file.