New with FISH in UDEC

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.

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.

Latest News
  • Webinar: Using Rigid Blocks in PFC This webinar will provide a brief overview of PFC modeling using convex rigid blocks, including...
    Read More
  • Remote Training Planned for 2021 Itasca Consulting Group is planning remote, online training for early 2021....
    Read More
  • 3DEC 7 is officially released! Enhanced user interface with new automated block and zone generation tools, and new structural elements....
    Read More

Upcoming Events
2 Feb
ANALYSES OF EMBANKMENT DAMS AND SLOPES USING FLAC
This hands-on, virtual training course is 16 hours total, spread over four days in a 1.5-week period, and covers the analysis of embank... Read More