Discussion Closed This discussion was created more than 6 months ago and has been closed. To start a new discussion with a link back to this one, click here.

Optimization of the minimum deviation from measured steady state conversions by adjusting kinetic rates in a microreactor for several different inlet flow rates

Please login with a confirmed email address before reporting spam

I have correctly assembled the model physics and have a working COMSOL model for the conversion of a certain species. This model does not incorporate any optimization. It is necessary to use optimization rather than a parameter swipe since there are six independent rate constants.

I built the four available demos from COMSOL regarding optimization (model library). The closest optimization example available was for 1D heat transfer into a wall (Called MATERIAL PROPERTY FITTING) in which the inner temperature was measured; similarly to my measurement of the outlet concentration from my microreactor. The experts at COMSOL used optimization to find the thermal conductivity and heat capacity of the wall material in order to match the dynamic (unsteady state) inner wall temperature which was measured. That is very similar to finding the rate constants in my 2D rectangular cross-section of the microreactor channel...

In my physical system, I vary the flow rate into the microchannel and measure the resulting change in concentration at steady state. So I have n-steady state problems for each change in the inlet velocity (flow rate). This very frequently occurs in real ChE applications...

I do not need thermal conductivity and heat capacity but rather need six rate constants to be varied during the optimization. I think I can do this (I think since I am not sure that the answer is actually right yet) for one velocity. Those rate constants will be unsatisfactory if I change the inlet velocity since with six independent variables there is a wide number of degrees of freedom for possible "physically inaccurate solutions."

A question is then:
How do I get the optimization module to understand that I have several steady state runs for which I want it to optimize the six rate constants with respect to minimums in deviation from the measured outlet concentration as a function of the inlet velocity? There must be a feature which allows this somehow in the interface? It would be labor intensive to build the optimization solver myself...I would much rather use COMSOL since I have always been very pleased with its versatility and adaptability in the past. There must be a way to fit reaction kinetics for situations outside of ideal models like CSTR, PFR and BRs...If not, a smart individual should be paid to make it and I would gladly buy it.

A second question might also be:
In the example (Called MATERIAL PROPERTY FITTING) after clicking on the optimization physics: the Global Least Squares Objective shows a file name in the blank under the label heading (experimental data) which is entitled "material_property_fitting_data.txt." How do I access that file so that I can format my outlet concentration text file correctly to put that into my optimization model.

The final question definitely is:
Why is there a (integration of the inner wall boundary)? This is under Model->Definitions. It is not used in the PDE and it is not plotted as int1 is...As far as I can deterime it does not add to the program? Should I have it in my program-if I need it and do not have it that would be humbling? I replaced it with a average function of my concentration at the outlet boundary and I wanted to compare this average at the current velocity in the simulation with the linear interpolation of my measured outlet concentration at that velocity.

Thank you for taking the time to read, assimilate and offer ideas, I appreciate it very much,

1 Reply Last Post 11 avr. 2013, 02:20 UTC−4
Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 11 avr. 2013, 02:20 UTC−4
Hi

I do not have answers to all questions,

but for the txt file, it's provided as a data list in my version 4.3a, and as for some reason my "Opera browser" cannot upload txt files (only images files) so I have copied the data hereafter that are for my model, probably the same for yours. (do not forget to update regularly your model library files)

for the integration, it is used in the Variables, to make T at the point 2 a global variable, as T is a field hence one should in fact write T(x,t) for this model so for point "2" of coordinate x=1 one has no way to access this value globally, as COMSOL's way of linking in spatial coordinates is implicit. But by integrating point wise over 1 single point, you get the value AT that point. It can seem a bit far fetched, but that is the cost to be able to drop the spatial and time dependence notation everywhere (on the contrary one get often confused, while writing "T" it looks like a scalar but is often in fact a "field" implicitly T(x,y,z,t) or T(r,z,t) in 2D-axi


==================== material_property_fitting_data.txt. =======
0 293.215
3600 293.597
7200 293.824
10800 294.158
14400 294.352
18000 294.532
21600 294.606
25200 294.501
28800 294.523
32400 294.121
36000 293.889
39600 293.564
43200 293.126
46800 292.777
50400 292.386
54000 292.035
57600 291.992
61200 291.778
64800 291.766
68400 291.707
72000 291.809
75600 292.119
79200 292.354
82800 292.789
86400 293.004
=================================


--
Good luck
Ivar
Hi I do not have answers to all questions, but for the txt file, it's provided as a data list in my version 4.3a, and as for some reason my "Opera browser" cannot upload txt files (only images files) so I have copied the data hereafter that are for my model, probably the same for yours. (do not forget to update regularly your model library files) for the integration, it is used in the Variables, to make T at the point 2 a global variable, as T is a field hence one should in fact write T(x,t) for this model so for point "2" of coordinate x=1 one has no way to access this value globally, as COMSOL's way of linking in spatial coordinates is implicit. But by integrating point wise over 1 single point, you get the value AT that point. It can seem a bit far fetched, but that is the cost to be able to drop the spatial and time dependence notation everywhere (on the contrary one get often confused, while writing "T" it looks like a scalar but is often in fact a "field" implicitly T(x,y,z,t) or T(r,z,t) in 2D-axi ==================== material_property_fitting_data.txt. ======= 0 293.215 3600 293.597 7200 293.824 10800 294.158 14400 294.352 18000 294.532 21600 294.606 25200 294.501 28800 294.523 32400 294.121 36000 293.889 39600 293.564 43200 293.126 46800 292.777 50400 292.386 54000 292.035 57600 291.992 61200 291.778 64800 291.766 68400 291.707 72000 291.809 75600 292.119 79200 292.354 82800 292.789 86400 293.004 ================================= -- Good luck Ivar

Note that while COMSOL employees may participate in the discussion forum, COMSOL® software users who are on-subscription should submit their questions via the Support Center for a more comprehensive response from the Technical Support team.