-
Notifications
You must be signed in to change notification settings - Fork 131
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)
From these inputs, quantities are non-dimensionalized as follows:
- U = {U } / { (Mach_free_stream * sqrt( gamma * R_gas * T_free_stream)}
where U is the current speed.
- dt = {dt * Mach_free_stream * sqrt( gamma * R_gas * T_free_stream) } / {L_free_stream}
- 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,
- dx = {dx} / { L_free_stream }
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
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
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. Then, 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
- Home
- User Docs
- User Tutorials
- Meshing for HiFiLES
- [(2D) Flat Plate]
- [Laminar]
- [Turbulent]
- [Local Time-stepping]
- [(2D) Laminar Circular Cylinder]
- [(2D) NACA 0012, 5° AoA, Re = 60,000, M = 1.6]
- [(2D) SD7003 airfoil, 4° AoA, Re = 22,000]
- [(3D) Method of Manufactured Solutions]
- [(3D) SD7003 wing section, 4° AoA, Re = 10,000]
- (3D) Taylor-Green Vortex, Re = 1,600
- Developer Docs
- [Code Structure]
- Building and Running with Qt Creator
- Adding files to the project
- [License]
- [Contact]
- Release Notes