Introduction

Introduction#

Non-dimensionalization is essential for the Flow360 solver to reduce the number of variables and helps to provide better understanding of the underlying physics. A non-dimensional variable is obtained by dividing its dimensional counterpart by an appropriately selected constant reference value like Eq.(8.1.1).

(8.1.1)#\[\text{non-dimensional variable} = \frac{\text{dimensional variable}}{\text{reference value}}\]

In the table below, we show some common dimensional variables used as reference in Flow360 and how to access them through Python API. Note that project is the cloud asset where you run the case, and params is the SimulationParams object defined before submitting the case. For a completed case, its SimulationParams can be accessed by case.params. More details about how to use Python API can be found here.

Table 8.1.1 Reference variables for non-dimensionalization in Flow360#

Reference Variable

Definition

SI unit

How to access in Python API

\(L_{gridUnit}\)

Physical length represented by unit length in the given mesh file, e.g. If your grid is in feet, \(L_{gridUnit}=1 \text{ feet}\)\(=0.3048 \text{ meter}\); If your grid is in millimeters, \(L_{gridUnit}=1 \text{ millimeter}\)\(=0.001 \text{ meter}\).

\(\text{m}\)

project.length_unit

\(C_\infty\)

Freestream speed of sound

\(\text{m}/\text{s}\)

case.params.operating_condition \
.thermal_state.speed_of_sound

\(\rho_\infty\)

Density of freestream

\(\text{kg}/\text{m}^3\)

case.params.operating_condition \
.thermal_state.density

\(\mu_\infty\)

Dynamic viscosity of freestream

\(\text{N} \cdot \text{s}/\text{m}^2\)

case.params.operating_condition \
.thermal_state.dynamic_viscosity

\(p_\infty\)

Static pressure of freestream

\(\text{N}/\text{m}^2\)

case.params.operating_condition \
.thermal_state.pressure

\(T_\infty\)

Temperature of freestream

\(\text{K}\)

case.params.operating_condition \
.thermal_state.temperature

\(U_\text{ref}\)

Reference velocity, \(\equiv \text{MachRef}\times C_\infty\)

\(\text{m}/\text{s}\)

case.params.operating_condition \
.velocity_magnitude

# If reference_velocity_magnitude is provided
# when defining operating_condition, use
case.params.operating_condition \
.reference_velocity_magnitude

\(A_\text{ref}\)

Reference area

\(\text{m}^2\)

case.params.reference_geometry \
.area

\(L_\text{ref}\)

Moment length

\(\text{m}\)

case.params.reference_geometry \
.moment_length

In particular, the \(L_{gridUnit}\) value is used to scale all length inputs. This allows the user to construct a mesh in any desired unit. Typical units are: meters, millimeters, feet, inches or reference chord lengths. However, care must be taken when calculating input values such as Reynolds number or rotational speed, omega, to ensure that the same solution is obtained across different mesh scales. The \(L_{gridUnit}\) values for commonly used mesh units are shown in Table 8.1.2

Table 8.1.2 \(L_{gridUnit}\) values for commonly used mesh units.#

Mesh Unit Length

\(L_{gridUnit}\)

metres [m]

1.0 m

millimetres [mm]

1 mm = 0.001 m

feet [ft]

1 ft = 0.3048 m

inches [in]

1 in = 0.0254 m

unit chords [c=1.0]

1 c_ref = (value of c_ref in metres)

For demonstration purpose, we assume grid unit \(L_{gridUnit} = 1\;\text{m}\). The operating condition is defined as \(T_\infty = 288.15\;\text{K}\), \(p_\infty = 1.225\;\text{kg}/\text{m}^3\), \(U_\text{ref} = 10\;\text{m}/\text{s}\), the inflow angle of attack \(\alpha\) = 15 °, and the side slip angle \(\beta\) = 0 °. The reference geometry is defined with \(A_\text{ref} = 1\;\text{m}^2\), \(L_\text{ref}=(1,1,1)\;\text{m}\), and moment center at \((0,0,0)\;\text{m}\). The operating condition and reference geometry are set up with AerospaceCondition and ReferenceGeometry as follows,

operating_condition = fl.AerospaceCondition(
    thermal_state=fl.ThermalState(
        density=1.225 * fl.u.kg / fl.u.m**3,
        temperature=288.15 * fl.u.K
    ),
    alpha=15 * fl.u.deg,
    beta=0 * fl.u.deg,
    velocity_magnitude=10 * fl.u.m / fl.u.s,
)
reference_geometry = fl.ReferenceGeometry(
    moment_center=(0, 0, 0) * fl.u.m,
    moment_length=(1, 1, 1) * fl.u.m,
    area=1.0 * fl.u.m**2
)

In the following sections, we will present how to use these dimensional values as reference to non-dimensionalize input variables, postprocess output variables and force & moment coefficients.