FISH is a built-in scripting language that gives the FLAC3D user powerful control over most every aspect of program operation. From among the numerous possibilities, this presentation gives brief examples of five areas in FLAC3D most commonly customized by use of FISH.
FISH is short for “FLAC-ISH” (or the language of FLAC), the code for which it was first developed. Now, in addition to FLAC and FLAC3D, FISH is also integrated into UDEC, 3DEC, and PFC.
FISH is embedded deeply into FLAC3D at nearly every level. It can be used to parameterize data files so that a number of varying cases can be built into the same basic model. Every data type that makes up a FLAC3D model is also available for FISH to manipulate directly – before, after, and during the solution. This means that not only can FISH be used to create custom complex models and customized results, it can also be used to add custom physics to the solution process that is not part of the standard package.
FISH includes constructs to embed FLAC3D commands within FISH functions (see the command – end command block in the example shown in the Run Control section).
FISH is a semi-compiled language that uses dynamic typing for variables – syntax and use is similar to (but not exactly the same as) Python. It has been created to be very simple for small needs, but it provides structure and data types needed to support large and complex programs if necessary.
The following illustrations give just an idea of the power of FISH. For a complete tutorial, refer to the FLAC3D documentation in section FLAC3D/FLAC3D Modeling/Tutorials/Tutorial: Working with FISH.
A complete reference can be found in the documentation under Scripting/FISH Scripting.
Learn more about how FISH can help with modeling: