itasca.zonearray

Array interface for FLAC zones.

Functions

itasca.zonearray.aspect() → array double{nzone}.

Return an array of the zone aspect ratio.

itasca.zonearray.condition() → array double{nzone}.

Return an array of the zone condition number. This is a general value indication how geometrically well formed the zone is. A value of 1.0 indicates a perfect zone. A value of 0.0 indicates an unusable zone.

itasca.zonearray.density() → array float{zone}.

Get a numpy array of the zone density.

itasca.zonearray.extra(slot: int) → array float{zone} or float{zone,3}.

Get the zone extra data in the given slot as an array. Extra variables accessed by array must be of type float or vec.

itasca.zonearray.face_areas() → array double{nzone,6} (3D ONLY).

Return an array of face area.

itasca.zonearray.face_extra(extra_index: int) → array double{nzone,6} in 3D or array double{nzone,4} in 2D.

Return an array of double values stored in the specified face extra. Work only with extras of double type.

itasca.zonearray.face_group(slot='Default') → array str{nzone,6} in 3D or array str{nzone,4} in 2D.

Return an array of the groups to which each face belongs.

itasca.zonearray.face_in_group(group_name: str, slot='Default') → array bool{nzone,6} in 3D or array bool{nzone,4} in 2D.

Return an array of boolean values indicating whether each face is in the specified group.

itasca.zonearray.face_normal() → array double{nzone,6,3} in 3D or array double{nzone,4,2} in 2D.

Return an array of face normals.

itasca.zonearray.face_position() → array double{nzone,6,3} in 3D or array double{nzone,4,2} in 2D.

Return an array of face positions.

itasca.zonearray.faces() → array int{nzone,6,4} in 3D and array int{nzone,4,2} in 2D.

Return an array containing the gridpoint indices of each face of each zone. Indices of -1 indicate a nonexistent face. The indicies are relative to the ordering of the itasca.gridpointarray return values.

itasca.zonearray.fill_density(data: array float{zone}) → None.

Fill an existing array with the zone density. The array must be the correct shape.

itasca.zonearray.fill_pos(data: array float{zone, 3}) → None.

Fill an existing array with the zone centroid location. The array must be the correct shape.

itasca.zonearray.flow() → array double{nzone,3} in 3D and array double{nzone,2} in 2D.

Return an array of the zone specific discharge vectors.

itasca.zonearray.fluid_prop(prop_name: str) → array double{nzone}.

Return an array of the fluid property \(prop_name\).

itasca.zonearray.gridpoints() → array int{nzone,8} in 3D and array int{nzone,4} in 2D.

Return an array containing the gridpoint indices of each zone. Indices of -1 indicate a nonexistent gridpoint. The indices are relative to the ordering of the itasca.gridpointarray return values.

itasca.zonearray.ids() → array int{zone}.

Get the zone ids as an array.

itasca.zonearray.in_group(group_name: str, slot='default') → array bool{nzone}.

Return zone group membership as a Boolean array.

itasca.zonearray.live_mechanical() → array bool{nzone}.

Return an array of True/False values, True values correspond to zones which have an active mechanical model.

itasca.zonearray.neighbors() → array int{nzone,6} in 3D and array int{nzone,4} in 2D.

Return an array containing the indices of the zone adjacent to each zone. Indices of -1 indicate nonexistent neighbor zone. The indicies are relative to the ordering of the itasca.zonearray return values.

itasca.zonearray.ortho() → array double{nzone}.

Return an array of the zone orthogonality.

itasca.zonearray.overlay_stresses() → array double{nzone,2,5,6} and array double{nzone,2,2,6} in 2D.

Get a multidimensional numpy array of the zone overlay stresses. Nonexistent tets have a stress of zero. The return value is a 4 dimentional array with sub-arrays: zone, overlay, tet (3D) or triangle (2D), stress tensor components. The tensor component ordering is xx,yy,zz,xy,yz,xz.

itasca.zonearray.planarity() → array double{nzone} (3D ONLY).

Return an array of a measure of how planar the quadrilateral faces of a zone are. A value of 0 means that all faces are perfectly planar. The greater this number, the more nonplanar the faces are.

itasca.zonearray.pos() → array float{zone,3}.

Get a numpy array of the zone centroid location.

itasca.zonearray.pp() → array double{nzone}.

Return an array of the average pore pressure.

itasca.zonearray.prop_scalar(prop_name: str, fill_value=0.0) → array double{nzone}.

Return an array of the property \(prop_name\) for each zone. Only properties of type double are supported by this function. If a property is not specified in a zone, \(fill_value\) is given for that zone. \(fill_value\) is an optional argument and defaults to zero.

itasca.zonearray.set_density(data: array float{zone}) → None.

Set the zone density from an array.

itasca.zonearray.set_extra(slot: int, data: array float{zone} or float{zone, 3}) → None.

Set the zone extra data in the given slot with an array. Extra variables set by array must be of type float or vec.

itasca.zonearray.set_face_extra(array double{npos, 6} in 3D or array double{npos, 4} in 2D, extra_index: int) → None.

Set the double values stored in the specified face extra. Work only with extras of double type.

itasca.zonearray.set_face_group(array bool{nzone, 6} in 3D or array bool{nzone, 4} in 2D, group_name: str, slot='Default') → None.

Set the groups to which each face belongs.

itasca.zonearray.set_fluid_prop(prop_name: str, data: array double{nzone}) → None.

Set the fluid property \(prop_name\) with values from an array.

itasca.zonearray.set_group(membership: array bool{nzone}, group_name: str, slot="default") → None.

Set zone group from an array. Where membership True set the corresponding zone to be a member of group group_name in the given slot.

itasca.zonearray.set_pp(array double{nzone}) → None.

Set the average pore pressure.

itasca.zonearray.set_prop_scalar(prop_name: str, array) → None.

Set the property \(prop_name\) of each zone. Only properties of type double or vec3 are supported. The input array should be shape (nzone,).

itasca.zonearray.set_stress(array double{nzone, 3, 3}) → None.

Set the zone stresses.

itasca.zonearray.set_stress_flat(array double{nzone, 6}) → None.

Set the zone stresses. Component ordering in the array should xx,yy,zz,xy,yz,xz.

itasca.zonearray.set_work_elastic_shear(array double{nzone}) → None.

Set the shear elastic work dissipated.

itasca.zonearray.set_work_elastic_vol(array double{nzone}) → None.

Set the volumetric elastic work dissipated.

itasca.zonearray.set_work_plastic_shear(array double{nzone}) → None.

Set the shear plastic work dissipated.

itasca.zonearray.set_work_plastic_vol(array double{nzone}) → None.

Set the volumetric plastic work dissipated.

itasca.zonearray.state(average: bool) → array int{nzones}.

Get the current plasticity state indicators of all zones. The argument average, if true, indicates that the state indicator will be set if 50% or more of the volume averaged tetra/triangles have that indicator. If false then the state indicator will be set if any tetra/triangles in the zone have that indicator. For more information, see \(zone.state\) FISH function.

itasca.zonearray.strain() → array double{nzone,3,3}.

Get an array containing the zone strain-increment tensor.

itasca.zonearray.strain_flat() → array double{nzone,6}.

Get an array of the zone strains. The return value is a 2D array where the component ordering is xx,yy,zz,xy,yz,xz.

itasca.zonearray.stress() → array double{nzone,3,3}.

Get an array of the zone stresses.

itasca.zonearray.stress_effective() → array double{nzone,3,3}.

Get an array of the zone effective stresses.

itasca.zonearray.stress_effective_flat() → array double{nzone,6}.

Get an array of the zone effective stresses. The return value is a 2D array where the component ordering is xx,yy,zz,xy,yz,xz.

itasca.zonearray.stress_flat() → array double{nzone,6}.

Get an array of the zone stresses. The return value is a 2D array where the component ordering is xx,yy,zz,xy,yz,xz.

itasca.zonearray.stress_max() → array double{nzone}.

Return an array of the maximum (most positive) principal value of the volume averaged tetra/triangle stress for each zone. Note that compressive stresses are negative in FLAC3D/FLAC2D.

itasca.zonearray.stress_min() → array double{nzone}.

Return an array of the minimum (most negative) principal value of the volume averaged tetra/triangle stress for each zone. Note that compressive stresses are negative in FLAC3D/FLAC2D.

itasca.zonearray.temperature() → array double{nzone}.

Return an array of the zone tempertures.

itasca.zonearray.test_quality() → array double{nzone,2} (3D ONLY).

Return an array of the measures of the zone quality, or how the zone shape may affect solution accuracy. The first value indicates a test of volume over edge length. The second value indicates a test of skew. Both return the minimum value obtained over all internal tetrahedrons. A return value of 1.0 indicates an equilateral tetra.

itasca.zonearray.volume() → array double{nzone}.

Return an array of the undeformed zone volumes (in 3D) or areas (in 2D).

itasca.zonearray.volume_deformed() → array double{nzone}.

Return an array of the deformed zone volumes (in 3D) or areas (in 2D).

itasca.zonearray.work_elastic_shear() → array double{nzone}.

Set the total elastic work dissipated.

itasca.zonearray.work_elastic_vol() → array double{nzone}.

Return an array of the volumetric elastic work dissipated.

itasca.zonearray.work_plastic_shear() → array double{nzone}.

Set the total plastic work dissipated.

itasca.zonearray.work_plastic_vol() → array double{nzone}.

Return an array of the volumetric plastic work dissipated.