New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Equilibrium state-model hangs when computing temperature #76
Comments
Hi @jbvos, can you provide the exact input to the setState() function that is causing it to hang? That way, I can try to reproduce the problem. |
This is the print statement in the fortan program:
This is for the first block rho= 7485 0.510484261795E-03 0.977054025998E+04 This is for the 2nd block and here it hangs rho= 7485 0.510671756357E-03 0.973033904733E+04 |
Can you please explain how the pressure and temperature are computed/used here? They are unchanged between between the two calls. |
I just print them for info, they are from the previous time step. The way I compute them:
I played around with relaxation: This helps a little, but not much |
I have to leave in about 5 minutes, but I will check again this evening |
OK, no problem. I will not have a chance to get into this tonight, but I just wanted to get a few details to help when I have time to take a look. |
Hi @jbvos, I have tried to reproduce your problem with no success. Can you please specify exactly which state model name you are using and the value of |
To be more specific, here is the test case I have tried MixtureOptions opts;
opts.setSpeciesDescriptor("N O NO N2 O2");
opts.setStateModel("Equil");
Mixture mix(opts);
double rho = 0.510671756357E-03;
double rhoe = 0.973033904733E+04;
mix.setState(&rho, &rhoe);
std::cout << mix.T() << '\n';
std::cout << mix.P() << '\n'; This gives T = 5301.53 K and P = 1280.28 Pa. |
I am not surprised, I tried to do the same but then it works. I was wondering whether there is an accumulation of errors or a problem with an overwrite. I use the Statemodel air5, impp equals zero. |
air5 should be the mixture name, I was wondering what you chose as the state model name. It should be either Equil or EquilTP. If its EquilTP, then it could explain the problem... |
Equil |
Hi @jbvos, I still have not been able to reproduce the problem. Do you think you could provide the state that you set just before the one before it hangs on? In other words, it looks like you are printing only for cell 7485, but can you also provide 7484? Until I can reproduce the problem, it is not really possible to debug. Thanks. |
I know, I tried to isolate the problem too, but did not manage. I am traveling this week, but I will try to see what I can do this evening. M++ error: invalid input. (I used the gsi files we used from Ablacat) Thanks for all you help |
@grgbellasvki, can you take a look at the last comment by @jbvos? Thanks. |
Considering the gsi problems there are two things:
Feel free to send me your GSI file and I will update it to the new format. |
Ok, thanks, please let me know exactly which version of Mutation++ I need to have/download. I also attach the different gsi files we used in Ablacat. I use the fortran wrapper. Many thanks for your help |
I am for a few hours in my office, and I printed the input for a few other points in the grid: rho= 7480 0.456073574855E-03 0.617581118526E+04 The interesting thing is that the state when it hangs is not far from the state at other points for which it does not hang. Is there an option to print debug info from mutation++ so that you get a better idea what is going on? I have to travel again, back on Thursday so I am probably not very reactive |
The latest version of Mutation++ should work fine. Note, that the fortran wrapper has a few functions slightly changed (mainly name). Can you please send me the single gsi file you want to use? I cannot modify all of them. |
I attach one of the gsi files. For steady state pyrolysis, I think we never used it, but I need to check Thanks a lot for your help |
Hi @jbvos, I was wondering if there is any updates to this issue? I'm not sure if you have tried using the latest version of the library and still are having problems. If everything is working, I will close this issue. |
I just downloaded the latest version of Mutation++ and I will try it out. I will come back to you |
Dear James I downloaded and compiled the new Mutation++ version, but get problems with linking: undefined reference to Have these routines been changed, or are they absent in the Fortran version? |
Hi @jbvos, I think these functions were renamed a while back when the GSI branch was more fully supported. If you replace |
Thanks, this worked. I will now go to the testing |
It took some time. I had to copy the gsi data directory of an older distribution to the new one, and then I ran probably into another compatibility issue: M++ error: error parsing file. The gsi_oxi.xml states:
|
@grgbellasvki can you help here please? |
The final format for the GSI file for carbon oxidation is shown below:
Additional examples can be found in "mutation++/tests/data/gsi/". For the simulations, please pay attention to the option solid_conduction to whether "none" or "steady_state" is more physical for your testcase. Let me know if you have any other issues. |
I took the file you provided:
but when trying to run it I get the message: M++ error: logic error. So I do something wrong. Is there a conversion program which converts the GSI files we used during the Ablacat project to the new format? Many thanks |
Unfortunately no, but the changes are very simple. Most of the xml elements are completely unchanged, the only thing different is the overall structure of the file, which is more consistent with the current structure of the code. It seems the comments here remove the parent xml element so I attach the whole files. If no (only mass is solved): In the latter case you cannot call function: |
This was helpful many thanks. The code started to run the case using both the smb_carbon_oxidation_park and seb_carbon_oxidation_park files |
Air_P250_T280_Tw2747.zip Sorry, it took some time but the calculations are rather long. I attach 2 results from GSI cases of the Ablacat project, one with imposed wall temperature, in the other one the temperature at the wall comes from the GSI calculation. From the CFD solver, the only modification compared to the old M++ version is the change from: call mpp_set_wall_state(rhoi,twl,1) to call mpp_set_surface_state(rhoi,twl,1) The zipped files contain both the stagnation and wall values of different variables The good thing is that both calculation ran. The calculation with imposed wall temperature (and using smb_carbon_oxidation_park.xml) is not too bad, although there are surprises on the wall around x=0.01, not clear what is happening there. The calculation in which the wall temperature comes from the GSI routines pose more problems. I also attach the routine from which I compute the ablation Any help is appreciated. Note that in the Ablacat project we also computed with Asterm, I do hope that this is still possible Many thanks |
We coupled the Mutation++ equilibrium solver to a CFD solver. We try to make a calculation for 5 species air, start from free stream conditions, but the solver hangs in the 2nd step when sending the state to Mutation++. In addition there is the issue of error messages in EquilStateModel.cpp (around line 112) , it fills the disk. I also added a break to quit the iteration loop if it is not converging.
The same happens when we start from a perfect gas solution.
The text was updated successfully, but these errors were encountered: