Mapping FISH from Old to New FLAC2D Syntax

This document lists FISH function names from FLAC 8.1 (and earlier) and provides links to their FLAC2D 9 (and later) counterparts. They are organized into FLAC2D-specific functions and general FISH functions, and subdivided from there into groups according to the kind of operations they perform. Tip: using page search for the browser (Ctrl+F) can help locate a function quickly; the list below is extensive.

See the Notes section at the end of the page for various details of usage.

Table 1: This Page: FISH Functions by Group

FLAC-Intrinsic Functions

FISH Intrinsic Functions

General FLAC2D Functions

Mathematical and Utility Functions

Zone Functions

Table Functions

Zone Gridpoint Functions

Memory-access Functions

Constitutive Model Variables

Input-Output Functions

Socket I/O Routines

Warning

There will not necessarily be a direct mapping of old to new function arguments nor of return types. FLAC2D 9.0 takes advantage on occasion of the new types available in FISH (tensors, matrices, etc.) to streamline FISH intrinsics.

Table 2: General FLAC2D Functions

FLAC 8.1

FLAC2D 9.0

app_pnt

No direct equivalent. See “gp.force.app

appgw_pnt

No direct equivalent. See “gp.fluid.app” and “gp.pp.fix

appth_pnt

No direct equivalent. See “gp.temp.app” and “gp.temp.fix

att_pnt

No direct equivalent. Use “attach.list to loop through attach conditions.

cf_axi

No equivalent.

cf_creep

No equivalent.

cf_dyn

No equivalent.

cf_ext

No equivalent.

cf_gw

No equivalent.

cf_ps

No equivalent.

cf_therm

No equivalent.

cm_max

No equivalent.

crtdel

zone.creep.timestep

crtime

zone.creep.time.total

cycle

global.cycle

dydt_gpi

??

dydt_gpj

??

dytdel

zone.dynamic.timestep

dytime

zone.dynamic.time.total

error

system.error

fos

global.fos

fos_f

No equivalent.

gwtdel

zone.fluid.timestep

gwtime

zone.fluid.time.total

ieb_pnt

No equivalent.

ierr

No equivalent.

igp

No direct equivalent. Use “gp.num” to get total number of gridpoints.

int_pnt

zone.interface.head

izones

No direct equivalent. Use “zone.num” to get total number of zones.

i_list

interface.list

jerr

No equivalent.

jgp

No direct equivalent. Use “gp.num” to get total number of gridpoints.

jzones

No direct equivalent. Use “zone.num” to get total number of zones.

large

global.largestrain

mode

??

nerr

No equivalent. Use “system.error

nerr_fish

No equivalent. Use “system.error

s_3dd

No equivalent.

s_dyn

No equivalent. Use “model dynamic active on”.

s_echo

No equivalent. Use “program echo”.

s_flow

No equivalent. Use “model fluid active on”.

s_imp

No equivalent. Use “zone fluid implicit” or “zone thermal implicit”.

s_log

No equivalent. Use “program log

s_mech

No equivalent. Use “model mechanical active on”.

s_mess

No direct equivalent. See “io.dialog.message”.

s_movie

No equivalent. Use “plot movie”.

s_flow

No equivalent. Use “model thermal active on”.

sm_max

No equivalent.

sratio

zone.mech.ratio

step

global.step

str_pnt

struct.head

tab_pnt

No direct equivalent. See “table.find”.

ten_flg

No equivalent.

thtdel

zone.thermal.timestep

thtime

zone.thermal.time.total

trac_pnt

No equivalent.

udm_pnt

??

unbal

zone.unbal

unbflow

zone.fluid.unbal.max or “zone.fluid.unbal.avg

v_ngw

No equivalent. Use “model fluid substep”.

v_nmech

No equivalent. Use “model mechanical substep”.

v_ntherm

No equivalent. Use “model thermal substep”.

wbiot

No equivalent. Use “zone fluid property biot”.

wbulk

gp.fluid.modulus.

xdens

zone.fluid.density.

xgrav

global.gravity.x

ygrav

global.gravity.y

Table 3: Zone Functions

FLAC 8.1

FLAC2D 9.0

area

zone.area

density

zone.density

dy_state

zone.state

e_plastic

zone.property with input string strain-shear-plastic

et_plastic

zone.property with input string strain-tension-plastic

ev_plastic

zone.property with input string strain-volumetric-plastic

ev_tot

zone.property with input string strain-volumetic-total

ex_n

zone.extra. Extra varaiable index is an input to the function.

fsi

zone.strain.inc

fsr

zone.strain.rate

flags

No equivalent

inimodel

No equivalent

k11

zone.fluid.prop with input string permeability-xx

k12

zone.fluid.prop with input string permeability-xy

