How to optimize parameters in ODE

2 views (last 30 days)
Bosnian Kingdom
Bosnian Kingdom on 17 Apr 2019
Commented: Bosnian Kingdom on 17 Apr 2019
Is it posible to optimize molars flows: FA, FB, FC, FD and FE in the following equations;
d(FA)/d(V) = rA
d(FB)/d(V) = rB
d(FC)/d(V) = rC
d(FD)/d(V) = rD
d(FE)/d(V) = rE
where:
rA=k1*Ca*Cb
rB = -k2*Ca
rC = k3*Ca*Cd
rD=-k4*Ca*Cd
rE=k5*Ce
Where: k1, k2, k3, k4 and k5 known, V (volume) along reactor is also known
C - concentrations
Ca = Ct0 * (FA / Ft) * (T0 / T) * (P / P0)
Cb = Ct0 * (FB / Ft) * (T0 / T) * (P / P0)
Cc = Ct0 * (FC / Ft) * (T0 / T) * (P / P0)
Cd = Ct0 * (FD / Ft) * (T0 / T) * (P / P0)
Ce = Ct0 * (FE / Ft) * (T0 / T) * (P / P0)
T0 (inlet temperature), T (temperature along reactor length), PO (inlet pressure), P (outlet pressure) are known.
Ct0=Ca+Cb+Cc+Cd+Ce
Ft=FA+FB+FC+FD+FE I need to optimize molars flows (FA, FB, FC, FD and FE) in order to maximize conversion (X), yield (Y) and selectivity (S) from equations:
Xa = (FA0 - FA) / FA0
Yc = FC / FA0
Sce = FC / (FA0 - FA)
FA0 is known.
Thanks in advance.

Answers (1)

Alan Weiss
Alan Weiss on 17 Apr 2019
Well, depending on what it means to optimize, I suspect that you can. I mean, are you trying to maximize a final value of one of the variables, or minimize the sum of squared deviations of the solution of the ODE to a given function, or do you mean something else when you say optimize?
In general, once you have made explicit your objective function that you are trying to minimize, it is not important that it comes from the numerical solution of an ODE, it is just important that you understand how to go from (parameters you are able to change) to (value of objective function). Once you have that mapping, you can call an optimization funtion such as fmincon or lsqcurvefit. See, for example, Fit an ODE or Optimize an ODE in Parallel.
Alan Weiss
MATLAB mathematical toolbox documentation
  1 Comment
Bosnian Kingdom
Bosnian Kingdom on 17 Apr 2019
Thanks for the answer. I need to maximize molar flow FC. That is all.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!