FISH Functions

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

Zone Gridpoint Functions

gp.accel(GP_PNT<,INT>)
gp.biot.modulus(GP_PNT)
gp.convergence(GP_PNT)
gp.copy(GP_PNT,GP_PNT)
gp.disp(GP_PNT<,INT>)
gp.disp.small(GP_PNT<,INT>)
gp.dynamic.mul(GP_PNT)
gp.extra(GP_PNT<,INT>)
gp.find(INT)
gp.fix(GP_PNT<,INT>)
gp.flow(GP_PNT)
gp.fluid.load(GP_PNT)
gp.fluid.modulus(GP_PNT)
gp.fluid.modulus.confined(GP_PNT)
gp.fluid.tension(GP_PNT)
gp.fluid.unbal(GP_PNT)
gp.fluid.vol.inv(GP_PNT)
gp.force.app(GP_PNT<,INT>)
gp.force.load(GP_PNT<,INT>)
gp.force.unbal(GP_PNT<,INT>)
gp.group(GP_PNT<,STR>)
gp.group.remove(GP_PNT,STR)
gp.head
gp.id(GP_PNT)
gp.isgroup(GP_PNT,STR<,STR>)
gp.link.index(GP_PNT)
gp.link.zone(GP_PNT)
gp.list
gp.mass.add(GP_PNT<,INT>)
gp.mass.gravity(GP_PNT)
gp.mass.inertial(GP_PNT)
gp.maxid
gp.near(VEC+)
gp.near.all(VEC+)
gp.near.live(VEC+,BOOL,BOOL,BOOL,STR)
gp.next(GP_PNT)
gp.num
gp.pos(GP_PNT<,INT>)
gp.pp(GP_PNT<,INT>)
gp.pp.fix(GP_PNT)
gp.ratio(GP_PNT)
gp.ratio.target(GP_PNT)
gp.sat(GP_PNT)
gp.state.restore(GP_PNT)
gp.state.save(GP_PNT)
gp.stiff(GP_PNT)
gp.temp(GP_PNT)
gp.temp.change(GP_PNT)
gp.temp.fix(GP_PNT)
gp.temp.source(GP_PNT)
gp.typeid
gp.vel(GP_PNT<,INT>)

Zone Functions

