FISH Functions

FISH language intrinsics are listed by group below. Beneath these, for convenience, the groups of general element intrinsics and FLAC3D-specific intrinsics are also listed.

The type specifiers used in the FISH function signatures are given in the “FISH Type Index” section.

Array Utilities

Arrays are described under Arrays in the FISHData Types” section.

array.convert(MAT_PNT/TEN_PNT)
array.copy(ARR_PNT)
array.create(INT<,NUM>)
array.delete(ARR_PNT)
array.dim(ARR_PNT)
array.size(ARR_PNT,INT)

Component Utilities

Vectors are described under Vectors in the FISHData Types” section.

comp(VEC/MAT_PNT/TEN_PNT,INT<,INT>)

Constructors

boolean(BOOL/NUM/PNT)
false
float(BOOL/NUM/STR)
index(NUM/STR)
int(BOOL/NUM/STR)
null
true
vector(ARR_PNT/MAT_PNT/NUM<,NUM><,NUM>)

Creep Process Utilities

creep.active
creep.age
creep.cycle
creep.safety.factor
creep.solve(STR)
creep.step
creep.time.total
creep.timestep
creep.timestep.given
creep.timestep.max

Dynamic Process Utilities

dynamic.active
dynamic.age
dynamic.cycle
dynamic.safety.factor
dynamic.solve(STR)
dynamic.step
dynamic.time.total
dynamic.timestep
dynamic.timestep.given
dynamic.timestep.max

File Utilities

file.close(<FILE_PNT>)
file.open(STR,INT,INT)
file.open.pointer(STR,INT,INT)
file.pos(<FILE_PNT>)
file.read(ARR_PNT/STR,INT<,FILE_PNT/ARR_PNT><,INT><,INT>)
file.write(ARR_PNT/STR,INT<,FILE_PNT/ARR_PNT><,INT><,INT>)

Fluid Process Utilities

fluid.active
fluid.age
fluid.cycle
fluid.safety.factor
fluid.solve(STR)
fluid.step
fluid.time.total
fluid.timestep
fluid.timestep.given
fluid.timestep.max

Global Utilities

global.cycle
global.deterministic
global.dim
global.fos
global.gravity(<INT>)
global.step
global.threads
global.timestep
global.title

IO Utilities

io.dialog.in(STR<,STR>)
io.dialog.message(STR,STR,INT)
io.dialog.notify(INT,INT,STR)
io.in(STR)
io.input(STR)
io.out(ANY)

List Utilities

list.find(LIST,INT)
list.find.name(LIST,INT/STR)
list.size(LIST)

Mail Utilities

mail.account(STR)
mail.attachment.add(STR)
mail.attachment.delete(STR)
mail.body(BOOL,STR)
mail.clear
mail.domain(STR)
mail.from(STR)
mail.host(STR)
mail.password(STR)
mail.port(INT)
mail.recipient.add(STR,STR)
mail.recipient.delete(STR,STR)
mail.send
mail.subject(STR)

Map Utilities

Maps are described under Maps in the FISHData Types” section.

map(NUM/STR,ANY<,NUM/STR/ANY>)
map.add(MAP,NUM/STR,ANY)
map.has(MAP,NUM/STR)
map.keys(MAP)
map.remove(MAP,NUM/STR)
map.size(MAP)
map.value(MAP,NUM/STR)

Math Utilities

math.aangle.to.euler(VEC)
math.abs(NUM)
math.acos(NUM)
math.and(INT,INT)
math.area.intersect.poly.poly(MAP,MAP)
math.area.poly(MAP)
math.asin(NUM)
math.atan(NUM)
math.atan2(NUM,NUM)
math.ceiling(NUM)
math.closest.segment.point(VEC,VEC,VEC)
math.closest.triangle.point(VEC,VEC,VEC,VEC)
math.cos(NUM)
math.cosh(NUM)
math.cross(VEC,VEC)
math.ddir.from.normal(VEC)
math.degrad
math.dip.from.normal(VEC)
math.dist.segment.point(VEC,VEC,VEC)
math.dist.segment.segment(VEC,VEC,VEC,VEC)
math.dist.triangle.segment(VEC,VEC,VEC,VEC,VEC)
math.dot(VEC,VEC)
math.euler.to.aangle(VEC)
math.exp(NUM)
math.floor(NUM)
math.ln(NUM)
math.log(NUM)
math.lshift(INT,INT)
math.mag(VEC)
math.mag2(VEC)
math.max(NUM,NUM<,NUM>)
math.min(NUM,NUM<,NUM>)
math.normal.from.dip(FLT)
math.normal.from.dip.ddir(FLT,FLT)
math.not(INT,INT)
math.or(INT,INT)
math.outer.product(MAT_PNT/VEC,MAT_PNT/VEC)
math.pi
math.random.gauss
math.random.uniform
math.round(NUM)
math.rshift(INT,INT)
math.sgn(NUM)
math.sin(NUM)
math.sinh(NUM)
math.sqrt(NUM)
math.tan(NUM)
math.tanh(NUM)
math.triangle.inside(VEC,VEC,VEC,VEC)
math.triangle.interp(VEC,FLT,VEC,FLT,VEC,FLT,VEC)
math.unit(VEC)

