Add nox generation in combustion#904
Conversation
add parameter for NO creation ratio
adjust oxygen residuals for nitrogen shortage case fix wrong sign in nitrogen residuals rearrange code
fix wrong nitrogen residual
|
Hi @HaSchneider, thank you very much for bringing this up, very cool addition! I will review it in the next weeks :) |
|
The open todos are now:
|
|
Thank you for the additions, I will add one more test and then everything looks good! Update @HaSchneider: Test fails, I guess I did something wrong or there is maybe a typo in the stoichiometry formulation? I'll have a look in the coming days. If you see it before me feel free to post it here :) |
|
I fixed one sign error in the stoichiometry formulation. The test_CombustionChamberNO seems to work now. But there are other tests which fail. It seems to have something to do with the exergy calculation, but two of the tests not even use a combustion component. |
Thank you. The other two tests are related to a different issue with API incompatibility of the new |
This pull request implements optional NO creation in combustion component. When the f_nox parameter is set, NO is created in the combustion, as long as enough oxygen and nitrogen is available. f_nox is the ratio of mass flow of created NO in relation to the fuel mass flow.
But there are still some issues...
Issues:
coolprop does not have NO fluid implemented
combustion component does not allow other fluid property engines than coolprop. I solved that as described in Not possible to use other fluid property engines than coolprop in combustion component #887.
Pyromat wrapper can be used instead, but:
I solved that in the example by creating my own pyromat wrapper with the needed values and by adding a dummy NO flow in the inputs with the corresponding pyromat wrapper as fluid property engine. I think it would be better if this can be done automaticaly in the combustion component, but I have no idea how.
following components might fail, due to missing fluid properties in the pyromat wrapper engine. This is demonstrated in the test_CombustionChamber_NO. I think this cant be solved proper as long as pyromat does not contain all needed properties and coolprop does not contain NO. So missing properties must be added manualy to the pyromat wrapper.
Example
{'CO2': 0.03923764451245059, 'Ar': 0.012711828022584415, 'H2': 0.0, 'N2': 0.7442833087203439, 'NO': 1.8229232332386296e-06, 'O2': 0.17101940248021757, 'H2O': 0.03274599334117038, 'CH4': 0.0}