Finite Rate Chemistry Setup for Hypersonic Flow
I've tried to provide a thorough description of my problem without overloading it with detail. If anyone has specific questions I'd be glad to provide as much info as I can.
For the past several months I've been putting together a solver setup for Fluent (12.0.16) to handle external hypersonic flow. The application problems will be 2D airfoil sections, 3D wings, and possibly simplified 3D vehicles.
I've gotten reasonable results for most of the validation cases I've run, at least as far as flow features: shock types and angles look right, expansion fans, boundary layer formation, etc show up where they're supposed to. The general flowfield looks good. However, the magnitude of surface profiles are way off, such as temperature and pressure distributions being off by an order of magnitude or more.
The biggest suspect to me is the chemistry. I looked into including finite-rate reactions early on, but had a lot of trouble getting them to run properly, so I dropped them. The target simulations will be run at fairly low ambient pressures (<1,000 Pa), and toward the lower hypersonic range (M=5.0-10.0). I was hoping that the errors would be acceptable, but that doesn't seem to be the case.
So I've turned back to including the finite-rate chemistry. I can converge to a reasonable solution with species transport, everything except reactions, but the moment I turn on the reactions Fluent fails. I was hoping someone here would be able to point me in the right direction or find a flaw in my chemistry model.
The general solver and model settings I'm using are:
I've poured over the Fluent docs to make sure I'm not missing some incompatibility between these models, and worked through all the tutorials I can find that relate. I have had trouble finding a good tutorial for setting up a custom chemistry model, or a solid hypersonic tutorial, although I have seen them referenced in several places.
The chemistry model I'm using is a 5-species, 5-reaction model:
Species Transport, Volumetric Reactions, Eddy Dissipation Concept
Third Body Efficiencies (for dissociation reactions), Calculate Backward Rates
N2, O2, N, O, NO
Reactions and Arrhenius Parameters:
(A = Pre-Exponential Factor, beta = Temperature Exponent, Ea = Activation Energy)
I can attach screenshots of exactly how I've set these up in Fluent if it will help. I pulled the parameters and model from a paper I can dig up if someone wants. I pulled the reaction orders from the NIST Kinetics Database.
My grids vary; some are structured, some are unstructured. All use near-wall placement of cells to capture boundary layer effects (Y+ < 10). Some examples of the cases I've been running are:
The solution residuals will converge to 1e-6 without much trouble. General flow field and, where applicable, drag monitors also indicate convergence. When reactions are turned on, I receive the following error:
dasac failure at temperature = ...
I've seen this error pop up many times on these forums, but it never seems to get a solid reply. Hopefully I've provided enough information here for someone to point me in the right direction. This site has been a fantastic resource for sorting out problems, and I appreciate any help you can provide.
I thought I would update this for anyone else having a similar problem.
The root of the failures seems to have been the ISAT algorithm. I eventually disabled it and relied instead on direct integration, after which my simulations stopped failing. I also did a few studies on the effects of various chemistry settings (for the Eddy Dissipation Concept model), and settled on the following for my cases:
Flow Iterations/Update: 5
Volume Fraction Constant: 0.01
Time Scale Constant: 0.9
Thermal Diffusion: No
Multicomponent Diffusion: No
Stiff Chemistry Solver (from console): No
I also found that enabling backward reactions in the chemistry setup had a large impact on the solution chemistry.
After some more digging through databases, I revised the chemistry model a bit:
O2 -> O- + O-
A: 1.14 e+16 (cm^3/mol/s
Ea: 494,000 (J/mol)
N2 -> N + N
A: 3.48 e+18
NO -> N + O
A: 1.45 e+15
N2 + O -> NO + N
A: 2.41 e+14
O2 + N -> NO + O
A: 1.81 e+14
Obviously this tweaking is all problem dependent, but the key seemed to be disabling ISAT. I thought I would share since this was an especially frustrating roadblock.
What is difference between running simulation without enabling ISAT and running ISAT with DIRECT INTEGRATION ENABLED ? What is the role of aggrasiveness factor?
It's been a while since I've looked at this in detail, so if anyone spots an error feel free to correct me.
When solving for finite-rate chemistry using the eddy-dissipation concept (EDC) model, the reactions have to be integrated. This is done using direct integration (DI), ie the equations for each cell are numerically integrated. This integration is computationally expensive.
ISAT (In-Situ Adaptive Tabulation) is an algorithm which reduces the number of integrations that have to be performed. It does this via linear interpolation, and only performs direct integration when the interpolated result has too much error.
So the reaction equations are being integrated in both cases, but enabling ISAT reduces the number of total integrations required, thus speeding up the simulation. By disabling ISAT, I mean that the simulation is performing direct integrations all the time, no interpolation.
The aggressiveness factor is part of the EDC model itself; it looks like a control for the numerics of the method (robustness vs convergence). My guess would be that it is something akin to a under/over-relaxation factor, but I couldn't find any specific details on how it's integrated into the model.
Again, I had a great deal of trouble getting these simulations to run and I don't think I ever got them working quite as well as I'd like. I was reporting my results here mostly to help anyone else who stumbled into the same problem.
You should also dig into the Fluent Theory Manual and User Guide, which both discuss using ISAT (or not).
I couldnt find any information on how the aggresiveness factor is factored into the solver also but from... https://www.sharcnet.ca/Software/Flu...ies_Model.html
it states it "is a numerical factor which controls the robustness and the convergence speed. This value ranges between 0 and 1, where 0 (the default) is the most robust, but results in the slowest convergence."
I am doing similar simulations to your setup. I have a few comments and questions that I would like to ask.
1. Are you getting risidual convergence or are the results just unacceptable? If not getting residual convergence, try running it using 1st order accuracy first, then 2nd order accuracy. Or mess with courant # and relaxation values. If the results are unacceptable, specifically, what values are unacceptable?
2. Have you tried a simulation with ideal gas instead of the real gas models? I'm not sure if that would change much, but the conditions that you state are valid with the ideal gas model. from....
you can see the limits that the ideal gas model is acceptable for.
3. I would try running it without the radiation model. Again, I am not sure how this will change the results, but a simpler simulation in terms of numerical calculations might help you see where the errors are coming from. Hypersonic speeds becomes radiatively dominated approximately around 12 km/s (Mach 35+). Turning it off for M= 10 simulations will not reduce accuracy.
4. How come you change your volume fraction constant? When i look up this constant's meaning, everywhere says its 2.13777 which is its default value and shouldn't vary.
5. Did you adjust your solution control -> limits? maximum static T limit is 5000 K which is kind of low. Not sure if your simulations should exceed that Temp.
6. Did you adjust your thermal conductivity, viscosity, and mass diffusivity? The default values that are given I believe is air at 300K. They should not be constant, since they depend on the momentum, energy and mass of a particle as it travels through the gas. Anderson in "Hypersonic and High Temp Gas Dynamics" uses kinetic theory to solve for these 3 values. Mass diffusivity in FLUENT has a kinetic theory option, but the others don't. They have mixing-law options which might be a better approximation. I am still reading into which would be the best way to approach this and I will keep you updated if I find anything useful.
7. Just a minor comment, the species B.C.'s you state are for the mole fractions. The default in FLUENT is mass fractions, so make sure the "specify species in mole fractions" is checked.
Keep me updated!
you state your y+ is < 10. How close are they to 1? I am aiming mine close to 1 as thats what literature has taught me to accurately capture boundary layer.
Also, I would carefully check your Arrhenius parameters.
check this website for a compilation of experimental values.
The first values you set up were from the article "Different Levels of Air Dissociation Chemistry & Its Coupling with Flow Models" I assume, as I ran into that article and they exactly match your first inputs. The second inputs I am not sure how you are getting those values.
However, if you check the link above, you can get another set of data. They closely match the data from the article (your first inputs).
For anyone who is using reaction in their simulation, its a great resource for rate constants.
Third Body efficiencies
In the model you have suggested,
for the following reaction :
O2 -> O- + O-
A: 1.14 e+16 (cm^3/mol/s
Ea: 494,000 (J/mol)
What would be the third body efficiencies?
Thanks in advance :)
If you PM me your email address I can send you an article that states the Dunn-Kang and Park Model coefficients with 3rd body efficiencies.
|All times are GMT -4. The time now is 15:35.|