Message Boards Message Boards

0
|
2299 Views
|
0 Replies
|
0 Total Likes
View groups...
Share
Share this post:

Perform minimization with multiple constraints?

Posted 4 years ago

I hope you can help me to figure out what's wrong here. I want to minimize the sgen by varying xo2, xo3, xo4, xo5. There are 10 unknowns (xo2, xo3, xo4, xo5, mo2, mo3, mo4, mo5, deltaP, sgen), but since I have 5 equations for deltaP (eq. 1 to eq. 5), and a range for each xo ( 0 <= xo2 <= 1, 0 <= xo3 <= 1, 0 <= xo4 <= 1, 0 <= xo5 <= 1), then I can calculate mo2, mo3, mo4, mo5, deltaP and eventually proceed with the minimization of sgen. However, when I tried to substitute the results for xo2, xo3, xo4, xo5, mo2, mo3, mo4, mo5 to verify if I can get the same deltaP for the 1st 5 equations (eq. 1 to eq. 5), then I'm getting different values. Thanks a lot.

Clear[mh2, mh3, mh4, mh4, xh2, xh3, xh4, xh5, mo1, mo2, mo3, mo4, \
mo5, xo2, xo3, xo4, xo5, \[CapitalDelta]pt, \[CapitalDelta]ph1, \
\[CapitalDelta]ph2, \[CapitalDelta]ph3, \[CapitalDelta]ph4, \
\[CapitalDelta]ph5, \[CapitalDelta]po1, \[CapitalDelta]po2, \
\[CapitalDelta]po3, \[CapitalDelta]po4, \[CapitalDelta]po5]

\[Rho]l = 1128.396;  (* liquid density [kg/m^3] *)
\[Rho]v = 41.177; (* vapor density [kg/m^3] *)
\[Mu]l = 1.4*10^-4; (* liquid viscosity [Pa-s] *)
\[Mu]v = 1.28*10^-5;(* vapor viscosity [Pa-s] *)
hlength = 0.03225; (* header local height [m] *)
harea = 2.22*10^-4; (* header cross-sectional area [m^2] *)
hdia = 8.92*10^-3; (* header diameter [m] *)
mdia = 1.07*10^-3; (* microchannel diameter [m] *)
mlength = 0.5; (* microchannel length [m] *)
marea = 7.60973*10^-5; (* microchannel cross-sectional area [m^2] *)
T = 283; (* Temperature [K]*)
mh1 = 0.042; (* inlet mass flowrate [kg/s]*)
xh1 = 0.1; (* inlet vapor quality [-]*)

eq1 = (\[CapitalDelta]pt == ((128*hlength*
        mh1*(((xh1*(\[Rho]l - \[Rho]v)) + \
\[Rho]v)/(\[Rho]l*\[Rho]v))/((hdia^2)*
           harea*(((xh1*(\[Mu]l - \[Mu]v)) + \
\[Mu]v)/(\[Mu]l*\[Mu]v)))) + (128*
        mlength*(mh1 - (mo2 + mo3 + mo4 + 
            mo5))*((((((mh1*
                    xh1) - ((mo2*xo2) + (mo3*xo3) + (mo4*xo4) + (mo5*
                    xo5)))/(mh1 - (mo2 + mo3 + mo4 + 
                    mo5)))*(\[Rho]l - \[Rho]v)) + \[Rho]v)/(\[Rho]l*\
\[Rho]v))/((mdia^2)*
           marea*((((((mh1*
                    xh1) - ((mo2*xo2) + (mo3*xo3) + (mo4*xo4) + (mo5*
                    xo5)))/(mh1 - (mo2 + mo3 + mo4 + 
                    mo5)))*(\[Mu]l - \[Mu]v)) + \
\[Mu]v)/(\[Mu]l*\[Mu]v))))));  

