Open plaad opened 1 month ago
Bumping this thread again to add additional context: to add mechanisms, one just needs to provide an arbitrary reaction list for a given mechanism to the run directory, correct? Given the species are defined independently, I would suspect this to not be an issue with any new gas models I would make.
However, given the first message above, I generally would like to confirm if my suggestions above are enough to include a new gas model for compatibility with the code and the associated prep-gas, prep-chem routines, and how to properly add the mass diffusion aspect for the example 1 step mechanism given above. I tried to see if there was a developer's document with regards to this but could not find anything which can explain the procedure to add such a model as a new option.
Let me digest this a little. If your rate of progress is Arrhenius governed, then perhaps we can introduce your new species but re-use the kinetics infrastructure that handles Arrhenius type reactions. I'll need a day or two to study the paper you attached.
Thanks for getting back to me and no problem. It appears Oran and others have used this kind of approach to model different mixtures so being able to adjust the Arrhenius params and heat release explicitly for a model like this would be handy. Here is the link to the full paper: https://www.sciencedirect.com/science/article/pii/S0010218009003447
I've looked at this in a bit more detail. The modelling challenge is that the Poludnenko-Oran gas mixture has ideal thermal behaviour like the Powers-Aslam gas, BUT it has temperature-dependent transport properties. In terms of our Eilmer toolkit, this gas model lands it in a divide between our general purpose composite gas (with temperature-dependent properties) and our toy ideal A-B gas (a la Powers-Aslam).
My initial reaction was to shoe-horn the Polunenko-Oran gas into our thermally perfect gas mixture, but just set coefficients on thermo curves such that the ideal thermal behaviour is captured. I now think this is the wrong way to go.
My suggestion is to just focus on thermal/kinetic behaviour at the moment. You should be able to get the correct gas properties by adjusting user-level parameters in the IdealAB gas file. For the kinetic behaviour, I suggest some direct modification to lines of source code. Specifically: adjust the method opCall and eval_source_terms in gdtk/src/kinetics/powers_aslam_kinetics.d (and re-compile, re-install). Be careful with units for rates of change. You'll need to line up the description in the Powers-Aslam paper (reference at the top of that source file) with the rates of change in the Poludnenko-Oran paper.
If that's successful, then we can think about extending the A-B gas with some other transport properties. Also, if successful, we can formalise this different kinetic model in the A-B gas as a configurable option.
Sure, I will try to work this out and let you know how it goes. Thanks for the direction; I will update this thread as I go.
Hi all,
I have been working to add a new chemical model to Eilmer and would like to confirm some things:
1) I was able to add species as mentioned in the README.rst in the src/gas/species-database dir so this is fine.
2) Moving onto the model, I would like to make a new 1-step, irreversible A->B mechanism quite similar to the existing Powers-Aslam (ideal_gas_ab model.d) but with slightly different parameters (gamma, Ea, q, A) where an Arrhenius rate is followed instead of the progress variable approach (as per the Table 1 in this PDF). Thus, if I modify a copy of this ab model, I can make changes.
To match the paper and add the viscosity and thermal conductivity transport properties, I would modify:
Q.mu = 0.0; -> Q.mu = 1.47e-5(pow(Q.T, 0.7))/Q.rho Q.k = 0.0; -> Q.k = 2.54e-5(pow(Q.T, 0.7))/Q.rho
to match the expressions given in Equation 6 in the PDF in terms of the state variables. However, for the mass diffusion, how would I go about adding this temperature dependence? Is there a similar option to define this from the state? Else, how would I add a new diffusion model to account for this simple temperature dependence as given in Equation 11?
3) I also understand I would need to write a separate kinetics d routine to add my reaction rate/Arrhenius form and also set the parameters to be used in the lua input deck for the model such as the powers_aslam_kinetics.d routine which defined the input deck for the model:
IdealGasAB = { R = 287, gamma = 6/5, q = 300000, alpha = 1000, Ti = 362.58 }
It seems there's already an Arrhenius model setup in the rate_constant.d routine; how would I use/specify this in my new files so that one of my model parameters can prescribe the values of A, Ea, etc?
Namely, can you walk me through how, once I make my class and kinetics routine for the new model, I would actually facilitate this as a new option within the code?
It seems to be straightforward, but I am not fully sure of the auxiliary files/options I must modify to enable a new model to be added upon recompilation so any guidance would be appreciated. Thank you.
poludnenko2010-3.pdf
Ref.: Poludnenko and Oran, Combustion and Flame, 2010