BasisXYZ

class PlasmaCalcs.tools.xarray_tools.xarray_vectors.BasisXYZ(XYZ)

Bases: object

simple class to hold X, Y, Z component details.

(Assumed to be immutable after creation)
XYZ: list-like with length 3
iterable containing [X, Y, Z] component labels.
Instances of this class provide attributes:
X: x component label
Y: y component label
Z: z component label
XHAT: x unit vector, as a DataArray of [1,0,0] with ‘component’ values XYZ
YHAT: y unit vector, as a DataArray of [0,1,0] with ‘component’ values XYZ
ZHAT: z unit vector, as a DataArray of [0,0,1] with ‘component’ values XYZ
YZ_FROM_X: dict telling (y,z) given x, for right-handed coord system x,y,z
(internally here: {X:(Y,Z), Y:(Z,X), Z:(X,Y)})

Methods

get(x)

return proper component label (i.e. from self.XYZ) given x.

get_hat(x)

return self.XHAT, self.YHAT, or self.ZHAT depending on str(self.get(x)).

get(x)

return proper component label (i.e. from self.XYZ) given x.

This is the first match from XYZ which equals x. Crash if no match.
get_hat(x)

return self.XHAT, self.YHAT, or self.ZHAT depending on str(self.get(x)).