Follow

# How to convert to and from a rotating reference system

How do I convert between rotational (relative) and fixed (absolute) velocities?

FIX_TO_ROT

Procedure to convert a velocity vector from a fixed frame of
reference to a rotating frame of reference.

Given:

1. velocity vector in fixed frame of reference, VF(x,y,z)
2. axis of rotation (must be parallel to x, y, or z model axis,
offset from origin permitted)
3. rotational speed of rotating frame in radians per time unit,
consistent with time units in velocity variable, OMEGA
4. offset (Xo, Yo, Zo) of axis from coordinate axes

Steps for rotation about axis parallel to the model z-axis,
offset by (Xo, Yo)

For every node/element:

1. compute radius, R = sqrt ( ( X - Xo )^2 + ( Y - Yo)^2 )
2. compute sine of angle, SINT = ( Y - Yo ) / R
3. compute cosine of angle, COST = ( X - Xo ) / R
4. compute components of velocity in rotating frame, VR(x,y,z):

VR[X] = VF[X] + OMEGA * R * SINT
VR[Y] = VF[Y] - OMEGA * R * COST
VR[Z] = VF[Z]

Steps for rotation about axis parallel to the model x-axis,
offset by (Yo, Zo)

For every node/element:

1. compute radius, R = sqrt ( ( Y - Yo )^2 + ( Z - Zo)^2 )
2. compute sine of angle, SINT = ( Z - Zo ) / R
3. compute cosine of angle, COST = ( Y - Yo ) / R
4. compute components of velocity in rotating frame, VR(x,y,z):

VR[X] = VF[X]
VR[Y] = VF[Y] + OMEGA * R * SINT
VR[Z] = VF[Z] - OMEGA * R * COST

Steps for rotation about axis parallel to the model y-axis,
offset by (Xo, Zo)

For every node/element:

1. compute radius, R = sqrt ( ( X - Xo )^2 + ( Z - Zo)^2 )
2. compute sine of angle, SINT = ( X - Xo ) / R
3. compute cosine of angle, COST = ( Z - Zo ) / R
4. compute components of velocity in rotating frame, VR(x,y,z):

VR[X] = VF[X] - OMEGA * R * COST
VR[Y] = VF[Y]
VR[Z] = VF[Z] + OMEGA * R * SINT

ROT_TO_FIX

Procedure to convert a velocity vector from a rotating frame of
reference to a fixed frame of reference.

(differs from FIX_TO_ROT only in sign of OMEGA term)

Given:

1. velocity vector in rotating frame of reference, VR(x,y,z)
2. axis of rotation (must be parallel to x, y, or z model axis,
offset from origin permitted)
3. rotational speed of rotating frame in radians per time unit,
consistent with time units in velocity variable, OMEGA
4. offset (Xo, Yo, Zo) of axis from coordinate axes

Steps for rotation about axis parallel to the model z-axis,
offset by (Xo, Yo)

For every node/element:

1. compute radius, R = sqrt ( ( X - Xo )^2 + ( Y - Yo)^2 )
2. compute sine of angle, SINT = ( Y - Yo ) / R
3. compute cosine of angle, COST = ( X - Xo ) / R
4. compute components of velocity in fixed frame, VF(x,y,z):

VF[X] = VR[X] - OMEGA * R * SINT
VF[Y] = VR[Y] + OMEGA * R * COST
VF[Z] = VR[Z]

Steps for rotation about axis parallel to the model x-axis,
offset by (Yo, Zo)

For every node/element:

1. compute radius, R = sqrt ( ( Y - Yo )^2 + ( Z - Zo)^2 )
2. compute sine of angle, SINT = ( Z - Zo ) / R
3. compute cosine of angle, COST = ( Y - Yo ) / R
4. compute components of velocity in fixed frame, VF(x,y,z):

VF[X] = VR[X]
VF[Y] = VR[Y] - OMEGA * R * SINT
VF[Z] = VR[Z] + OMEGA * R * COST

Steps for rotation about axis parallel to the model y-axis,
offset by (Xo, Zo)

For every node/element:

1. compute radius, R = sqrt ( ( X - Xo )^2 + ( Z - Zo)^2 )
2. compute sine of angle, SINT = ( X - Xo ) / R
3. compute cosine of angle, COST = ( Z - Zo ) / R
4. compute components of velocity in fixed frame, VF(x,y,z):

VF[X] = VR[X] + OMEGA * R * COST
VF[Y] = VR[Y]
VF[Z] = VR[Z] - OMEGA * R * SINT