orbithunter.AntisymmetricOrbitKS.rotate¶
-
AntisymmetricOrbitKS.
rotate
(distance, axis=0, units='plotting')¶ Rotate the velocity field in either space or time.
- Parameters
- distancefloat
The rotation / translation amount, in dimensionless units of time or space.
- axisint
The axis of the ndarray (state) that rotations
- unitsstr
Determines the spatial units of the provided rotation
- Returns
- OrbitKS :
OrbitKS whose field has been rotated.
Notes
Due to periodic boundary conditions, translation is equivalent to rotation on a fundamental level here. Hence the use of ‘distance’ instead of ‘angle’. This can be negative. Also due to the periodic boundary conditions, a distance equaling the entire domain length is equivalent to no rotation. I.e. the rotation is always modulo L or modulo T.
The orbit only remains a converged solution if rotations coincide with collocation points. i.e. multiples of L / M and T / N. The reason for this is because arbitrary rotations require interpolation of the field.
Rotation breaks discrete symmetry and destroys the solution. Users encouraged to change to OrbitKS first.