Skip to content

Commit

Permalink
inputs and data from 2-D airfoil cases with the transition model
Browse files Browse the repository at this point in the history
  • Loading branch information
mbkuhn authored Oct 18, 2024
2 parents e105fad + a2e512b commit a8eb6eb
Show file tree
Hide file tree
Showing 32 changed files with 2,284,305 additions and 19 deletions.
39 changes: 34 additions & 5 deletions nalu-wind/2D_airfoils_Transition/1_NLF1-0416/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,19 @@

# NASA NLF(1)-0416

Validation and verification of the transition model were conducted for the NASA NLF(1)-0416 airfoil using Nalu-Wind with the 1-equation gamma transition model. First, a grid sensitivity study was performed using six different mesh resolutions from the AIAA CFD Transition Modeling DG[^1]. The results were compared to those from NASA’s structured flow solver, OVERFLOW[^2], and unstructured flow solver, FUN3D[^3], utilizing the same turbulence and transition models, CFD meshes, and inflow conditions. Based on these findings, a full angle-of-attack sweep was performed, with results compared to experimental data.
Validation and verification of the transition model were conducted for the NASA NLF(1)-0416 airfoil using Nalu-Wind with the 1-equation gamma transition model. First, a grid sensitivity study was performed using six different mesh resolutions from the AIAA CFD Transition Modeling DG[^1]. The results were compared to those from NASA’s structured flow solver, OVERFLOW[^2], and unstructured flow solver, FUN3D[^3], using the same turbulence and transition models, CFD meshes, and inflow conditions. Based on these results, a full angle-of-attack sweep was performed, with results compared to experimental data.

## Simulation Conditions