eq2 = (\[CapitalDelta]pt == ((128*hlength*
        mh1*(((xh1*(\[Rho]l - \[Rho]v)) + \
\[Rho]v)/(\[Rho]l*\[Rho]v))/((hdia^2)*
           harea*(((xh1*(\[Mu]l - \[Mu]v)) + \
\[Mu]v)/(\[Mu]l*\[Mu]v)))) + (128*
        hlength*(mo2 + mo3 + mo4 + 
          mo5)*((((((mo2*xo2) + (mo3*xo3) + (mo4*xo4) + (mo5*
                    xo5))/(mo2 + mo3 + mo4 + 
                   mo5))*(\[Rho]l - \[Rho]v)) + \[Rho]v)/(\[Rho]l*\
\[Rho]v))/((hdia^2)*
           harea*((((((mo2*xo2) + (mo3*xo3) + (mo4*xo4) + (mo5*
                    xo5))/(mo2 + mo3 + mo4 + 
                    mo5))*(\[Mu]l - \[Mu]v)) + \
\[Mu]v)/(\[Mu]l*\[Mu]v)))) + (128*mlength*
        mo2*(((xo2*(\[Rho]l - \[Rho]v)) + \
\[Rho]v)/(\[Rho]l*\[Rho]v))/((mdia^2)*
           marea*(((xo2*(\[Mu]l - \[Mu]v)) + \
\[Mu]v)/(\[Mu]l*\[Mu]v)))))); 

eq3 = (\[CapitalDelta]pt == ((128*hlength*
        mh1*(((xh1*(\[Rho]l - \[Rho]v)) + \
\[Rho]v)/(\[Rho]l*\[Rho]v))/((hdia^2)*
           harea*(((xh1*(\[Mu]l - \[Mu]v)) + \
\[Mu]v)/(\[Mu]l*\[Mu]v)))) + (128*
        hlength*(mo2 + mo3 + mo4 + 
          mo5)*((((((mo2*xo2) + (mo3*xo3) + (mo4*xo4) + (mo5*
                    xo5))/(mo2 + mo3 + mo4 + 
                   mo5))*(\[Rho]l - \[Rho]v)) + \[Rho]v)/(\[Rho]l*\
\[Rho]v))/((hdia^2)*
           harea*((((((mo2*xo2) + (mo3*xo3) + (mo4*xo4) + (mo5*
                    xo5))/(mo2 + mo3 + mo4 + 
                    mo5))*(\[Mu]l - \[Mu]v)) + \
\[Mu]v)/(\[Mu]l*\[Mu]v)))) + (128*
        hlength*(mo3 + mo4 + 
          mo5)*((((((mo3*xo3) + (mo4*xo4) + (mo5*xo5))/(mo3 + mo4 + 
                   mo5))*(\[Rho]l - \[Rho]v)) + \[Rho]v)/(\[Rho]l*\
\[Rho]v))/((hdia^2)*
           harea*((((((mo3*xo3) + (mo4*xo4) + (mo5*xo5))/(mo3 + mo4 + 
                    mo5))*(\[Mu]l - \[Mu]v)) + \
\[Mu]v)/(\[Mu]l*\[Mu]v)))) + (128*mlength*
        mo3*(((xo3*(\[Rho]l - \[Rho]v)) + \
\[Rho]v)/(\[Rho]l*\[Rho]v))/((mdia^2)*
           marea*(((xo3*(\[Mu]l - \[Mu]v)) + \
\[Mu]v)/(\[Mu]l*\[Mu]v))))));

