Thanks a lot for your effort developing DWSIM as a serious alternative to otherwise very expensive process simulators.
I was trying to add solid carbon as feed in the methane reforming example (with either Gibbs or Equilibrium reactor). Carbon should be gasified according to C + H2O <> CO + H2, which was added to the default reaction set in the chemical reactions manager. The carbon.xml file that you wrote previously (downloaded from this site) was added as thermodynamic dataset.
Now, the Gibbs reactor returns "Index was outside the bounds of the array" error, whereas the Eq reactor returns "No solution found - reached a stationary point of the objective function (singular gradient matrix)".
Can you help suggesting what is the problem here?
BR klaus
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Gibbs and Equilibrium reactors won't work because the reactants are in different phases. You must use a conversion or kinetic reactor instead. Isn't this an irreversible reaction?
Regards
Daniel
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Simulators such as Chemcad and Aspen Plus handles different phases in the feed stream to a Gibbs reactor. So it should be possible to implement but will probably require some modifications to DWSIM?
The so called water-gas reaction C + H2O <> CO + H2 is reversible (+ 131 kJ/mol)
Regards, klaus
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I see. I've never found any paper/book/reference on how to enhance the gibbs reactor to handle multiple phases, though. Only vapor OR liquid phase only.
Daniel
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Since I am very interested in having this feature in DWSIM, I did some research on how ASPEN is dealing with multiphase Gibbs energy calculation in its RGIBBS reactor. As far as I understand, the Barin equations are used for that purpose in the way discussed in the following document (pages 233-236): http://www.diquima.upm.es/documentos/AspenPhysPropModelsV732-Ref.pdf
Best, Hans
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Those equations are used only to calculate the individual ideal gas gibbs energy values for each component. The Gibbs reactor model uses it too, but it is only 1% of the full model, which is much more complicated. It involves solving a linear system, lagrange coefficients, non-linear global optimization (minimizing the overall gibbs energy), and so on...
Regards
Daniel
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Yes, these are pure component Gibbs energies only. I will dig deeper into ASPEN and try to find out how the RGIBBS algorithm takes the pure component energies into account.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I've finally managed to understand and implement the multiphase model for the Gibbs reactor. The next update will have it and hopefully your simulation will work.
It wasn't easy, the Gibbs model is one of the most difficult I've faced so far... in fact, it is described in one of the last chapters of the most difficult thermodynamics book I've read: http://www.tie-tech.com/more.php?id=32_0_1_0_M13
I'll also add the Gibbs reactor to the mobile versions (Android & iOS), because I was also able to make it work without the lp_solve MILP solver, which was giving some headaches, including that "non-.NET library... please disable CPU parallel acceleration" annoying message.
Regards
Daniel
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
These are great news. Thanks a lot for your efforts and the reference to the thermodynamics book. I am looking forward to run the first solid-gas phase reactions in it.
Keep the excellent work up!
Best regards,
Hans
Last edit: Hans Eisenstein 2017-05-04
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Many thanks for the many efforts you invested into enhancing the Gibbs reactor. I did the video tutorial simulation (from Sourceforge) with DWSIM 4.3 Update 13 and found that it works very well and produces similar results.
Coming now to my solid-gaseous problem that to some point initiated your efforts:
I changed the carbon combustion sample coming with DWSIM to run with the revised Gibbs reactor version instead of the conversion reactor. My problem is that even for this simple case, I am not getting the Gibbs reactor to converge.
Do you have any ideas if it is the solid carbon component missing some critical parameters or if it is an issue with the Gibbs reactor itself?
In order for a compound to work with the Gibbs Reactor, it needs at least the following properties:
Ideal Gas Gibbs Energy of Formation at 25 C
Ideal Gas Enthalpy of Formation at 25 C
Ideal Gas Heat Capacity Curve
In the above sample, the ideal gas heat capacity curve is wrong, giving much higher values than normal. Maybe it is better to generate another carbon compound with correct data.
Daniel
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I've just checked and the current Gibbs Reactor model will converge your simulation, but only after I tune some parameters of the convergence algorithm. I'll expose these parameters to the user so you can play with them without the need for me to manually change on every update. Depending on the parameter values, some cases may converge while others may not.
I'll let you know when the update is ready.
Regards
Daniel
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Update 14 is out. Try this updated simulation where I've changed the Carbon compound with the one in the JSON file (also attached).
You'll see a new 'Misc' tab on the Gibbs Reactor editor. If you change the reactor inlet conditions and it doesn't converge anymore, try changing the Lower Limit of the damping factor (default is 0.001) and/or the Maximum Internal Iterations (default 25000). Also, good initial estimates are crucial for your reactor to converge.
It is really a good discussion. But the links are not opening. Request you to share the latest links for the benefit of everyone.
Gibbs reactor with different phases wont work is not known as in Aspen it simply works. Thanks for this update.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
In Aspen, everything works, right? Every process simulator has its own implementation. COCO is single phase only, by the way. If you have money and people, then you can do everything.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Dear Sir,
Thank you very much for the reply. I really appreciate your efforts.
May be I haven't put my point well. I am trying to say-
I am not having idea that Gibbs free reactor for multiple phases wont work. I simply used it in Aspen for coal and it worked. But you throwed insights that generally that this method is for a single phase.Thanks a lot for that.
I am trying to implement the same in DWSIM.
Further request you to share the documents once again as the link is not opening.
he mentioned about finding out how Aspen do the Gibbs free Energy minimisation using Barrin Correlation. I didnt understand that. In the reference document, physical property document of Aspen, I have seen correlation but not explanation.
Can you please make me understand.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Dear Daniel,
Thanks a lot for your effort developing DWSIM as a serious alternative to otherwise very expensive process simulators.
I was trying to add solid carbon as feed in the methane reforming example (with either Gibbs or Equilibrium reactor). Carbon should be gasified according to C + H2O <> CO + H2, which was added to the default reaction set in the chemical reactions manager. The carbon.xml file that you wrote previously (downloaded from this site) was added as thermodynamic dataset.
Now, the Gibbs reactor returns "Index was outside the bounds of the array" error, whereas the Eq reactor returns "No solution found - reached a stationary point of the objective function (singular gradient matrix)".
Can you help suggesting what is the problem here?
BR klaus
Hi Klaus,
Gibbs and Equilibrium reactors won't work because the reactants are in different phases. You must use a conversion or kinetic reactor instead. Isn't this an irreversible reaction?
Regards
Daniel
Hi Daniel,
Simulators such as Chemcad and Aspen Plus handles different phases in the feed stream to a Gibbs reactor. So it should be possible to implement but will probably require some modifications to DWSIM?
The so called water-gas reaction C + H2O <> CO + H2 is reversible (+ 131 kJ/mol)
Regards, klaus
I see. I've never found any paper/book/reference on how to enhance the gibbs reactor to handle multiple phases, though. Only vapor OR liquid phase only.
Daniel
Dear Daniel,
Since I am very interested in having this feature in DWSIM, I did some research on how ASPEN is dealing with multiphase Gibbs energy calculation in its RGIBBS reactor. As far as I understand, the Barin equations are used for that purpose in the way discussed in the following document (pages 233-236):
http://www.diquima.upm.es/documentos/AspenPhysPropModelsV732-Ref.pdf
Best, Hans
Hi Hans,
Those equations are used only to calculate the individual ideal gas gibbs energy values for each component. The Gibbs reactor model uses it too, but it is only 1% of the full model, which is much more complicated. It involves solving a linear system, lagrange coefficients, non-linear global optimization (minimizing the overall gibbs energy), and so on...
Regards
Daniel
Thanks for the prompt feedback, Daniel.
Yes, these are pure component Gibbs energies only. I will dig deeper into ASPEN and try to find out how the RGIBBS algorithm takes the pure component energies into account.
Hi Hans,
I've finally managed to understand and implement the multiphase model for the Gibbs reactor. The next update will have it and hopefully your simulation will work.
It wasn't easy, the Gibbs model is one of the most difficult I've faced so far... in fact, it is described in one of the last chapters of the most difficult thermodynamics book I've read: http://www.tie-tech.com/more.php?id=32_0_1_0_M13
I'll also add the Gibbs reactor to the mobile versions (Android & iOS), because I was also able to make it work without the lp_solve MILP solver, which was giving some headaches, including that "non-.NET library... please disable CPU parallel acceleration" annoying message.
Regards
Daniel
Dear Daniel,
These are great news. Thanks a lot for your efforts and the reference to the thermodynamics book. I am looking forward to run the first solid-gas phase reactions in it.
Keep the excellent work up!
Best regards,
Hans
Last edit: Hans Eisenstein 2017-05-04
Last edit: VISHWAS V DESHPANDE 2017-05-11
Dear Daniel,
Many thanks for the many efforts you invested into enhancing the Gibbs reactor. I did the video tutorial simulation (from Sourceforge) with DWSIM 4.3 Update 13 and found that it works very well and produces similar results.
Coming now to my solid-gaseous problem that to some point initiated your efforts:
I changed the carbon combustion sample coming with DWSIM to run with the revised Gibbs reactor version instead of the conversion reactor. My problem is that even for this simple case, I am not getting the Gibbs reactor to converge.
Do you have any ideas if it is the solid carbon component missing some critical parameters or if it is an issue with the Gibbs reactor itself?
I attached the modified sample file.
Thanks and best regards,
Hans
Hi Hans,
In order for a compound to work with the Gibbs Reactor, it needs at least the following properties:
In the above sample, the ideal gas heat capacity curve is wrong, giving much higher values than normal. Maybe it is better to generate another carbon compound with correct data.
Daniel
I've just checked and the current Gibbs Reactor model will converge your simulation, but only after I tune some parameters of the convergence algorithm. I'll expose these parameters to the user so you can play with them without the need for me to manually change on every update. Depending on the parameter values, some cases may converge while others may not.
I'll let you know when the update is ready.
Regards
Daniel
Great! Thanks a lot Daniel.
Meanwhile, I will revise the carbon component data.
Best, Hans
Hi Hans,
Update 14 is out. Try this updated simulation where I've changed the Carbon compound with the one in the JSON file (also attached).
You'll see a new 'Misc' tab on the Gibbs Reactor editor. If you change the reactor inlet conditions and it doesn't converge anymore, try changing the Lower Limit of the damping factor (default is 0.001) and/or the Maximum Internal Iterations (default 25000). Also, good initial estimates are crucial for your reactor to converge.
Regards
Daniel
Thanks a lot, Daniel!
Works perfect for me, time to get some more complicated stuff running through the Gibbs reactor.
Best regards,
Hans
It is really a good discussion. But the links are not opening. Request you to share the latest links for the benefit of everyone.
Gibbs reactor with different phases wont work is not known as in Aspen it simply works. Thanks for this update.
In Aspen, everything works, right? Every process simulator has its own implementation. COCO is single phase only, by the way. If you have money and people, then you can do everything.
Dear Sir,
Thank you very much for the reply. I really appreciate your efforts.
May be I haven't put my point well. I am trying to say-
I am not having idea that Gibbs free reactor for multiple phases wont work. I simply used it in Aspen for coal and it worked. But you throwed insights that generally that this method is for a single phase.Thanks a lot for that.
I am trying to implement the same in DWSIM.
Further request you to share the documents once again as the link is not opening.
1) http://www.tie-tech.com/more.php?id=32_0_1_0_M13
Further, in the above discussion by Mr. Hans ,
https://sourceforge.net/p/dwsim/discussion/844528/thread/46e2dbf3/?limit=25#c2b3
he mentioned about finding out how Aspen do the Gibbs free Energy minimisation using Barrin Correlation. I didnt understand that. In the reference document, physical property document of Aspen, I have seen correlation but not explanation.
Can you please make me understand.
The current Gibbs reactor implementation in DWSIM supports multiple phases. Give it a try. https://github.com/DanWBR/dwsim/blob/windows/DWSIM.UnitOperations/Reactors/Gibbs.vb#L288