shear_coords

openpnm.topotools.shear_coords(network, ay=0, az=0, bx=0, bz=0, cx=0, cy=0, S=None)[source]

Shears the coordinates a given amount about along axis

Parameters
  • network (GenericNetwork) – The network whose pore coordinates should be transformed

  • ay (scalar) – The factor by which to shear along the x-axis as a function of y

  • az (scalar) – The factor by which to shear along the x-axis as a function of z

  • bx (scalar) – The factor by which to shear along the y-axis as a function of x

  • bz (scalar) – The factor by which to shear along the y-axis as a function of z

  • cx (scalar) – The factor by which to shear along the z-axis as a function of x

  • cy (scalar) – The factor by which to shear along the z-axis as a function of y

  • S (array_like) – The shear matrix. Must be a 3-by-3 matrix since pore coordinates are always in 3D. If this is given then the other individual arguments are ignored.

See also

rotate_coords

Notes

The shear along the i th -axis is given as i* = i + aj. This means the new i coordinate is the old one plus some linear factor a in the j th direction.

The values of a, b, and c are essentially the inverse of the slope to be formed by the neighboring layers of sheared pores. A value of 0 means no shear, and neighboring points are stacked directly on top of each other; a value of 1 means they form a 45 degree diagonal, and so on.

If S is given, then is should be of the form:

S = [[1 , ay, az],
     [bx, 1 , bz],
     [cx, cy, 1 ]]

where any of the off-diagonal components can be 0