Non-Dimensional Inputs#
Note
Thanks to Units, manual dimensionalization of inputs is rarely needed. In most cases, you can simply provide the dimensional value and the unit system will be inferred automatically.
Most input variables in the Flow360 Python API accept dimensional values and non-dimensionalization is automatically performed during the preprocessing.
However, there are still input variables defined using string expression that only accept non-dimensional values, such as AngleExpression, HeatFlux, etc.
In this section, we demonstrate how to compute the non-dimensional value for these input variables.
Theoretically, the reference values for non-dimensionalization can be arbitrary as long as the resulting equations are identical to the original ones, but in practice, the reference values are usually selected based on some typical parameters of problems and flow characteristics to avoid confusion. The following table shows the usage of reference values to obtain the non-dimensional input variables:
Property |
Ref. value for nondim. |
Usage in Flow360 Python API |
|---|---|---|
Density |
\(\rho_\infty\) |
|
Pressure |
\(p_\infty\) |
|
Velocity |
\(U_\text{scale}\) (reference velocity scaling) |
|
Angular speed |
\(U_\text{scale}/L_\text{gridUnit}\) where \(U_\text{scale}\) is the reference velocity scaling |
|
Temperature |
\(T_\infty\) |
|
Volumetric heat source |
\(\frac{\rho_{\infty} U_\text{scale}^3}{L_{gridUnit}}\) where \(U_\text{scale}\) is the reference velocity scaling |
|
Heat flux |
\(\rho_{\infty} U_\text{scale}^3\) where \(U_\text{scale}\) is the reference velocity scaling |
Note
All reference values can be accessed via the Python API as shown in the Reference Quantities Table.
Many input variables are non-dimensionalized with the reference velocity scaling \(U_\text{scale}\) (see Introduction). In the examples below, we assume \(U_\text{scale}\) has been computed as shown there.
Example: Convert RPM to non-dimensional rotating speed omega#
The RPM determines the angular speed, from it we can calculate the non-dimensional omega used in defining the AngleExpression.
where \(U_\text{scale}\) is the reference velocity scaling.
Assume the RPM = 800, the non-dimensional omega_radians value then becomes:
1omega = 800 * fl.u.rpm / (U_scale / project.length_unit)
2omega_radians = omega.to(fl.u.rad).value
Example: Compute non-dimensional volumetric_heat_source#
For conjugate heat transfer simulations, the non-dimensional heat sources (volumetric_heat_source) of a solid zone are found from the dimensional \(Q_s\) as:
where \(U_\text{scale}\) is the reference velocity scaling.
Assume the \(Q_s=10\;\text{W}/\text{m}^3\), the non-dimensional volumetric_heat_source value can be obtained as:
1density = operating_condition.thermal_state.density
2Q_s = 10 * fl.u.W / fl.u.m**3
3volumetric_heat_source = Q_s * project.length_unit / (density * U_scale ** 3).value
Example: Compute non-dimensional HeatFlux#
The non-dimensional heat flux for a wall boundary condition can be calculated by dividing the dimensional heat flux \(q\) by the reference value:
where \(U_\text{scale}\) is the reference velocity scaling.
Assume the \(q=10\;\text{W}/\text{m}^2\), the non-dimensional heat_flux value can be obtained as:
1density = operating_condition.thermal_state.density
2q = 10 * fl.u.W / fl.u.m**2
3heat_flux = q / (density * U_scale ** 3).value
Define the angle of attack alpha and sideslip angle beta#
According to Flow360’s definitions of the angle of attack \(\alpha\) and the sideslip angle \(\beta\), with respect to the grid coordinates, the following values of velocity components are imposed at a Freestream farfield boundary:
where, the velocity components are nondimensionalized by the reference velocity scaling \(U_\text{scale}\). The effects of these two angles are used to compute the forces in stability axes rather than body axes, \(CL\) and \(CD\), as follows:
Angle of attack \(\alpha\) and sideslip angle \(\beta\) can be expressed by readjusting the above equations in the following way: