Improved Commands and FISH

The revised command and FISH syntax is the first overhaul of the command system since 3DEC was first released in 1988. The new syntax addresses the many inconsistencies and cryptic syntax that crept in over 30 years. In Version 7, all commands and FISH functions follow the pattern: NOUN-VERB-OPTIONS-MODIFIERS-RANGE (for example, BLOCK APPLY VELOCITY RANGE POSITION-X 0 10). As in version 5.2, it is not necessary to type out the entire word. This new system has the following advantages.

  • It is clear what is being operated on with every command (blocks, faces, gridpoints, etc.).
  • The commands and FISH are as similar as possible (and in many cases the same) as FLAC3D 7 and UDEC 7 to make it easier for users to switch between programs.
  • The new system allows for coupling models between FLAC3D, PFC, and 3DEC.
  • The new system allows for parallel software development. For example, the use of FLAC3D structural elements is already built in to 3DEC 7.
  • Normalization of the syntax allows integrating command and FISH reference documentation with the code (described below).

Documentation Support and Help

To make it easier for experienced users to start using version 7, the following support is provided.

Mapping

Program documentation provides lists that map 5.2 commands to 7.0 commands (see 3DEC 5.2 to 7.0 Command Mapping). A few examples are shown below.

CONFIG dynamic --> model configuration dynamic
CYCLE --> model cycle
FIX xvel --> block fix velocity-x
GENERATE --> block zone generate
INITIALIZE xdisplacement --> block gridpoint initialize displacement-x
ZONE density --> block zone property density

Similar maps relating 5.2 FISH to 7.0 FISH (see 3DEC 5.2 to 7.0 FISH Mapping) are provided. There will not necessarily be a direct mapping of old to new function arguments nor of return types. 3DEC 7.0 takes advantage, on occasion, of the new types available in FISH (tensors, matrices, etc.) to streamline FISH intrinsics. A few examples are shown below.

b_area --> block.area
z_state --> block.zone.state
urand --> math.random.uniform
code_majorversion --> version.code.major
udv_create --> data.vector.create
face_nx --> block.face.normal.x

Enhanced Documentation and Help

  • Contextual help: Press F1 when your cursor is over a command or FISH function to access the reference documentation for the item.
  • Intelligent command completion (inline help). Use Ctrl+Space while typing a command to see and insert the next keyword from a list of those possible at the current cursor position.

Automatic Conversion Tool

An automatic file conversion tool called "3DEC Command Conversion..." is available on the Edit menu.

Before doing the conversion, a back-up copy of the file will be made in a folder called “pre-conversion” in the same directory as the data file. The data file will be converted on-disk and then reloaded into the text editor.

There are cases where the conversion tool cannot translate a version 5.2 command to version 7.0. In these cases, the problematic portion of the command in question will be surrounded by “%%” symbols in the data file and highlighted in orange. When available, explanatory information will appear, commented and also highlighted in orange. These commands require manual editing to complete conversion. TIP: place the cursor in the line with problem command and press F1 to directly access help for that command.

Two examples are demonstrated in the following video.


Latest News
  • ITASCA Releases MassFlow version 9.0 ...
    Read More
  • Introducing IMAT (ITASCA Mining Analysis Toolbox): Transforming Mining Analysis Solutions ...
    Read More
  • 3DEC 9 Officially Released ...
    Read More

Upcoming Events
22 Apr
FLAC2D In-Person Introductory Course
Live in-person introductory training course. This 3-day course provides a general overview of FLAC2D and covers many basic concepts and... Read More
29 Apr
PFC In-Person Introductory Course
Live in-person introductory training course. This four-day course provides guidance in the use of the Itasca codes PFC2D and PFC3D to s... Read More
29 May
Getting Started with FLAC2D/FLAC3D
Objectives of the training: •Understand the FLAC2D/ FLAC3D numerical approach and the types ofproblems it can solve•Know how to manipul... Read More