Non dimensionalization - HiFiLES/HiFiLES-solver GitHub Wiki
Input quantities and their relationship to non-dimensionalization
HiFiLES uses the standard non-dimensionalization conventions. Italics implies the variable is non-dimensional, bold implies the variable is a physical, dimensional quantity.
The following quantities are specified in the input file:
- dt -- time-step (non-dimensional)
- gamma -- ratio of specific heats of the fluid (non-dimensional)
- prandtl -- Prandtl number (non-dimensional)
- S_gas -- Sutherland temperature from Sutherland's law (dimensional, should be consistent with T_gas)
- T_gas -- temperature used in Sutherland's law (dimensional, should be consistent with S_gas)
- R_gas -- gas constant (dimensional, should be consistent with T_gas and S_gas)
- mu_gas -- dynamic viscosity (dimensional)
- Mach_free_stream -- mach number (non-dimensional)
- Re_free_stream -- Reynolds number (non-dimensional)
- L_free_stream -- reference length (dimensional)
- T_free_stream -- temperature of the fluid in the free stream (dimensional)
Non-dimensional computed quantities
From these inputs, quantities are non-dimensionalized as follows:
Speed
- U = {U } / { (Mach_free_stream * sqrt( gamma * R_gas * T_free_stream)}
where U is the current speed.
Time
- dt = {dt * Mach_free_stream * sqrt( gamma * R_gas * T_free_stream) } / {L_free_stream}
Pressure
- p = {p } / { rho_ref * u_ref^2}
where density, rho_ref, comes from the definition of the Reynolds number
- rho_ref = {mu_gas * Re_free_stream } / {Mach_free_stream * sqrt(gamma * R_gas * T_free_stream) * L_free_stream }
and speed, u_ref, comes from the definition of the Mach number
- u_ref = Mach_free_stream * sqrt(gamma * R_gas * T_free_stream)
As a result,
Length
- dx = {dx} / { L_free_stream }
Interpreting the time and quantities output by HiFiLES and the mesh dimensions
To transform non-dimensional time-step dt to a time step in real time dt , use this formula:
- dt = {dt * L_free_stream} / {Mach_free_stream * sqrt(gamma * R_gas * T_free_stream)}$
To transform the non-dimensionalized length dx of the mesh to real dimensions dx, use this formula:
- dx = dx * L_free_stream
Examples
Example 1
Suppose you want to simulate flow past a circular cylinder with diameter dx = 2 meters. However, in the mesh the diameter is dx = 0.1 . Then, set L_free_stream = {dx} / {dx} = {2 meters} / {0.1} = 20 meters
Example 2
Suppose you are using a time-step in the input file of dt = 0.01. Suppose L_free_stream = 2 meters, Mach_free_stream = 0.3, gamma = 1.4, R_gas = 286.9 Joules/(Kg*Kelvin), T_free_stream = 300 Kelvin.
Suppose the simulation ran for 1e6 time-steps, to calculate the total simulation time, you would calculate the real time-step and multiply by the number of time-steps. From the definition of dt above,
dt = {0.01 * (2 meters)} / {0.3 * sqrt(1.4 * (286.9 Joules/(Kg*Kelvin)) * (300 Kelvin) )} = 1.92052e-4 seconds
and the total simulation time was
t = number_of_timesteps * dt = 1e6 * 1.92052e-4 seconds = 1.92052e2 seconds