FISH Functions

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

Table 1: Zone Functions by Group

attach functions

interface.elem functions

zone.face functions

interface.node functions

zone.field functions

zone.tet functions (3D ONLY)

gp functions

zone.tri functions (2D ONLY)

interface functions

zone.thermal.analytical functions (3D ONLY)

zone functions

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.follower(ATTACH_PNT)

attach.group(ATTACH_PNT<,STR/IND>)

attach.group.remove(ATTACH_PNT,STR/IND<,STR/IND>)

attach.id(ATTACH_PNT)

attach.isgroup(ATTACH_PNT,STR/IND<,STR/IND>)

attach.leader(ATTACH_PNT<,INT>)

attach.leader.face(ATTACH_PNT)

attach.leader.zone(ATTACH_PNT)

attach.list

attach.maxid

attach.num

attach.pos(ATTACH_PNT)

attach.snap(ATTACH_PNT)

attach.type(ATTACH_PNT)

attach.typeid

attach.weight.edge(ATTACH_PNT)

attach.weight.face(ATTACH_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)(3D ONLY)

zone.face.extra(ZONE_PNT,INT,INT)

zone.face.find(ZONE_PNT,INT/GP_PNT,INT/GP_PNT,INT/GP_PNT)(FLAC3D)

zone.face.find.normal(ZONE_PNT,VEC)

zone.face.gp(ZONE_PNT,INT<,INT>)

zone.face.group(ZONE_PNT,INT<,STR/IND>)

zone.face.group.remove(ZONE_PNT,INT,STR/IND<,STR/IND>)

zone.face.isgroup(ZONE_PNT,INT,STR/IND<,STR/IND>)

zone.face.length(ZONE_PNT,INT)(2D ONLY)

zone.face.normal(ZONE_PNT,INT)

zone.face.pos(ZONE_PNT,INT)

zone.face.size(ZONE_PNT,INT)(3D ONLY)

zone.field 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.null

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.field.velocity.limit

gp functions

gp.accel(GP_PNT)

gp.biot.modulus(GP_PNT)

gp.contacts(GP_PNT)

gp.convergence(GP_PNT)

gp.copy(GP_PNT,GP_PNT)

gp.create(VEC+)

gp.delete(GP_PNT)

gp.disp(GP_PNT)

gp.disp.small(GP_PNT)

gp.dynamic.mul(GP_PNT)

gp.dynamic.timestep(GP_PNT)

gp.extra(GP_PNT<,INT>)

gp.find(INT)

gp.find.name(STR)

gp.fix(GP_PNT)

gp.flow(GP_PNT)

gp.fluid.app(GP_PNT)

gp.fluid.area.inv(GP_PNT)(2D ONLY)

gp.fluid.head(GP_PNT<,VEC>)

gp.fluid.load(GP_PNT)

gp.fluid.modulus(GP_PNT)

gp.fluid.modulus.confined(GP_PNT)

gp.fluid.porosity(GP_PNT)

gp.fluid.tension(GP_PNT)

gp.fluid.unbal(GP_PNT)

gp.fluid.vol.inv(GP_PNT)(3D ONLY)

gp.fluid.volume(GP_PNT)

gp.fluid.volume.add(GP_PNT,FLT)

gp.flux(GP_PNT)

gp.force.app(GP_PNT)

gp.force.load(GP_PNT)

gp.force.unbal(GP_PNT)

gp.force.unbal.add(GP_PNT)

gp.force.unbal.current(GP_PNT)

gp.head

gp.id(GP_PNT)

gp.list(<LIST>)

gp.mass.add(GP_PNT)

gp.mass.gravity(GP_PNT)

gp.mass.inertial(GP_PNT)

gp.maxid

gp.name(GP_PNT)

gp.near(VEC+<,STR>)

gp.near.all(VEC+)

gp.near.live(VEC+,BOOL,BOOL,BOOL,STR)

gp.next(GP_PNT)

gp.null(GP_PNT)

gp.num

gp.pos(GP_PNT)

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.system(GP_PNT)

gp.temp(GP_PNT)

gp.temp.app(GP_PNT)

gp.temp.change(GP_PNT)

gp.temp.fix(GP_PNT)

gp.temp.source(GP_PNT)

gp.typeid

gp.vel(GP_PNT)

gp.zones(GP_PNT)

interface functions

interface.find(STR)

interface.group(INTERFACE_PNT<,STR>)

interface.group.remove(INTERFACE_PNT,STR/IND<,STR/IND>)

interface.head

interface.id(INTERFACE_PNT)

interface.isgroup(INTERFACE_PNT,STR/IND<,STR/IND>)

interface.list

interface.name(INTERFACE_PNT)

interface.next(INTERFACE_PNT)

interface.elem 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)(3D ONLY)

interface.elem.extra(INTERFACE_ELEM_PNT<,INT>)

interface.elem.group(INTERFACE_ELEM_PNT<,STR>)

interface.elem.group.remove(INTERFACE_ELEM_PNT,STR/IND<,STR/IND>)

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.isgroup(INTERFACE_ELEM_PNT,STR/IND<,STR/IND>)

interface.elem.join(INTERFACE_ELEM_PNT,INT)(3D ONLY)

interface.elem.length(INTERFACE_ELEM_PNT)(2D ONLY)

interface.elem.list(INTERFACE_PNT)

interface.elem.next(INTERFACE_ELEM_PNT)

interface.elem.normal(INTERFACE_ELEM_PNT)

interface.elem.vertex(INTERFACE_ELEM_PNT,INT)

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)(3D ONLY)

interface.node.disp(INTERFACE_NODE_PNT)

interface.node.disp.shear(INTERFACE_NODE_PNT)

interface.node.extra(INTERFACE_NODE_PNT<,INT>)

interface.node.find(INTERFACE_PNT,INT)

interface.node.group(INTERFACE_NODE_PNT<,STR/IND>)

interface.node.group.remove(INTERFACE_NODE_PNT,STR/IND<,STR/IND>)

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.isgroup(INTERFACE_NODE_PNT,STR/IND<,STR/IND>)

interface.node.length(INTERFACE_NODE_PNT)(2D ONLY)

interface.node.list(INTERFACE_PNT)

interface.node.near(INTERFACE_PNT,VEC+)

interface.node.next(INTERFACE_NODE_PNT)

interface.node.normal(INTERFACE_NODE_PNT)

interface.node.penetration(INTERFACE_NODE_PNT)

interface.node.pos(INTERFACE_NODE_PNT)

interface.node.pp(INTERFACE_NODE_PNT)

interface.node.prop(INTERFACE_NODE_PNT,STR)

interface.node.slip(INTERFACE_NODE_PNT)

interface.node.state(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)

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)

zone.tet functions (3D ONLY)

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>)(3D ONLY)

zone.tet.num(ZONE_PNT)(3D ONLY)

zone.tet.smallest.vol(ZONE_PNT,INT)(3D ONLY)

zone.tet.strain.inc(ZONE_PNT<,INT><,INT>)(3D ONLY)

zone.tet.strain.rate(ZONE_PNT<,INT><,INT>)(3D ONLY)

zone.tet.stress(ZONE_PNT<,INT><,INT>)

zone.tet.vol(ZONE_PNT<,INT><,INT>)(3D ONLY)

zone.tri functions (2D ONLY)

Note that internal zone triangles 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.tri.area(ZONE_PNT<,INT><,INT>)(2D ONLY)

zone.tri.gp(ZONE_PNT<,INT><,INT>)(2D ONLY)

zone.tri.num(ZONE_PNT)(2D ONLY)

zone.tri.smallest.area(ZONE_PNT)(2D ONLY)

zone.tri.strain.inc(ZONE_PNT<,INT><,INT>)(2D ONLY)

zone.tri.strain.rate(ZONE_PNT<,INT><,INT>)(2D ONLY)

zone.tri.stress(ZONE_PNT<,INT><,INT>)

zone.thermal.analytical functions (3D ONLY)

zone.thermal.analytical.conductivity

zone.thermal.analytical.diffusivity

zone.thermal.analytical.source.component.decay(SRC_PNT,INT)