- Test airfoil: NASA NLF(1)-0416 airfoil with a thickness of 16%
- Flow Condition: M=0.1, Re=4million, Tu=0.15%
- U<sub>∞</sub>=34.1m/s, ρ=1.225kg/m<sup>3</sup>, µ<sub>t</sub>/µ=1
- k<sub>∞</sub>=0.00392448375, ω<sub>∞</sub>=460.35
- CFD meshes with six different resoltuions provided by AIAA CFD Transition Modeling DG[^1]
- 2-D structured C-type meshes: Tiny, Coarse, Medium, Fine, Extra, Ultra resolutions[^4]
- Turbulence / Transition model: SST-2003 with the 1-eq Gamma transition model with µt/µ=1
- Nalu-Wind version: [6155b17fa6b8914a819a492230c96f7990a97b78](https://github.com/Exawind/nalu-wind/commit/6155b17fa6b8914a819a492230c96f7990a97b78)
- Turbulence / Transition model: SST-2003 with the 1-eq Gamma transition model
- Nalu-Wind version: [f3cecafbdc05e61d0550ff41a30307425ef8197b](https://github.com/Exawind/nalu-wind/commit/f3cecafbdc05e61d0550ff41a30307425ef8197b)


## Results: Grid Sensitivity Study

Expand All @@ -24,17 +27,43 @@ Two different options for the freestream conditions are tested here:

The grid sensitivitiy results are presented for the lift and drag coefficient. In the above figure, the x axis, h, is the 1/sqrt(total number of nodes), meaning smaller values correspond to finer grids. With the Option 1, Nalu-Wind results show similar trends to the FUN3D results. It is also seen that to achieve the grid-converged trends, at least the third finest mesh resolution, ("Fine") is required. Overall, both Nalu-Wind and FUN3D show more mesh-dependence than OVERFLOW. This is attributed to the numerical shcemes of the unstructred flow solvers, which have lower order of accuracy in space compared to structured flow solvers.

Option 2, which applies a constant turbulence intensity, improves grid convergence of the lift and drag, particularly at low mesh resolutions. For more consistent and accurate predictions, Option 2 is recommended. Option 2 is activated only if fsti is explicitly specified in the Nalu-Wind input with a positive value. However, it should be noted that Option 2 is valid only for single airfoil or single turbine simulations. For internal flow or multi-turbine cases, Option 1 should be used without the sustaning terms.
There are two ways for the Option 1: specifying k and ω accounting for the decay from the far-field to the leading edge or using the sustaning terms. In the current work, due to a very large size of the outer boundary from the far-field to the wall (1,000 chord lengths), the sustaning terms are applied, which is the same way as the OVERFLOW and FUN3D simulations. In a Nalu-Wind input, the sustaning terms, sdr_amb and tke_amb, can be specified as below

- turbulence_model_constants:
- fsti: 0
- sdr_amb: 460.34999999999997
- tke_amb: 0.00392448375

If the freestream k and ω account for the decay, the sustaining terms should be zero.

Option 2, which applies a constant turbulence intensity, improves grid convergence of the lift and drag, particularly at low mesh resolutions. For more consistent and accurate predictions, Option 2 is recommended, which can be speficied in a Nalu-Wind input as follows:

- turbulence_model_constants:
- fsti: 0.15
- sdr_amb: 0.0
- tke_amb: 0.0

Option 2 is activated only if fsti is explicitly specified in the Nalu-Wind input with a positive value. However, it should be noted that Option 2 is valid only for external flows without any downwash (i.e. single airfoil or single turbine). For internal flow or multi-turbine cases, Option 1 should be used.

## Results: Angle of Attack Sweep

### Comparison of the lift and drag coefficient
<img src="figs/clcd/nlf0416_clcd.png" alt="Cf" width="1000">

Based on the grid sensitivity results, a full sweep of angles of attack was performed using the Fine mesh level. The two figures above compare the lift and drag polar with the experimental measurements[^5]. For the lift, the transition simulation slightly over-predicts the lift coefficient in the linear range of the lift curve, a similar behavior also observed in transition predictions using other transition models and other flow solvers. For the drag polar, the transition simulation predicts lower drag across the range of angles of attack than the fully turbulent simulation, capturing the trend of the experimental data very well.
Based on the grid sensitivity results, a full sweep of angles of attack was performed using the Fine mesh level. The two figures above compare the lift and drag polar with the experimental measurements[^5]. For the lift, the transition simulation slightly over-predicts the lift coefficient in the linear range of the lift curve, a similar behavior also observed in transition predictions using other transition models and other flow solvers. For the drag polar, the transition simulation predicts lower drag across the range of angles of attack than the fully turbulent simulation and better compares with the experimental data.
Specifically, the errors in the predicted drag coefficient at AoA=5° are 2.87% for the transition simulation and 57.56% for the fully turbulent simualtion.

Each case with the "Fine" mesh took approximately 40 minutes to 10,000 iterations, using 4 Picard iterations per time step, on 26 cores of NREL's Kestrel HPC cluster. The number of cores per case was not determined by Nalu-Wind’s scalability on Kestrel, but simply to accommodate 4 cases on a single node of Kestrel.

## Run Directory Contents

The run directory contains the files listed below for two angles of attack, 0° and 5° for the constant turbulence intensity option:

- Nalu-Wind input yaml file
- Nalu-Wind output log & force file
- post-processing script for the force files
- python postpro.py

## References
[^1]: https://transitionmodeling.larc.nasa.gov/
[^2]: Venkatachari, B. S., et al., "Implementation and Assessment of Menter’s Galilean-Invariant 𝛾
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
h,cl,cd
0.007604, 1.032511, 0.014603
0.005089, 1.042179, 0.010020
0.007604, 1.031296, 0.014688
0.005089, 1.041289, 0.010086
0.003824, 1.043715, 0.008719
0.002554, 1.045341, 0.007835
0.001918, 1.045591, 0.007573
0.001280, 1.045725, 0.007398
0.001280, 1.045727, 0.007398
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
h,cl,cd
0.007604, 1.010290, 0.016259
0.005089, 1.011069, 0.012503
0.007604, 1.011645, 0.016173
0.005089, 1.008843, 0.012670
0.003824, 1.008039, 0.011587
0.002554, 1.043021, 0.007961
0.001918, 1.043683, 0.007670
0.001280, 1.043787, 0.007498
0.001280, 1.043788, 0.007498
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
co1=co_list[1]

# Experiment
cl = pd.read_csv('exp_Re4M_aoa.csv',names=['aoa','cl'],header=None)
cl = pd.read_csv('exp_Re4M_aoa.csv',names=['aoa','cl'],header=None)
cdcl = pd.read_csv('exp_Re4M_polar.csv',names=['cd','cl'],header=None)

with open('nlf0416_F_rey04000000_turb.yaml', "r") as data0:
Expand All @@ -27,9 +27,9 @@
trans=yaml.safe_load(data1)


# plot the results
plt.figure(figsize=(12,4.5))
plt.subplot(1, 2, 1)
#fig = plt.figure(1)
plt.plot(cl['aoa'],cl['cl'],'ko')
plt.plot(turb['nlf0416_F']['aoa'],turb['nlf0416_F']['cl'])
plt.plot(trans['nlf0416_F']['aoa'],trans['nlf0416_F']['cl'])
Expand All @@ -38,7 +38,6 @@
plt.xlabel('Angle of Attack [deg]')
plt.ylabel('Lift coefficient, $C_{l}$')
plt.legend(['Experiment','Turbulent','Transition'])
plt.tight_layout()

plt.subplot(1, 2, 2)
plt.plot(cdcl['cd'],cdcl['cl'],'ko')
Expand All @@ -53,3 +52,23 @@
plt.savefig("nlf0416_clcd.png",dpi=300)

plt.show()


# Compute the Cd error at aoa=5
exp = pd.read_csv('exp.csv')
exp_cl = exp['cl'][0]
exp_cd = exp['cd'][0]

naoa = len(turb['nlf0416_F']['aoa'])

for i in range(naoa):
if(turb['nlf0416_F']['aoa'][i]==5):
cd_turb = turb['nlf0416_F']['cd'][i]
if(trans['nlf0416_F']['aoa'][i]==5):
cd_trans = trans['nlf0416_F']['cd'][i]

err_turb = (cd_turb - exp_cd)/exp_cd*100
err_trans = (cd_trans - exp_cd)/exp_cd*100

print("cd error - turb : %3.2f"%err_turb)
print("cd error - trans: %3.2f"%err_trans)
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
aoa,cl,cd
5.08631,1.0089,0.00761653
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
nlf0416_F:
aoa:
- 0.0
- 5.0
cd:
- 0.005647361965699194
- 0.007835185272077633
cl:
- 0.47671874849424206
- 1.045342187784817
cm:
- 0.10634663429776745
- 0.10943525439518514
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
IOSS: Input database contains 8-byte integers. Setting Ioss to use 8-byte integers.

IOSS: Using decomposition method 'RCB' for 152,064 elements on 26 mpi ranks.
Loading

0 comments on commit a8eb6eb

Please sign in to comment.