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 spermeability-xx
k12 zone.fluid.prop with input string spermeability-xy
k22 zone.fluid.prop with input string spermeability-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.x
yacc gp.accel.x
ybody No equivalent. See “gp.force.load.x
ydisp gp.disp.x
yforce gp.force.unbal.x
yvel gp.vel.x
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)”.