Enhancments to Commands and Scripting in FLAC3D 6.0

Updated Command Syntax

All commands are reformulated in FLAC3D 6.0 to follow a syntactical pattern of NOUN - VERB - OPTION - MODIFIERS - RANGE.

For example,

FLAC3D 5.0 Syntax: APPLY xvelocity 5.0 gradient (0,0,1) range group punch

FLAC3D 6.0 Syntax: zone apply velocity-x 5.0 gradient (0,0,1) range group 'punch'

The goal is to make the commands more consistent across Itasca software, more intuitive in construction, and easier to learn and apply. In recognition that this major change will require relearning commands and rewriting older data files for compatibility with version 6.0, additional HELP support has been added and a built-in conversion tool is available.  The tool automatically identifies FLAC3D 5.0 data files when loaded and, with user advisement, converts them to the new FLAC3D 6.0 command syntax. In the event that something is unclear and cannot be automatically converted it is be flagged for user review. However, the conversion success rate is high and many data files are converted with no flagging whatsoever.

Updated FISH Scripting Syntax

As with the commands, FISH scripting has been improved to make function syntax clearer and more consistent for more intuitive scripting and ease of use. The syntax uses a structured reference for objects to assign properties or invoke functions and is similar to modern scripting languages such as C++ and Visual Basic, for example.

Below you can see an example of the same FISH function in FLAC3D 5.0 (left) and in FLAC3D 6.0 (right). The FLAC3D 6.0 version was created using the built-in conversion tool in the FLAC3D 6.0 editor. The previous video shows how this is done.

FISH Global Symbols Control Set

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 columned 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.

Other FISH Scripting Improvements

  • New variable types include: Boolean, Symmetric Tensor (e.g., stress and strain), Matrix (with built-in functions to inverse, multiply, etc.), Map (or associative array), and Structures
  • It is now easier and faster to create C++ FISH intrinsics using included Microsoft Visual Studio templates