k22

zone.fluid.prop with input string permeability-yy

model

zone.model

poro2

No equivalent. Two-phase flow not supported.

pp

zone.pp

ssi

No equivalent

ssr

No equivalent

ssi3d

zone.strain.inc

ssr3d

zone.strain.rate

sxx

zone.stress.xx

sxy

zone.stress.xy

syy

zone.stress.yy

szz

zone.stress.zz

udcoe

No equivalent. Two-phase flow not supported.

visrat

No equivalent. Two-phase flow not supported.

vsi

zone.strain.vol.inc

vsr

zone.strain.vol.rate

vol_strain

zone.strain.vol.inc

vsxx

No equivalent

vsxy

No equivalent

vsyy

No equivalent

vszz

No equivalent

wk11

No equivalent. Two-phase flow not supported.

wk12

No equivalent. Two-phase flow not supported.

wk22

No equivalent. Two-phase flow not supported.

xcen

zone.pos.x

xflow

zone.flow.x

xnwflow

No equivalent. Two-phase flow not supported.

ycen

zone.pos.y

yflow

zone.flow.y

ynwflow

No equivalent. Two-phase flow not supported.

z_group

zone.group

z_hyst

zone.hysteretic

z_model

zone.model

z_prop

zone.prop

zmsmul

zone.dynamic.mul

Table 4: Zone Gridpoint Functions

FLAC 8.1

FLAC2D 9.0

damp

No equivalent.

disp

gp.disp

ex_n

gp.extra. The extra variable index is an input.

f2mod

No equivalent. Two-phase flow not supported.

flags

No equivalent.

fmod

gp.fluid.modulus

ftens

gp.fluid.tension

g2flow

No equivalent. Two-phase flow not supported

gflow

gp.flow

gmsmul

gp.dynamic.mul

gpp

gp.pp

nwgp

No equivalent. Two-phase flow not supported

rsat

No equivalent. Two-phase flow not supported

sat

gp.sat

temp

gp.temp

tflow

gp.flux

vga

No equivalent (yet).

vgp0

No equivalent (yet).

vgpcnw

No equivalent (yet).

vgpcw

No equivalent (yet).

x

gp.pos.x

xacc

gp.accel.x

xbody

No equivalent. See “gp.force.load.x

xdisp

gp.disp.x

xforce

gp.force.unbal.x

xvel

gp.vel.x

y

gp.pos.y

yacc

gp.accel.y

ybody

No equivalent. See “gp.force.load.y

ydisp

gp.disp.y

yforce

gp.force.unbal.y

yvel

gp.vel.y

Table 5: Constitutive Model Variables

Use zone.prop with the appropriate string for the desired property.

See zone property to get links to property names for each constitutive model.

FISH Intrinsic Functions

Table 6: Mathematical and Utility Functions

FLAC 8.1

FLAC2D 9.0

abs

math.abs

acos

math.acos

and

math.and

asin

math.asin

atan

math.atan

atan2

math.atan2

clock

time.clock

cos

math.cos

degrad

math.degrad

do_update

No equivalent

error

util.error

exp

math.exp

fc_arg

Not supported. Pass arguments directly to functions.

float

float

grand

math.random.gauss

in

io.in

int

int

ln

math.ln

log

math.log

mat_inverse

matrix.inverse

mat_transpose

matrix.transpose

max

math.max

min

math.min

not

math.not

or

math.or

out

io.out

pi

math.pi

rez_exe

No equivalent

sgn

math.sgn

sin

math.sin

sqrt

math.sqrt

string

string

tan

math.tan

type

type

urand

math.random.uniform

Table 7: Table Functions

FLAC 8.1

FLAC2D 9.0

table

table

table_size

table.size

xtable

table.x

ytable

table.y

Table 8: Memory-access Functions

FLAC 8.1

FLAC2D 9.0

fmem

Data is not stored in arrays in FLAC2D, but it is possible to create your own memory arrays. See for example memory

imem

Data is not stored in arrays in FLAC2D, but it is possible to create your own memory arrays. See for example memory

Table 9: Input-Output Functions

FLAC 8.1

FLAC2D 9.0

close

file.close

cparse

No equivalent

fstring

string

open

file.open

out

io.out

parse

string.token

pre_parse

string.token.type

read

file.read

string

string

write

file.write

Table 10: Socket I/O Routines

FLAC 8.1

FLAC2D 9.0

sclose

socket.close

sopen

socket.open

sread

socket.read.array

swrite

socket.write.array

Notes

There is no direct access of variables through memory function (e.g. fmem) in FLAC2D. All data is available through FISH intrinsice, so this direct access is no longer necessary. For example, to access the id of a structural element, use struct.id rather than “imem(sel+$kelid)”.