/[ascend]/trunk/models/flash.a4l
ViewVC logotype

Diff of /trunk/models/flash.a4l

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1 by aw0a, Fri Oct 29 20:54:12 2004 UTC revision 576 by johnpye, Tue May 9 03:42:08 2006 UTC
# Line 224  END scale_all; Line 224  END scale_all;
224    
225  METHOD seqmod;  METHOD seqmod;
226      RUN state.specify;      RUN state.specify;
227      state.y[cd.components].fixed := FALSE;      FREE state.y[cd.components];
228  END seqmod;  END seqmod;
229    
230  METHOD reset_to_massbal;  METHOD reset_to_massbal;
# Line 259  This can be used to obtain an adiabatic Line 259  This can be used to obtain an adiabatic
259  Qin to zero and equilibrated to TRUE.  Qin to zero and equilibrated to TRUE.
260  } END NOTES;  } END NOTES;
261      RUN specify_P_and_vapor_fraction;      RUN specify_P_and_vapor_fraction;
262      Qin.fixed := TRUE;      FIX Qin;
263      IF (equilibrated) THEN      IF (equilibrated) THEN
264          state.phase_fraction['vapor'].fixed := FALSE;          FREE state.phase_fraction['vapor'];
265      END IF;      END IF;
266  END specify_P_and_heat_input;  END specify_P_and_heat_input;
267    
# Line 404  METHOD seqmod; Line 404  METHOD seqmod;
404      (* Equations connect_feed, vapor_balance, and liquid_balance      (* Equations connect_feed, vapor_balance, and liquid_balance
405       * make us free nc+1 variables.       * make us free nc+1 variables.
406       *)       *)
407      state.y[state.cd.components].fixed := FALSE;      FREE state.y[state.cd.components];
408      state.phase_fraction['vapor'].fixed := FALSE;      FREE state.phase_fraction['vapor'];
409      (* Then we trade cmo_ratio for T *)      (* Then we trade cmo_ratio for T *)
410      cmo_ratio.fixed := TRUE;      FIX cmo_ratio;
411      IF (equilibrated) THEN      IF (equilibrated) THEN
412          state.T.fixed   := FALSE;          FREE state.T;
413      END IF;      END IF;
414  END seqmod;  END seqmod;
415    
416  METHOD seqmod_massbal;  METHOD seqmod_massbal;
417      equilibrated := FALSE;      equilibrated := FALSE;
418      RUN seqmod;      RUN seqmod;
419      vapin.state.T.fixed     := TRUE;      FIX vapin.state.T;
420      liqin.state.T.fixed     := TRUE;      FIX liqin.state.T;
421  END seqmod_massbal;  END seqmod_massbal;
422    
423  METHOD seqmod_fullthermo;  METHOD seqmod_fullthermo;
# Line 427  END seqmod_fullthermo; Line 427  END seqmod_fullthermo;
427    
428  METHOD seqmod_fixed_Q;  METHOD seqmod_fixed_Q;
429      RUN seqmod_fullthermo;      RUN seqmod_fullthermo;
430      cmo_ratio.fixed := FALSE;      FREE cmo_ratio;
431      Qin.fixed := TRUE;      FIX Qin;
432  END seqmod_fixed_Q;  END seqmod_fixed_Q;
433    
434  METHOD seqmod_adiabatic;  METHOD seqmod_adiabatic;
# Line 448  END reset_to_fullthermo; Line 448  END reset_to_fullthermo;
448    
449  METHOD reset_to_adiabatic;  METHOD reset_to_adiabatic;
450      RUN reset_to_fullthermo;      RUN reset_to_fullthermo;
451      cmo_ratio.fixed := FALSE;      FREE cmo_ratio;
452      Qin.fixed := TRUE;      FIX Qin;
453      Qin := 0{W};      Qin := 0{W};
454  END reset_to_adiabatic;  END reset_to_adiabatic;
455    
# Line 460  METHOD specify; Line 460  METHOD specify;
460  END specify;  END specify;
461    
462  METHOD heat_balance;  METHOD heat_balance;
463      cmo_ratio.fixed := FALSE;      FREE cmo_ratio;
464      Qin.fixed := TRUE;      FIX Qin;
465  END heat_balance;  END heat_balance;
466    
467  METHOD CMO;  METHOD CMO;
468      cmo_ratio.fixed := TRUE;      FIX cmo_ratio;
469      Qin.fixed := FALSE;      FREE Qin;
470  END CMO;  END CMO;
471    
472  END detailed_tray;  END detailed_tray;
# Line 797  METHOD seqmod; Line 797  METHOD seqmod;
797      (* Equations connect_feed, vapor_balance, and liquid_balance      (* Equations connect_feed, vapor_balance, and liquid_balance
798       * make us free nc+1 variables.       * make us free nc+1 variables.
799       *)       *)
800      state.y[cd.components].fixed := FALSE;      FREE state.y[cd.components];
801      state.phase_fraction['vapor'].fixed := FALSE;      FREE state.phase_fraction['vapor'];
802      (* swap q for T at equilibrium, or set both if      (* swap q for T at equilibrium, or set both if
803       * ignoring equilbrium.       * ignoring equilbrium.
804       *)       *)
805      q.fixed := TRUE;      FIX q;
806      IF (equilibrated) THEN      IF (equilibrated) THEN
807          T.fixed := FALSE;          FREE T;
808      END IF;      END IF;
809  END seqmod;  END seqmod;
810    
811  METHOD seqmod_massbal;  METHOD seqmod_massbal;
812      equilibrated := FALSE;      equilibrated := FALSE;
813      RUN seqmod;      RUN seqmod;
814      vapin.state.T.fixed     := TRUE;      FIX vapin.state.T;
815      liqin.state.T.fixed     := TRUE;      FIX liqin.state.T;
816  END seqmod_massbal;  END seqmod_massbal;
817    
818  METHOD seqmod_fullthermo;  METHOD seqmod_fullthermo;
# Line 822  END seqmod_fullthermo; Line 822  END seqmod_fullthermo;
822    
823  METHOD seqmod_fixed_Q;  METHOD seqmod_fixed_Q;
824      RUN fullthermo_seqmod;      RUN fullthermo_seqmod;
825      q.fixed := FALSE;      FREE q;
826      Qin.fixed := TRUE;      FIX Qin;
827  END seqmod_fixed_Q;  END seqmod_fixed_Q;
828    
829  METHOD seqmod_adiabatic;  METHOD seqmod_adiabatic;
# Line 843  END reset_to_fullthermo; Line 843  END reset_to_fullthermo;
843    
844  METHOD reset_to_adiabatic;  METHOD reset_to_adiabatic;
845      RUN reset_to_fullthermo;      RUN reset_to_fullthermo;
846      q.fixed := FALSE;      FREE q;
847      Qin.fixed := TRUE;      FIX Qin;
848      Qin := 0{W};      Qin := 0{W};
849  END reset_to_adiabatic;  END reset_to_adiabatic;
850    
# Line 852  METHOD specify; Line 852  METHOD specify;
852      RUN seqmod;      RUN seqmod;
853      RUN feed.specify;      RUN feed.specify;
854      IF (feed.equilibrated AND (feed.pd.phase_indicator == 'VL')) THEN      IF (feed.equilibrated AND (feed.pd.phase_indicator == 'VL')) THEN
855          feed.Details.state.phase[pd.reference_phase].T.fixed := FALSE;          FREE feed.Details.state.phase[pd.reference_phase].T;
856          feed.Details.state.phase_fraction[pd.other_phases].fixed := TRUE;          FIX feed.Details.state.phase_fraction[pd.other_phases];
857      END IF;      END IF;
858      RUN vapin.specify;      RUN vapin.specify;
859      RUN liqin.specify;      RUN liqin.specify;
# Line 997  END scale_all; Line 997  END scale_all;
997  METHOD seqmod;  METHOD seqmod;
998      RUN liqout.seqmod;      RUN liqout.seqmod;
999      RUN distillate.seqmod;      RUN distillate.seqmod;
1000      reflux_ratio.fixed := TRUE;      FIX reflux_ratio;
1001  END seqmod;  END seqmod;
1002    
1003  METHOD specify;  METHOD specify;
# Line 1168  END scale_all; Line 1168  END scale_all;
1168    
1169  METHOD seqmod;  METHOD seqmod;
1170      RUN state.specify;      RUN state.specify;
1171      state.y[cd.components].fixed := FALSE;      FREE state.y[cd.components];
1172      state.phase_fraction['vapor'].fixed := FALSE;      FREE state.phase_fraction['vapor'];
1173      reboil_ratio.fixed := TRUE;      FIX reboil_ratio;
1174      IF (equilibrated) THEN      IF (equilibrated) THEN
1175          state.T.fixed := FALSE;          FREE state.T;
1176      END IF;      END IF;
1177  END seqmod;  END seqmod;
1178    
# Line 1289  END reset_T; Line 1289  END reset_T;
1289    
1290  METHOD specify_T;  METHOD specify_T;
1291      RUN specify;      RUN specify;
1292      fl1.state.phase_fraction['vapor'].fixed := FALSE;      FREE fl1.state.phase_fraction['vapor'];
1293      fl1.T := 340{K};      fl1.T := 340{K};
1294      fl1.T.fixed := TRUE;      FIX fl1.T;
1295  END specify_T;  END specify_T;
1296    
1297  METHOD values;  METHOD values;
# Line 1402  END reset_T; Line 1402  END reset_T;
1402    
1403  METHOD specify_T;  METHOD specify_T;
1404      RUN specify;      RUN specify;
1405      fl1.state.phase_fraction['vapor'].fixed := FALSE;      FREE fl1.state.phase_fraction['vapor'];
1406      fl1.T := 340{K};      fl1.T := 340{K};
1407      fl1.T.fixed := TRUE;      FIX fl1.T;
1408  END specify_T;  END specify_T;
1409    
1410  METHOD values;  METHOD values;
# Line 1516  END reset_T; Line 1516  END reset_T;
1516    
1517  METHOD specify_T;  METHOD specify_T;
1518      RUN specify;      RUN specify;
1519      fl1.state.phase_fraction['vapor'].fixed := FALSE;      FREE fl1.state.phase_fraction['vapor'];
1520      fl1.T := 340{K};      fl1.T := 340{K};
1521      fl1.T.fixed := TRUE;      FIX fl1.T;
1522  END specify_T;  END specify_T;
1523    
1524  METHOD values;  METHOD values;
# Line 1662  END reset_T; Line 1662  END reset_T;
1662    
1663  METHOD specify_T;  METHOD specify_T;
1664      RUN specify;      RUN specify;
1665      fl1.state.phase_fraction['vapor'].fixed := FALSE;      FREE fl1.state.phase_fraction['vapor'];
1666      fl1.T := 310{K};      fl1.T := 310{K};
1667      fl1.T.fixed := TRUE;      FIX fl1.T;
1668  END specify_T;  END specify_T;
1669    
1670  METHOD values;  METHOD values;

Legend:
Removed from v.1  
changed lines
  Added in v.576

john.pye@anu.edu.au
ViewVC Help
Powered by ViewVC 1.1.22