zone.thermal.analytical.source.component.fraction(SRC_PNT,INT)

zone.thermal.analytical.source.create(VEC+)

zone.thermal.analytical.source.extra(SRC_PNT<,INT>)

zone.thermal.analytical.source.find(INT)

zone.thermal.analytical.source.id(SRC_PNT)

zone.thermal.analytical.source.list

zone.thermal.analytical.source.near(VEC+)

zone.thermal.analytical.source.pos(SRC_PNT)

zone.thermal.analytical.source.strength(SRC_PNT)

zone.thermal.analytical.source.time(SRC_PNT)

zone.thermal.analytical.time

zone functions

zone.area(ZONE_PNT)(2D ONLY)

zone.area.deformed(ZONE_PNT)(2D ONLY)

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.gp(STR,LIST)

zone.create.interface.elem(ZONE_PNT,INT,STR)

zone.create.pos(STR,LIST<,FLT>)

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)

zone.fluid.density(ZONE_PNT)

zone.fluid.model(ZONE_PNT)

zone.fluid.prop(ZONE_PNT,STR)

zone.fluid.prop.index(ZONE_PNT,STR)

zone.fluid.ratio

zone.fluid.stress.normal

zone.fluid.time.total

zone.fluid.unbal.avg

zone.fluid.unbal.max

zone.flux(ZONE_PNT)

zone.force.update

zone.geom.test(ZONE_PNT)

zone.gp(ZONE_PNT<,INT>)

zone.gp.num(ZONE_PNT)

zone.group(ZONE_PNT<,STR/IND>)

zone.group.remove(ZONE_PNT,STR/IND<,STR/IND>)

zone.head

zone.hysteretic(ZONE_PNT,STR)

zone.id(ZONE_PNT)

zone.inbox(VEC,VEC,BOOL)

zone.isgroup(ZONE_PNT,STR/IND<,STR/IND>)

zone.islive(ZONE_PNT)

zone.join(ZONE_PNT,INT)

zone.list(<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.model(ZONE_PNT)

zone.model.init(ZONE_PNT)

zone.near(VEC+)

zone.near.all(VEC+)

zone.near.list(VEC3+,FLT)

zone.near.live(VEC+,BOOL,BOOL,BOOL,STR)

zone.near.map(VEC+,FLT)

zone.next(ZONE_PNT)

zone.null(ZONE_PNT<,BOOL>)

zone.num

zone.ortho(ZONE_PNT)

zone.overlays(ZONE_PNT)

zone.planarity(ZONE_PNT)(3D ONLY)

zone.plane.traction(ZONE_PNT,VEC<,ARR_PNT>)

zone.pos(ZONE_PNT)

zone.pp(ZONE_PNT)

zone.prop(ZONE_PNT,STR/INT)

zone.prop.index(ZONE_PNT,STR)

zone.rotation.inc(ZONE_PNT)

zone.rotation.rate(ZONE_PNT)

zone.state(ZONE_PNT)

zone.state.restore(ZONE_PNT)

zone.state.save(ZONE_PNT)

zone.strain.inc(ZONE_PNT)

zone.strain.rate(ZONE_PNT)

zone.strain.shear.inc(ZONE_PNT)

zone.strain.shear.rate(ZONE_PNT)

zone.strain.vol.inc(ZONE_PNT)

zone.strain.vol.rate(ZONE_PNT)

zone.stress(ZONE_PNT)

zone.stress.effective(ZONE_PNT)

zone.stress.int(ZONE_PNT)

zone.stress.max(ZONE_PNT)

zone.stress.min(ZONE_PNT)

zone.stress.prin(ZONE_PNT)

zone.temp(ZONE_PNT)

zone.test.quality(ZONE_PNT,INT)(3D ONLY)

zone.thermal.model(ZONE_PNT)

zone.thermal.prop(ZONE_PNT,STR)

zone.thermal.prop.index(ZONE_PNT,STR)

zone.thermal.ratio

zone.thermal.time.total

zone.typeid

zone.unbal

zone.vol(ZONE_PNT)(3D ONLY)

zone.vol.deformed(ZONE_PNT)(3D ONLY)

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)