NACA Regression Tests
Let's test some of the ProjectX solvers for the case of a NACA0012 airfoil in compressible, inviscid flow.
Each test case starts with an initial primal solution (sample x-momentum shown below). After reading the input, ProjectX runs a particular test case. Subsequently, all numerical data stored in the history (.hist) files are compared with a "true" history file.
In some cases, the solvers are also run in parallel using MPI and compared with the solvers run in serial. The drag and lift coefficients along with residual convergence are given.
For more information, please consult the .job and .hist files located in the corner of each panel.
- Common flow parameters:
- Equation set: Compressible 2D Euler
- Freestream Mach number: M ∞ = 0.5
- Angle of attack: α = 0 °
- Total pressure: Pt =
- Total temperature: Tt =
- Static temperature:
- CFL: 1030
- Common solver parameters:
- Preconditioning:
- Outer GMRES iterations (no. restarts): 20
- Inner GMRES iterations (no. Krylov vectors): 200
- Solution order: 2
- PSequencing: False
- Preconditioning:
Linear solver tests:
Listed below are the tolerances for the relevant data compared in the history files:
- Solution update fraction: 0.1
- Residaul norm: 10-10
- Drag coefficient: 10-12
- Lift coefficient: 10-12
- Nonlinear solver:
- Newton
- Linear solver:
- Proconditioner: Block Jacobi
- Side: Left
- Serial results:
- Residual norm converges to 4.3571·10-13 after 5 iterations
- Drag coefficient: CD = .5318 counts
- Lift coefficient: CL = .9638 counts
- Nonlinear solver:
- Newton
- Linear solver:
- Preconditioner: Block Jacobi
- Side: Right
- Results:
- Residual norm converges to 4.3532·10-13 after 5 iterations
- Drag coefficient: CD = .5318 counts
- Lift coefficient: CL = .9638 counts
- Nonlinear solver:
- Newton
- Linear solver:
- Preconditioner: Incomplete LU (0)
- Reordering type: Minimum discarded fill
- Side: Left
- Serial results:
- Residual norm converges to 4.3566·10-13 after 5 iterations
- Drag coefficient: CD = .5318 counts
- Lift coefficient: CL = .9638 counts
- Parallel results:
- Residual norm converges to 4.3501·10-13 after 5 iterations
- Drag coefficient: CD = .5318 counts
- Lift coefficient: CL = .9638 counts
- Nonlinear solver:
- Newton
- Linear solver:
- Preconditioner:Threshold-based Incomplete LU (ILUT)
- Reordering type: Minimum discarded fill
- Side: Right
- Drop threshold: 10-3
- Serial results:
- Residual norm converges to 4.3538·10-13 after 5 iterations
- Drag coefficient: CD = .5318 counts
- Lift coefficient: CL = .9638 counts
- Parallel results:
- Residual norm converges to 4.3539·10-13 after 5 iterations
- Drag coefficient: CD = .5318 counts
- Lift coefficient: CL = .9638 counts
- Nonlinear solver:
- Newton
- Linear solver:
- Incomplete LU (0) (left) preconditioner
- Reordering type: Minimum discarded fill
- Side: Right
- P = 0 linear multigrid for coarse correction
- Incomplete LU (0) (left) preconditioner
- Serial results:
- Residual norm converges to 3.8091·10-13 after 5 iterations
- Drag coefficient: CD = .5318 counts
- Lift coefficient: CL = .9638 counts
- Parallel results:
- Residual norm converges to 4.3501·10-13 after 5 iterations
- Drag coefficient: CD = .5318 counts
- Lift coefficient: CL = .9638 counts
- Nonlinear solver:
- Newton
- Linear solver:
- Preconditioner: Incomplete LU (ILU)
- Parallel preconditioner: Additive Schwarz Method (ASM)
- Side: Right
- Reordering type: Minimum discarded fill
- Outer GMRES iterations: 2
- Inner GMRES iterations: 20
- Parallel results (without multigrid):
- Residual norm converges to 4.3736·10-13 after 5 iterations
- Drag coefficient: CD = .5318 counts
- Lift coefficient: CL = .9638 counts
- Parallel results (with multigrid):
- Residual norm converges to 3.8106·10-13 after 5 iterations
- Drag coefficient: CD = .5318 counts
- Lift coefficient: CL = .9638 counts
- Nonlinear solver:
- Newton
- Linear solver:
- Preconditioner: Threshold-based Incomplete LU
- Side: Right
- Reordering type: Minimum discarded fill
- Serial results:
- Residual norm converges to 4.3559·10-13 after 5 iterations
- Drag coefficient: CD = .5318 counts
- Lift coefficient: CL = .9638 counts
- Parallel results:
- Residual norm converges to 4.3506·10-13 after 5 iterations
- Drag coefficient: CD = .5318 counts
- Lift coefficient: CL = .9638 counts
- Nonlinear solver:
- Lean Jacobi
- Linear solver:
- Preconditioner: None
- Serial results:
- Residual norm converges to 4.7345·10-4 after 200 iterations
- Drag coefficient: CD = .5098 counts
- Lift coefficient: CL = .9478 counts
- Parallel results:
- Residual norm converges to 4.7345·10-4 after 200 iterations
- Drag coefficient: CD = .5098 counts
- Lift coefficient: CL = .9478 counts
- Nonlinear solver:
- Newton
- Linear solver:
- Preconditioner: Threshold-based Incomplete LU
- Side: Left
- Reordering type: Minimum discarded fill
- Serial results:
- Residual norm converges to 5.6482·10-14 after 38 iterations
- Drag coefficient: CD = .5319 counts
- Lift coefficient: CL = .9653 counts
Adjoint solver tests:
Listed below are the tolerances for the relevant data compared in the history files:
- Adjoint residual: 10-12
For the primal solution, please refer to the Newton-ILU case above.
- Adjoint parameters:
- Adjoint solution computed using drag as output
- Sensitivity parameter: Angle of attack
- Forward sensitivities are computed (i.e. d(Drag)/dα with a tangent linearization)
- Serial results:
- Adjoint residual norm converges to 1.8574·10-15 after 2 iterations
- dCD/dα (forward sensitivity): 1.6544·10-3
- dCD/dα (adjoint): 1.6544·10-3