eq4 = (\[CapitalDelta]pt == ((128*hlength*
        mh1*(((xh1*(\[Rho]l - \[Rho]v)) + \
\[Rho]v)/(\[Rho]l*\[Rho]v))/((hdia^2)*
           harea*(((xh1*(\[Mu]l - \[Mu]v)) + \
\[Mu]v)/(\[Mu]l*\[Mu]v)))) + (128*
        hlength*(mo2 + mo3 + mo4 + 
          mo5)*((((((mo2*xo2) + (mo3*xo3) + (mo4*xo4) + (mo5*
                    xo5))/(mo2 + mo3 + mo4 + 
                   mo5))*(\[Rho]l - \[Rho]v)) + \[Rho]v)/(\[Rho]l*\
\[Rho]v))/((hdia^2)*
           harea*((((((mo2*xo2) + (mo3*xo3) + (mo4*xo4) + (mo5*
                    xo5))/(mo2 + mo3 + mo4 + 
                    mo5))*(\[Mu]l - \[Mu]v)) + \
\[Mu]v)/(\[Mu]l*\[Mu]v)))) + (128*
        hlength*(mo3 + mo4 + 
          mo5)*((((((mo3*xo3) + (mo4*xo4) + (mo5*xo5))/(mo3 + mo4 + 
                   mo5))*(\[Rho]l - \[Rho]v)) + \[Rho]v)/(\[Rho]l*\
\[Rho]v))/((hdia^2)*
           harea*((((((mo3*xo3) + (mo4*xo4) + (mo5*xo5))/(mo3 + mo4 + 
                    mo5))*(\[Mu]l - \[Mu]v)) + \
\[Mu]v)/(\[Mu]l*\[Mu]v)))) + (128*
        hlength*(mo4 + 
          mo5)*((((((mo4*xo4) + (mo5*xo5))/(mo4 + 
                   mo5))*(\[Rho]l - \[Rho]v)) + \[Rho]v)/(\[Rho]l*\
\[Rho]v))/((hdia^2)*
           harea*((((((mo4*xo4) + (mo5*xo5))/(mo4 + 
                    mo5))*(\[Mu]l - \[Mu]v)) + \
\[Mu]v)/(\[Mu]l*\[Mu]v)))) + (128*mlength*
        mo4*(((xo4*(\[Rho]l - \[Rho]v)) + \
\[Rho]v)/(\[Rho]l*\[Rho]v))/((mdia^2)*
           marea*(((xo4*(\[Mu]l - \[Mu]v)) + \
\[Mu]v)/(\[Mu]l*\[Mu]v))))));

eq5 = (\[CapitalDelta]pt == ((128*hlength*
        mh1*(((xh1*(\[Rho]l - \[Rho]v)) + \
\[Rho]v)/(\[Rho]l*\[Rho]v))/((hdia^2)*
           harea*(((xh1*(\[Mu]l - \[Mu]v)) + \
\[Mu]v)/(\[Mu]l*\[Mu]v)))) + (128*
        hlength*(mo2 + mo3 + mo4 + 
          mo5)*((((((mo2*xo2) + (mo3*xo3) + (mo4*xo4) + (mo5*
                    xo5))/(mo2 + mo3 + mo4 + 
                   mo5))*(\[Rho]l - \[Rho]v)) + \[Rho]v)/(\[Rho]l*\
\[Rho]v))/((hdia^2)*
           harea*((((((mo2*xo2) + (mo3*xo3) + (mo4*xo4) + (mo5*
                    xo5))/(mo2 + mo3 + mo4 + 
                    mo5))*(\[Mu]l - \[Mu]v)) + \
\[Mu]v)/(\[Mu]l*\[Mu]v)))) + (128*
        hlength*(mo3 + mo4 + 
          mo5)*((((((mo3*xo3) + (mo4*xo4) + (mo5*xo5))/(mo3 + mo4 + 
                   mo5))*(\[Rho]l - \[Rho]v)) + \[Rho]v)/(\[Rho]l*\
\[Rho]v))/((hdia^2)*
           harea*((((((mo3*xo3) + (mo4*xo4) + (mo5*xo5))/(mo3 + mo4 + 
                    mo5))*(\[Mu]l - \[Mu]v)) + \
\[Mu]v)/(\[Mu]l*\[Mu]v)))) + (128*
        hlength*(mo4 + 
          mo5)*((((((mo4*xo4) + (mo5*xo5))/(mo4 + 
                   mo5))*(\[Rho]l - \[Rho]v)) + \[Rho]v)/(\[Rho]l*\
\[Rho]v))/((hdia^2)*
           harea*((((((mo4*xo4) + (mo5*xo5))/(mo4 + 
                    mo5))*(\[Mu]l - \[Mu]v)) + \
\[Mu]v)/(\[Mu]l*\[Mu]v)))) + (128*hlength*
        mo5*(((xo5*(\[Rho]l - \[Rho]v)) + \
\[Rho]v)/(\[Rho]l*\[Rho]v))/((hdia^2)*
           harea*(((xo5*(\[Mu]l - \[Mu]v)) + \
\[Mu]v)/(\[Mu]l*\[Mu]v)))) + (128*mlength*
        mo5*(((xo5*(\[Rho]l - \[Rho]v)) + \
\[Rho]v)/(\[Rho]l*\[Rho]v))/((mdia^2)*
           marea*(((xo5*(\[Mu]l - \[Mu]v)) + \
\[Mu]v)/(\[Mu]l*\[Mu]v))))));