zone.aspect(ZONE_PNT)
zone.bad(ZONE_PNT)(2D ONLY)
zone.code(ZONE_PNT)
zone.condition(ZONE_PNT<,INT>)
zone.containing(VEC+<,ZONE_PNT>)
zone.copy(ZONE_PNT,ZONE_PNT)
zone.create.interface.elem(ZONE_PNT,INT,STR)
zone.create.ratio(FLT,INT,INT)
zone.creep.time.total
zone.creep.timestep
zone.cycle.init(ZONE_PNT)
zone.density(ZONE_PNT)
zone.dynamic.mul(ZONE_PNT)
zone.dynamic.time.total(ZONE_PNT)
zone.dynamic.timestep
zone.extra(ZONE_PNT<,INT>)
zone.find(INT)
zone.flow(ZONE_PNT<,INT>)
zone.fluid.density(ZONE_PNT)
zone.fluid.model(ZONE_PNT)
zone.fluid.prop(ZONE_PNT,STR)
zone.fluid.ratio
zone.fluid.stress.normal
zone.fluid.time.total
zone.fluid.timestep
zone.fluid.unbal.avg
zone.fluid.unbal.max
zone.flux(ZONE_PNT<,INT>)
zone.force.update
zone.geom.test(ZONE_PNT)
zone.gp(ZONE_PNT,INT)
zone.gp.num(ZONE_PNT)
zone.group(ZONE_PNT<,STR>)
zone.group.remove(ZONE_PNT,STR)
zone.head
zone.hysteretic(ZONE_PNT,STR)
zone.id(ZONE_PNT)
zone.inbox(VEC,VEC<,BOOL>)
zone.isgroup(ZONE_PNT,STR<,STR>)
zone.islive(ZONE_PNT)
zone.join(ZONE_PNT,INT)
zone.link.index(ZONE_PNT,INT)
zone.link.zone(ZONE_PNT,INT)
zone.list
zone.maxid
zone.mech.convergence
zone.mech.prop.name(ZONE_PNT,INT)
zone.mech.prop.num(ZONE_PNT)
zone.mech.ratio
zone.mech.ratio.avg
zone.mech.ratio.local
zone.mech.ratio.max
zone.mech.unbal.max
zone.model(ZONE_PNT)
zone.model.init(ZONE_PNT)
zone.near(VEC+)
zone.near.all(VEC+)
zone.near.live(VEC+,BOOL,BOOL,BOOL,STR)
zone.near.map(VEC+,FLT)
zone.next(ZONE_PNT)
zone.num
zone.ortho
zone.overlays(ZONE_PNT)
zone.planarity(ZONE_PNT)
zone.plane.traction(ZONE_PNT,VEC<,ARR_PNT>)
zone.pos(ZONE_PNT<,INT>)
zone.pp(ZONE_PNT)
zone.prop(ZONE_PNT,STR)
zone.rotation.inc(ZONE_PNT<,INT<,INT>>)
zone.rotation.rate(ZONE_PNT<,INT<,INT>>)
zone.state(ZONE_PNT)
zone.state.restore(ZONE_PNT)
zone.state.save(ZONE_PNT)
zone.strain.inc(ZONE_PNT<,INT<,INT>>)
zone.strain.rate(ZONE_PNT,INT<,INT>)
zone.strain.shear.inc(ZONE_PNT)
zone.strain.shear.rate(ZONE_PNT)
zone.strain.vol.inc(ZONE_PNT)
zone.strain.vol.rate
zone.stress(ZONE_PNT<,INT<,INT>>)
zone.stress.effective(ZONE_PNT,INT<,INT>)
zone.stress.int(ZONE_PNT)
zone.stress.max(ZONE_PNT)
zone.stress.min(ZONE_PNT)
zone.stress.prin(ZONE_PNT<,INT>)
zone.stress.prin.dir(ZONE_PNT,ARR_PNT,ARR_PNT)
zone.temp(ZONE_PNT)
zone.test.quality(ZONE_PNT,INT)
zone.thermal.model(ZONE_PNT)
zone.thermal.prop(ZONE_PNT,STR)
zone.thermal.ratio
zone.thermal.time.total
zone.thermal.timestep
zone.typeid
zone.unbal
zone.vol(ZONE_PNT)
zone.vol.deformed(ZONE_PNT)
zone.was.updated
zone.work.elastic.shear(ZONE_PNT)
zone.work.elastic.total(ZONE_PNT)
zone.work.elastic.vol(ZONE_PNT)
zone.work.plastic.shear(ZONE_PNT)
zone.work.plastic.total(ZONE_PNT)
zone.work.plastic.vol(ZONE_PNT)

Zone Face Functions

Note that zone faces do not have their own objects, and are therefore not referenced by pointer. They are specified most often by a zone pointer and a side index, which is therefore not necessarily unique for internal faces.

zone.face.area(ZONE_PNT,INT)
zone.face.extra(ZONE_PNT,INT,INT)
zone.face.find(ZONE_PNT,INT/GP_PNT,INT/GP_PNT,INT/GP_PNT)
zone.face.find.normal(ZONE_PNT,VEC)
zone.face.gp(ZONE_PNT,INT,INT)
zone.face.group(ZONE_PNT,INT<,STR>)
zone.face.group.remove(ZONE_PNT,INT,STR)
zone.face.isgroup(ZONE_PNT,INT,STR<,STR>)
zone.face.normal(ZONE_PNT,INT<,INT>)
zone.face.pos(ZONE_PNT,INT<,INT>)
zone.face.size(ZONE_PNT,INT)

Zone Tetra Functions

Note that internal zone tetra are not available to fish as their own objects, and are therefore not referenced by pointer. They are specified most often by a zone pointer, an overlay index, and a position index.

zone.tet.gp(ZONE_PNT,INT,INT,ARR_PNT)
zone.tet.num(ZONE_PNT)
zone.tet.smallest.vol(ZONE_PNT)
zone.tet.strain.inc(ZONE_PNT,INT,INT<,INT<,INT>>)
zone.tet.strain.rate(ZONE_PNT,INT,INT<,INT<,INT>>)
zone.tet.stress(ZONE_PNT,INT,INT<,INT<,INT>>)

Zone Field Data Functions

Zone field data functions offer a way to efficiently request a scalar value from any position in the model covered by a zone. See Zone Field Data for further information and examples.

zone.field.component
zone.field.extra
zone.field.get(VEC+<,FLT>)
zone.field.get.gp(GP_PNT,ZONE_PNT)
zone.field.gravity
zone.field.hide.fluidnull
zone.field.hide.mechnull
zone.field.hide.thermnull
zone.field.index
zone.field.init
zone.field.log
zone.field.method.index
zone.field.method.name
zone.field.name
zone.field.power
zone.field.prop
zone.field.quantity
zone.field.radius.ratio
zone.field.reset
zone.field.source
zone.field.tol
zone.field.type

Zone Attach Functions

attach.create(GP_PNT,GP_PNT/ZONE_PNT<,GP_PNT/INT>)
attach.delete(ATTACH_PNT)
attach.extra(ATTACH_PNT<,INT>)
attach.find(INT)
attach.group(ATTACH_PNT<,STR>)
attach.group.remove(ATTACH_PNT,STR)
attach.id(ATTACH_PNT)
attach.list
attach.master(ATTACH_PNT<,INT>)
attach.master.face(ATTACH_PNT)
attach.master.zone(ATTACH_PNT)
attach.maxid
attach.num
attach.pos(ATTACH_PNT<,INT>)
attach.slave(ATTACH_PNT)
attach.snap(ATTACH_PNT)
attach.type(ATTACH_PNT)
attach.typeid
attach.weight.edge(ATTACH_PNT)
attach.weight.face(ATTACH_PNT)

Zone Interface Functions

interface.find(INT)
interface.head
interface.id(INTERFACE_PNT)
interface.list
interface.name(INTERFACE_PNT)
interface.next(INTERFACE_PNT)

Zone Interface Element Functions

Unlike zones and gridpoints, there is no global list of all interface elements. Instead, each interface keeps its own list of elements.

interface.elem.area(INTERFACE_ELEM_PNT)
interface.elem.extra(INTERFACE_ELEM_PNT<,INT>)
interface.elem.head(INTERFACE_PNT)
interface.elem.host.face(INTERFACE_ELEM_PNT)
interface.elem.host.zone(INTERFACE_ELEM_PNT)
interface.elem.id(INTERFACE_ELEM_PNT)
interface.elem.join(INTERFACE_ELEM_PNT,INT)
interface.elem.list(INTERFACE_PNT)
interface.elem.next(INTERFACE_ELEM_PNT)
interface.elem.normal(INTERFACE_ELEM_PNT<,INT>)
interface.elem.vertex(INTERFACE_ELEM_PNT,INT)

Zone Interface Node Functions

Unlike zones and gridpoints, there is no global list of all interface nodes. Instead, each interface keeps its own list of nodes.

interface.node.area(INTERFACE_NODE_PNT)
interface.node.disp(INTERFACE_NODE_PNT<,INT>)
interface.node.disp.shear(INTERFACE_NODE_PNT<,INT>)
interface.node.extra(INTERFACE_NODE_PNT<,INT>)
interface.node.find(INTERFACE_PNT,INT)
interface.node.head(INTERFACE_PNT)
interface.node.host.face(INTERFACE_NODE_PNT)
interface.node.host.weight(INTERFACE_NODE_PNT,INT)
interface.node.host.zone(INTERFACE_NODE_PNT)
interface.node.id(INTERFACE_NODE_PNT)
interface.node.list(INTERFACE_PNT)
interface.node.next(INTERFACE_NODE_PNT)
interface.node.normal(INTERFACE_NODE_PNT<,INT>)
interface.node.penetration(INTERFACE_NODE_PNT)
interface.node.pos(INTERFACE_NODE_PNT<,INT>)
interface.node.pp(INTERFACE_NODE_PNT)
interface.node.prop(INTERFACE_NODE_PNT,STR)
interface.node.slip(INTERFACE_NODE_PNT)
interface.node.stress.normal(INTERFACE_NODE_PNT)
interface.node.stress.normal.add(INTERFACE_NODE_PNT)
interface.node.stress.shear(INTERFACE_NODE_PNT<,INT>)
interface.node.target.face(INTERFACE_NODE_PNT)
interface.node.target.weight(INTERFACE_NODE_PNT,INT)
interface.node.target.zone(INTERFACE_NODE_PNT)
interface.node.tol(INTERFACE_NODE_PNT)
interface.node.vel(INTERFACE_NODE_PNT<,INT>)