Matrix Utilities

Matrices are described under Matrices in the FISHData Types” section.

matrix(ARR_PNT/VEC/TEN_PNT/INT<,INT>)
matrix.cols(MAT_PNT)
matrix.det(MAT_PNT/TEN_PNT)
matrix.from.aangle(VEC)
matrix.from.euler(VEC)
matrix.identity(INT)
matrix.inverse(ARR_PNT/MAT_PNT/TEN_PNT)
matrix.lubksb(ARR_PNT/MAT_PNT/TEN_PNT,ARR_PNT)
matrix.ludcmp(ARR_PNT/MAT_PNT/TEN_PNT,ARR_PNT)
matrix.rows(MAT_PNT)
matrix.to.aangle(MAT_PNT)
matrix.to.euler(MAT_PNT)
matrix.transpose(MAT_PNT)

Mechanical Process Utilities

mech.active
mech.cycle
mech.energy(STR)
mech.safety.factor
mech.solve(STR)
mech.step
mech.time.total
mech.timestep
mech.timestep.given
mech.timestep.max

Memory Utilities

memory(MEM_PNT)
memory.create(INT)
memory.delete(MEM_PNT)

Socket Utilities

socket.close(SOCK_PNT/INT)
socket.create
socket.delete(SOCK_PNT)
socket.open(INT/STR,SOCK_PNT/INT<,INT><,INT>)
socket.read(ARR_PNT,INT,SOCK_PNT/INT<,INT>)
socket.read.array(ARR_PNT,SOCK_PNT/INT)
socket.write(ARR_PNT,INT,SOCK_PNT/INT)
socket.write.array(ARR_PNT,SOCK_PNT/INT)

String Utilities

Strings are described under Strings in the FISHData Types” section.

string(ANY<,INT><,STR><,INT><,STR>)
string.build(STR<,ANY><,ANY>)
string.char(STR,INT)
string.len(STR)
string.lower(STR)
string.sub(STR,INT<,INT>)
string.token(STR,INT)
string.token.type(STR,INT)
string.upper(STR)

Structure Utilities

Structures are described under Structures in the FISHData Types” section.

struct.check(STRUCT_PNT,STRUCT_PNT)
struct.name(STRUCT_PNT)

System Utilities

system.beep(<INT><,INT>)
system.clone(STR<,INT>)
system.command(STR/ARR_PNT/MAP)
system.directory(<STR><,STR>)
system.environment(STR)
system.error
system.os(STR<,INT>)
system.sleep(INT)

Tensor Utilities

Tensors are described under Tensors in the FISHData Types” section.

tensor(MAT/ARR_PNT/VEC/NUM<,NUM><,NUM><,NUM><,NUM><,NUM>)
tensor.i2(TEN)
tensor.j2(TEN)
tensor.prin(TEN<,ARR_PNT>)
tensor.prin.from(VEC,ARR_PNT)
tensor.total(TEN)
tensor.trace(TEN)
tensor.traction(TEN,VEC,VEC)

Thermal Process Utilities

thermal.active
thermal.cycle
thermal.safety.factor
thermal.solve(STR)
thermal.step
thermal.time.total
thermal.timestep
thermal.timestep.given
thermal.timestep.max

Time Utilities

time.clock(<INT>)
time.cpu
time.real

Type Utilities

type(ANY)
type.index(PNT)
type.name(ANY)
type.pointer(PNT)
type.pointer.id(PNT)
type.pointer.name(PNT)

Version Utilities

code.debug
code.name
version.code.major
version.code.minor
version.fish.major
version.fish.minor


Table 1: General Element and PFC-Specific Functions (by group)
General Element PFC-Specific
Brick Functions Ball Functions
Data Functions Clump Functions
DFN Functions Wall Functions
Domain Functions Contact Functions
Fragment Functions  
Geometry Functions  
Globals Functions  
Measure Functions  
Table Functions  


Process FISH Functions
Creep Process Utilities
Dynamic Process Utilities
Fluid Process Utilities
Mechanical Process Utilities
Thermal Process Utilities