FISH Functions

Functions built into the FISH language by group below.

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

c array

c list

c string

c constructors

c mail

c structure

c creep process

c map

c system

c dynamic process

c math

c tensor

c file

c matrix

c thermal process

c fluid process

c mechanical process

c time

c global

c memory

c type

c io

c socket

c version

At the bottom of the page, for convenience, a list of links to indexes of code-specific functions and commonly used functions is also provided.

creep process utilities

creep.active

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.cycle

dynamic.safety.factor

dynamic.solve(STR)

dynamic.step

dynamic.time.total

dynamic.timestep

dynamic.timestep.given

dynamic.timestep.max

file utilities

file.all(STR<,STR><,INT>)

file.close(<FILE_PNT>)

file.delete(STR)

file.end(<FILE_PNT>)

file.exist(STR)

file.name(<FILE_PNT>)

file.open(STR<,STR><,STR>)

file.open.check(STR<,STR><,STR>)

file.pos(<FILE_PNT>)

file.read(<INT/FILE_PNT><,INT>)

file.rename(STR,STR)

file.size(<FILE_PNT/STR>)

file.write(<FILE_PNT>)

fluid process utilities

fluid.active

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

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)

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)

math utilities

math.aangle.to.euler(VEC3)

math.abs(NUM)

math.acos(NUM)

math.and(INT,INT)

math.area.intersect.poly.poly(MAP,MAP)

math.area.poly(List)

math.asin(NUM)

math.atan(NUM)

math.atan2(NUM,NUM)

math.bound(NUM/VEC2/VEC3,NUM/VEC2/VEC3,NUM/VEC2/VEC3)

math.ceiling(NUM)

math.choose(BOOL,ANY,ANY)

math.closest.segment.point(VEC2/VEC3,VEC2/VEC3,VEC2/VEC3)

math.closest.triangle.point(VEC2/VEC3,VEC2/VEC3,VEC2/VEC3,VEC2/VEC3)

math.cos(NUM)

math.cosh(NUM)

math.cross(VEC2/VEC3,VEC2/VEC3)

math.ddir.from.normal(VEC3+)

math.degrad

math.dip.from.normal(VEC2/VEC3)

math.dist.segment.point(VEC2/VEC3,VEC2/VEC3,VEC2/VEC3)

math.dist.segment.segment(VEC2/VEC3,VEC2/VEC3,VEC2/VEC3,VEC2/VEC3)

math.dist.triangle.segment(VEC2/VEC3,VEC2/VEC3,VEC2/VEC3,VEC2/VEC3,VEC2/VEC3)

math.dot(VEC,VEC)

math.erf(FLT)

math.erfc(FLT)

math.euler.to.aangle(VEC3)

math.exp(NUM)

math.expint(FLT)

math.floor(NUM)

math.gamma(FLT)

math.in.range(NUM/VEC2/VEC3,NUM/VEC2/VEC3,NUM/VEC2/VEC3)

math.isinf(FLT)

math.isnan(FLT)

math.ln(NUM)

math.log(NUM)

math.lshift(INT,INT)

math.mag(VEC2/VEC3)

math.mag2(VEC2/VEC3)

math.max(ANY,ANY<,ANY>)

math.min(NUM,NUM<,NUM>)

math.normal.from.dip(FLT)

math.normal.from.dip.ddir(FLT,FLT)

math.not(INT)

math.or(INT,INT)

math.outer.product(MAT/VEC2/VEC3,MAT/VEC2/VEC3)

math.pi

math.random.gauss(<INT>)

math.random.uniform(<INT>)

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(VEC2,VEC2,VEC2,VEC2)

math.triangle.interp(VEC2,FLT,VEC2,FLT,VEC2,FLT,VEC2)

math.unit(VEC)

mechanical process utilities

mech.active

mech.cycle

mech.safety.factor

mech.solve(STR)

mech.step

mech.time.total

mech.timestep

mech.timestep.given

mech.timestep.max

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)

system utilities

system.beep(<INT><,INT>)

system.clone(STR<,INT><,BOOL>)

system.command(STR/LIST/MAP/ARR<,BOOL>)

system.directory(<STR><,STR>)

system.directory.absolute(STR<,STR>)

system.directory.create(STR)

system.directory.current

system.directory.delete(STR<,BOOL>)

system.directory.list(<STR><,BOOL><,BOOL>)

system.directory.relative(STR<,STR>)

system.environment(STR)

system.error

system.os(STR<,INT>)

system.sleep(INT)

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.kernel

time.real

Value Type utilities

In this group: c array, Constructors, c list, c map, c matrix, c memory, c string, c structure, c tensor, c type.

array utilities

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

array.copy(ARR)

array.delete(ARR)

array.dim(ARR)

array.size(ARR_PNT<,INT>)

Constructors

array(INT/LIST/VEC2/VEC3/MAT/TEN<,INT>)

boolean(BOOL/NUM/PNT)

false

float(BOOL/NUM/STR)

index(NUM/STR)

int(BOOL/NUM/STR)

list(<INT/STR/VEC2/VEC3/MAT/MAP/LIST_PNT>)

map(<ANY/STRUCT/LIST><,ANY/LIST><,ANY><,ANY>)

matrix(INT/LIST/TEN/VEC2/VEC3/ARR<,INT><,FLT/INT>)

null

string(ANY<,INT><,STR><,INT><,STR>)

tensor(<NUM/LIST/MAT/VEC3/ARR><,NUM><,NUM><,NUM><,NUM><,NUM>)

true

vector(NUM/LIST/STR/MAT/ARR<,NUM><,NUM>)

list utilities

list.append(LIST,ANY)

list.at(LIST,INT)

list.concatenate(ANY<,INT>)

list.count(LIST,ANY)

list.create(INT<,ANY>)

list.extend(LIST,ANY)

list.find.index(LIST,ANY<,INT>)

list.insert(LIST,INT,ANY)

list.insert.list(LIST,INT,ANY)

list.max(LIST)

list.min(LIST)

list.prepend(ANY,LIST)

list.range(NUM,NUM<,NUM>)

list.resize(LIST,INT<,ANY>)

list.reverse(LIST)

list.separate(ANY,INT)

list.sequence(ANY)

list.size(LIST)

list.sort(LIST)

list.sum(LIST)

map utilities

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

map.add(MAP,ANY,ANY)

map.add.list(MAP,LIST,LIST)

map.has(MAP,ANY)

map.keys(MAP)

map.merge(MAP,MAP)

map.remove(MAP,ANY)

map.size(MAP)

map.value(MAP,ANY)

map.value.all(MAP)

matrix utilities

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

matrix.cols(MAT)

matrix.det(MAT/TEN)

matrix.from.axis.angle(VEC3)

matrix.from.euler(VEC3)

matrix.identity(INT)

matrix.inverse(MAT/TEN/ARR)

matrix.lubksb(MAT/TEN/ARR,LIST/ARR,ARR/MAT/VEC3/VEC2)

matrix.ludcmp(MAT/TEN/ARR,LIST/ARR)

matrix.rows(MAT)

matrix.to.axis.angle(MAT)

matrix.to.euler(MAT)

matrix.transpose(MAT)

memory utilities

memory(MEM)

memory.create(INT)

memory.delete(MEM)

memory.fortran.float

memory.fortran.index

memory.fortran.integer

memory.offset(MEM)

memory.size(MEM)

string utilities

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

string.build(STR<,ANY><,ANY>)

string.csv.from(STR<,STR>)

string.csv.to(LIST<,STR>)

string.file.ext(STR)

string.file.name(STR)

string.file.path(STR)

string.find(STR,STR)

string.find.regex(STR,STR)

string.join(LIST,STR)

string.len(STR)

string.lower(STR)

string.match.regex(STR,STR)

string.replace(STR,STR,STR)

string.replace.regex(STR,STR,STR)

string.simplify(STR)

string.split(STR<,STR>)

string.split.regex(STR,STR)

string.sub(STR,INT<,INT>)

string.token(STR,INT)

string.token.type(STR,INT)

string.type(STR)

string.upper(STR)

structure utilities

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

structure.check(STRUCT,STRUCT)

structure.from.map(STR,MAP)

structure.name(STRUCT)

tensor utilities

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

tensor.i2(TEN)

tensor.j2(TEN)

tensor.prin(TEN)

tensor.prin.dir(TEN)

tensor.prin.from(LIST)

tensor.total(TEN)

tensor.trace(TEN)

type utilities

type(ANY)

type.index(PNT)

type.name(ANY)

type.pointer(PNT)

type.pointer.id(PNT)

type.pointer.name(PNT)

version utilities

code.name

version.code.major

version.code.minor

version.fish.major

version.fish.minor

Other FISH Indexes

In addition to the functions shown above, which are built into the FISH language, there are groups of functions that are provided specifically by the program that uses them (i.e., FLAC3D, 3DEC, or PFC), and a last set of function groups that are used commonly by all the software.

  • FLAC3D FISH Function Index

  • PFC FISH Function Index

  • Common FISH Function Index