Appendix: Non-Inertial Reference Frame

A non-inertial reference frame can be specified in two ways: using a file-based input or through constant parameters. The framework allows users to define the rotation axis, center, speed, and acceleration of the non-inertial frame to account for dynamic effects in computational simulations.

File-Based Specification

Non-inertial reference frame data can be provided by specifying a filename in the nonInertialReferenceFrame run control file variable. This file contains the time-dependent center of gravity, translational acceleration, and angular velocity. It does not contain a separate angular-acceleration column. An example specification is shown below.

File-based non-inertial reference frame specification in the run control file (.vars file)
  nonInertialReferenceFrame: <file=reference_frame_data.dat>

The file must contain a series of time points with corresponding values for acceleration, center of gravity, and angular velocity. The first time value must be zero. The format for each line in the file should follow this pattern:

File-based non-inertial reference frame data format
  time accel_x accel_y accel_z cg_x cg_y cg_z omega_x omega_y omega_z

Angular acceleration is derived internally from the tabulated angular-velocity history. The implementation uses a forward difference at the first time point and a backward difference thereafter.

For time-dependent input, the center-of-gravity position, translational acceleration, angular velocity, and derived angular acceleration are linearly interpolated in time before they are used by the solver. As a result, if omega changes between two tabulated time points, the solver treats that change as a ramp over that interval rather than as an instantaneous jump. If a smooth startup is important, provide enough temporal resolution in the reference-frame file to resolve the intended motion history.

Constant Parameter Specification

Alternatively, the non-inertial reference frame can be specified using constant parameters such as the rotation axis, center, speed, and linear acceleration. A summary of the required parameters is provided below.

Parameter

Description

rotAxis

The axis of rotation as a 3D vector.

rotCenter

The center of rotation as a 3D vector.

rotSpeed

The angular speed of rotation (in radians per second).

accel

The linear acceleration vector (in meters per second squared).

A sample of the constant parameter specification as it would appear in the run control file is shown below.

nonInertialReferenceFrame:
<
  rotAxis= [0.0, 1.0, 0.0],
  rotCenter= [0.0 m, 0.0 m, 0.0 m],
  rotSpeed= 0.1 rad/s,
  accel= [0.0 m/s/s, 0.0 m/s/s, -9.81 m/s/s]
>

Initial And Boundary Data In The Moving Frame

The nonInertialReferenceFrame input augments the governing equations with non-inertial source terms. It does not automatically transform user-specified initial conditions or external velocity boundary data into the moving-frame variables.

Users should therefore provide initial, inlet, and farfield velocities in the same reference frame that the solver is using. In particular:

  • If the non-inertial frame starts with a non-zero angular velocity, the initial velocity field in the solver variables should already be consistent with that frame. For an inertially stationary fluid and a purely rotating frame, this relative velocity field is of the form -omega x r.

  • If the reference-frame motion implies a time-dependent inflow or farfield velocity in the solver frame, that velocity should be supplied through the boundary-condition specification itself, for example by using time-dependent velocity boundary data.

  • The tabulated cg and accel histories should describe the same frame motion. The solver uses both, but it does not currently enforce kinematic consistency between them.

With the constant-parameter form, a non-zero rotSpeed means the calculation starts in an already rotating frame. In that case it is especially important that the initial and external velocity data be supplied consistently with that rotating frame.

Important Constraints

  • Only one specification method (either file-based or constant parameters) can be used at a time. Specifying both will result in an error.

  • For the file option, at least two time points must be provided, and the first time point must be zero.

  • For the constant parameters, rotational acceleration is assumed to be zero.