sgen = ((mh1*(128*hlength*
         mh1*(((xh1*(\[Rho]l - \[Rho]v)) + \
\[Rho]v)/(\[Rho]l*\[Rho]v))/((hdia^2)*
            harea*(((xh1*(\[Mu]l - \[Mu]v)) + \
\[Mu]v)/(\[Mu]l*\[Mu]v)))))/((((xh1*(\[Rho]l - \[Rho]v)) + \[Rho]v)/(\
\[Rho]l*\[Rho]v))*
       T)) + (((mo2 + mo3 + mo4 + mo5)*(128*
         hlength*(mo2 + mo3 + mo4 + 
           mo5)*((((((mo2*xo2) + (mo3*xo3) + (mo4*xo4) + (mo5*
                    xo5))/(mo2 + mo3 + mo4 + 
                    mo5))*(\[Rho]l - \[Rho]v)) + \[Rho]v)/(\[Rho]l*\
\[Rho]v))/((hdia^2)*
            harea*((((((mo2*xo2) + (mo3*xo3) + (mo4*xo4) + (mo5*
                    xo5))/(mo2 + mo3 + mo4 + 
                    mo5))*(\[Mu]l - \[Mu]v)) + \
\[Mu]v)/(\[Mu]l*\[Mu]v)))))/(((((((mo2*xo2) + (mo3*xo3) + (mo4*
                   xo4) + (mo5*xo5))/(mo2 + mo3 + mo4 + 
                 mo5))*(\[Rho]l - \[Rho]v)) + \
\[Rho]v)/(\[Rho]l*\[Rho]v))*
       T)) + (((mo3 + mo4 + mo5)*(128*
         hlength*(mo3 + mo4 + 
           mo5)*((((((mo3*xo3) + (mo4*xo4) + (mo5*xo5))/(mo3 + mo4 + 
                    mo5))*(\[Rho]l - \[Rho]v)) + \[Rho]v)/(\[Rho]l*\
\[Rho]v))/((hdia^2)*
            harea*((((((mo3*xo3) + (mo4*xo4) + (mo5*xo5))/(mo3 + mo4 +
                     mo5))*(\[Mu]l - \[Mu]v)) + \
\[Mu]v)/(\[Mu]l*\[Mu]v)))))/((((((mo3*xo3) + (mo4*xo4) + (mo5*
                 xo5))/(mo3 + mo4 + 
               mo5))*(\[Rho]l - \[Rho]v)) + \[Rho]v)*
       T)) + (((mo4 + mo5)*(128*
         hlength*(mo4 + 
           mo5)*((((((mo4*xo4) + (mo5*xo5))/(mo4 + 
                    mo5))*(\[Rho]l - \[Rho]v)) + \[Rho]v)/(\[Rho]l*\
\[Rho]v))/((hdia^2)*
            harea*((((((mo4*xo4) + (mo5*xo5))/(mo4 + 
                    mo5))*(\[Mu]l - \[Mu]v)) + \
\[Mu]v)/(\[Mu]l*\[Mu]v)))))/((((((mo4*xo4) + (mo5*xo5))/(mo4 + 
               mo5))*(\[Rho]l - \[Rho]v)) + \[Rho]v)*
       T)) + ((mo5*(128*hlength*
         mo5*(((xo5*(\[Rho]l - \[Rho]v)) + \
\[Rho]v)/(\[Rho]l*\[Rho]v))/((hdia^2)*
            harea*(((xo5*(\[Mu]l - \[Mu]v)) + \
\[Mu]v)/(\[Mu]l*\[Mu]v)))))/((((xo5*(\[Rho]l - \[Rho]v)) + \[Rho]v)/(\
\[Rho]l*\[Rho]v))*
       T)) + (((mh1 - (mo2 + mo3 + mo4 + mo5))*(128*
         mlength*(mh1 - (mo2 + mo3 + mo4 + 
             mo5))*((((((mh1*
                    xh1) - ((mo2*xo2) + (mo3*xo3) + (mo4*xo4) + (mo5*
                    xo5)))/(mh1 - (mo2 + mo3 + mo4 + 
                    mo5)))*(\[Rho]l - \[Rho]v)) + \[Rho]v)/(\[Rho]l*\
\[Rho]v))/((mdia^2)*
            marea*((((((mh1*


                    xh1) - ((mo2*xo2) + (mo3*xo3) + (mo4*xo4) + (mo5*
                    xo5)))/(mh1 - (mo2 + mo3 + mo4 + 
                    mo5)))*(\[Mu]l - \[Mu]v)) + \
\[Mu]v)/(\[Mu]l*\[Mu]v)))))/(((((((mh1*
                   xh1) - ((mo2*xo2) + (mo3*xo3) + (mo4*xo4) + (mo5*
                    xo5)))/(mh1 - (mo2 + mo3 + mo4 + 
                   mo5)))*(\[Rho]l - \[Rho]v)) + \[Rho]v)/(\[Rho]l*\
\[Rho]v))*
       T)) + ((mo2*(128*mlength*
         mo2*(((xo2*(\[Rho]l - \[Rho]v)) + \
\[Rho]v)/(\[Rho]l*\[Rho]v))/((mdia^2)*
            marea*(((xo2*(\[Mu]l - \[Mu]v)) + \
\[Mu]v)/(\[Mu]l*\[Mu]v)))))/((((xo2*(\[Rho]l - \[Rho]v)) + \[Rho]v)/(\
\[Rho]l*\[Rho]v))*
       T)) + ((mo3*(128*mlength*
         mo3*(((xo3*(\[Rho]l - \[Rho]v)) + \
\[Rho]v)/(\[Rho]l*\[Rho]v))/((mdia^2)*
            marea*(((xo3*(\[Mu]l - \[Mu]v)) + \
\[Mu]v)/(\[Mu]l*\[Mu]v)))))/((((xo3*(\[Rho]l - \[Rho]v)) + \[Rho]v)/(\
\[Rho]l*\[Rho]v))*
       T)) + ((mo4*(128*mlength*
         mo4*(((xo4*(\[Rho]l - \[Rho]v)) + \
\[Rho]v)/(\[Rho]l*\[Rho]v))/((mdia^2)*
            marea*(((xo4*(\[Mu]l - \[Mu]v)) + \
\[Mu]v)/(\[Mu]l*\[Mu]v)))))/((((xo4*(\[Rho]l - \[Rho]v)) + \[Rho]v)/(\
\[Rho]l*\[Rho]v))*
       T)) + ((mo5*(128*mlength*
         mo5*(((xo5*(\[Rho]l - \[Rho]v)) + \
\[Rho]v)/(\[Rho]l*\[Rho]v))/((mdia^2)*
            marea*(((xo5*(\[Mu]l - \[Mu]v)) + \
\[Mu]v)/(\[Mu]l*\[Mu]v)))))/((((xo5*(\[Rho]l - \[Rho]v)) + \[Rho]v)/(\
\[Rho]l*\[Rho]v))*T));

eqlist = eq1 && eq2 && eq3 && eq4 && eq5 // Simplify

cons = {eqlist,
   0 <= xo2 <= 1, 0 <= xo3 <= 1, 0 <= xo4 <= 1, 0 <= xo5 <= 1, 
   mo2 > 0, mo3 > 0, mo4 > 0, mo5 > 0};

vars = {xo2, xo3, xo4, xo5, mo2, mo3, mo4, mo5, \[CapitalDelta]pt};

sol = Minimize[{sgen, cons}, vars]

Then these are the results I'm getting:

{0.931429, {mo2 -> 0.00910913, mo3 -> 0.00420463, mo4 -> 0.00523996, 
  mo5 -> 0.00869242, xo2 -> 0.633877, xo3 -> 0.709243, 
  xo4 -> 0.428627, xo5 -> 0.954094, \[CapitalDelta]pt -> 1.9088}}
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract