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

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
```