/[ascend]/trunk/doc/howto-physprops.lyx
ViewVC logotype

Contents of /trunk/doc/howto-physprops.lyx

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2785 - (show annotations) (download) (as text)
Mon Jun 23 08:17:49 2014 UTC (10 years, 5 months ago) by jpye
File MIME type: application/x-lyx
File size: 40950 byte(s)
updating RPM spec for Fed20
1 #LyX 2.1 created this file. For more info see http://www.lyx.org/
2 \lyxformat 474
3 \begin_document
4 \begin_header
5 \textclass book
6 \use_default_options false
7 \maintain_unincluded_children false
8 \language english
9 \language_package default
10 \inputencoding auto
11 \fontencoding global
12 \font_roman default
13 \font_sans default
14 \font_typewriter default
15 \font_math auto
16 \font_default_family default
17 \use_non_tex_fonts false
18 \font_sc false
19 \font_osf false
20 \font_sf_scale 100
21 \font_tt_scale 100
22 \graphics default
23 \default_output_format default
24 \output_sync 0
25 \bibtex_command default
26 \index_command default
27 \paperfontsize default
28 \spacing single
29 \use_hyperref false
30 \papersize a4paper
31 \use_geometry false
32 \use_package amsmath 2
33 \use_package amssymb 2
34 \use_package cancel 1
35 \use_package esint 0
36 \use_package mathdots 0
37 \use_package mathtools 1
38 \use_package mhchem 0
39 \use_package stackrel 1
40 \use_package stmaryrd 1
41 \use_package undertilde 1
42 \cite_engine basic
43 \cite_engine_type default
44 \biblio_style plain
45 \use_bibtopic false
46 \use_indices false
47 \paperorientation portrait
48 \suppress_date false
49 \justification true
50 \use_refstyle 0
51 \index Index
52 \shortcut idx
53 \color #008000
54 \end_index
55 \secnumdepth 3
56 \tocdepth 3
57 \paragraph_separation indent
58 \paragraph_indentation default
59 \quotes_language english
60 \papercolumns 1
61 \papersides 2
62 \paperpagestyle default
63 \tracking_changes false
64 \output_changes false
65 \html_math_output 0
66 \html_css_as_file 0
67 \html_be_strict false
68 \end_header
69
70 \begin_body
71
72 \begin_layout Chapter
73 Multi-phase equilibrium
74 \begin_inset Index idx
75 status collapsed
76
77 \begin_layout Plain Layout
78 equilibrium
79 \end_layout
80
81 \end_inset
82
83 libraries
84 \begin_inset CommandInset label
85 LatexCommand label
86 name "cha:physprops"
87
88 \end_inset
89
90
91 \end_layout
92
93 \begin_layout Standard
94 This chapter describes the models we provide to compute thermodynamic properties
95 \begin_inset Index idx
96 status collapsed
97
98 \begin_layout Plain Layout
99 thermodynamic properties
100 \end_layout
101
102 \end_inset
103
104 for multi-phase
105 \begin_inset Index idx
106 status collapsed
107
108 \begin_layout Plain Layout
109 multi-phase
110 \end_layout
111
112 \end_inset
113
114 , multi-component
115 \begin_inset Index idx
116 status collapsed
117
118 \begin_layout Plain Layout
119 multi-component
120 \end_layout
121
122 \end_inset
123
124 vapor/liquid mixtures
125 \begin_inset Index idx
126 status collapsed
127
128 \begin_layout Plain Layout
129 vapor/liquid mixtures
130 \end_layout
131
132 \end_inset
133
134 where we assume equilibrium exists among co-existing phases.
135
136 \end_layout
137
138 \begin_layout Section
139 A description of the libraries
140 \end_layout
141
142 \begin_layout Standard
143 In this section we describe the three libraries,
144 \family typewriter
145 phases.a4l
146 \family default
147 ,
148 \family typewriter
149 components.a4l
150 \family default
151 and
152 \family typewriter
153 thermodynamics.a4l
154 \family default
155 .
156 These libraries contain many models, but the end user is only interested
157 in a few of them.
158 Our intention is that these few should be very simple to use, with the
159 complexities buried inside the models.
160 \end_layout
161
162 \begin_layout Standard
163 \begin_inset Marginal
164 status collapsed
165
166 \begin_layout Plain Layout
167 first the phase definitions
168 \end_layout
169
170 \end_inset
171
172 The first contains the models we use to define the phases we allow for a
173 mixture (i.e., vapor, liquid, vapor/liquid, liquid/liquid and vapor/liquid/liquid
174 )
175 \begin_inset CommandInset ref
176 LatexCommand ref
177 reference "id:#id(pgfId-1010487)"
178
179 \end_inset
180
181
182 \begin_inset Foot
183 status collapsed
184
185 \begin_layout Plain Layout
186 It should be noted that, while the models will correctly set up the data
187 structures for the liquid/liquid and vapor/liquid/liquid options, we do
188 not really support these alternatives at this time.
189 \end_layout
190
191 \end_inset
192
193
194 \noun off
195 .
196 \end_layout
197
198 \begin_layout Standard
199 \begin_inset Marginal
200 status collapsed
201
202 \begin_layout Plain Layout
203 then the components and their data
204 \end_layout
205
206 \end_inset
207
208 The second library contains the models having all the component physical
209 properties for the components we include with ASCEND -- e.g., there are property
210 values for heat capacity
211 \begin_inset Index idx
212 status collapsed
213
214 \begin_layout Plain Layout
215 heat capacity
216 \end_layout
217
218 \end_inset
219
220 , heat of vaporization
221 \begin_inset Index idx
222 status collapsed
223
224 \begin_layout Plain Layout
225 heat of vaporization
226 \end_layout
227
228 \end_inset
229
230 , accentric factor
231 \begin_inset Index idx
232 status collapsed
233
234 \begin_layout Plain Layout
235 accentric factor
236 \end_layout
237
238 \end_inset
239
240 and so forth for water, methanol, carbon dioxide, etc.
241 There is also the very extensive list of group contribution
242 \begin_inset Index idx
243 status collapsed
244
245 \begin_layout Plain Layout
246 group contribution
247 \end_layout
248
249 \end_inset
250
251 data we need to use the UNIFAC
252 \begin_inset Index idx
253 status collapsed
254
255 \begin_layout Plain Layout
256 UNIFAC
257 \end_layout
258
259 \end_inset
260
261 method.
262 \end_layout
263
264 \begin_layout Standard
265 \begin_inset Marginal
266 status collapsed
267
268 \begin_layout Plain Layout
269 and finally the mixture thermodynamic models
270 \end_layout
271
272 \end_inset
273
274 The third provides the models we use to compute multi-component mixture
275 thermodynamic properties for phases, such as ideal gas
276 \begin_inset Index idx
277 status collapsed
278
279 \begin_layout Plain Layout
280 ideal gas
281 \end_layout
282
283 \end_inset
284
285 , Pitzer
286 \begin_inset Index idx
287 status collapsed
288
289 \begin_layout Plain Layout
290 Pitzer
291 \end_layout
292
293 \end_inset
294
295 , UNIFAC, and Wilson
296 \begin_inset Index idx
297 status collapsed
298
299 \begin_layout Plain Layout
300 Wilson
301 \end_layout
302
303 \end_inset
304
305 .
306 The final model in this library is the one to compute equilibrium conditions
307 for multi-component, multi-phase systems.
308 We provide both a constant relative volatility
309 \begin_inset Index idx
310 status collapsed
311
312 \begin_layout Plain Layout
313 relative volatility
314 \end_layout
315
316 \end_inset
317
318 and a rigorous phase equilibrium model, with the ability to switch interactivel
319 y between which one to use.
320 Thus one can first assume constant relative volatility to have a better
321 chance to converge and then switch to the version that makes the chemical
322 potential
323 \begin_inset Index idx
324 status collapsed
325
326 \begin_layout Plain Layout
327 chemical potential
328 \end_layout
329
330 \end_inset
331
332 equal for a component in all phases.
333 \end_layout
334
335 \begin_layout Subsection
336 The
337 \family typewriter
338 phases.a4l
339 \family default
340
341 \begin_inset Index idx
342 status collapsed
343
344 \begin_layout Plain Layout
345 phases.a4l
346 \end_layout
347
348 \end_inset
349
350 library
351 \end_layout
352
353 \begin_layout Standard
354 \begin_inset Marginal
355 status open
356
357 \begin_layout Plain Layout
358 need to create only instances of phases_data
359 \end_layout
360
361 \end_inset
362
363 The
364 \family typewriter
365 Phases.a4l
366 \family default
367 library, see Figure
368 \begin_inset CommandInset ref
369 LatexCommand ref
370 reference "fig:physprops.phases.a4l"
371
372 \end_inset
373
374
375 \noun off
376 , has only one model in it, phases_data
377 \noun default
378
379 \begin_inset Index idx
380 status collapsed
381
382 \begin_layout Plain Layout
383 phases
384 \begin_inset ERT
385 status collapsed
386
387 \begin_layout Plain Layout
388
389
390 \backslash
391 _
392 \end_layout
393
394 \end_inset
395
396 data
397 \end_layout
398
399 \end_inset
400
401
402 \begin_inset Foot
403 status collapsed
404
405 \begin_layout Plain Layout
406 In this and following figures, we represent each model as a rectangle.
407 On the upper left is the name of the model.
408 In
409 \begin_inset CommandInset ref
410 LatexCommand ref
411 reference "fig:physprops.phases.a4l"
412
413 \end_inset
414
415
416 \noun on
417 Figure 1-1
418 \noun off
419 , the model is phases_data.
420 On the left side we list in order the parameters for the model.
421 These are shared objects
422 \begin_inset Index idx
423 status collapsed
424
425 \begin_layout Plain Layout
426 shared objects
427 \end_layout
428
429 \end_inset
430
431 a model containing an instance of phases_data will pass to that instance.
432 An example would bepd IS_A phases_data(V, 'Pitzer_vapor_mixture', 'none',
433 'none')We list the parts defined locally within a model on the right side
434 of the rectangle, including instances of models, atoms and sets.
435 The slanted double-headed arrow indicates a set; thus, phases and other_phases
436 are sets in phases_data.In
437 \begin_inset CommandInset ref
438 LatexCommand ref
439 reference "fig:physprops.thermoLib"
440
441 \end_inset
442
443
444 \noun on
445 Figure 1-3
446 \noun off
447 we show lines connecting a model, call it A, to a part within another model,
448 call it B.part.
449 The connection is to the sides of both.
450 This type of connection says B.part is an instance of model A.
451 We also show connections from the bottom of one model, call it C, to the
452 top of another, call it D; with this connection we indicate that the lower
453 model D is a refinement
454 \begin_inset Index idx
455 status collapsed
456
457 \begin_layout Plain Layout
458 refinement
459 \end_layout
460
461 \end_inset
462
463 of the upper model C.
464 \end_layout
465
466 \end_inset
467
468
469 \noun off
470 .
471 The user creates an instance of this model, specifying which phases are
472 to exist for a stream or holdup and which thermodynamic model the system
473 should use to compute mixture properties for each phase.
474 Compiling this instance then sets up the data structures required to characteri
475 ze those phases for the system.
476 \end_layout
477
478 \begin_layout Standard
479 For example, suppose we want to model a flowsheet consisting of a single
480 flash unit.
481 Suppose further that we want to allow the feed to the flash unit to be
482 vapor, liquid or vapor/liquid (i.e., 2 phase).
483 The product streams from the flash unit will be a vapor phase mixture and
484 a liquid phase mixture.
485 We would define three instances of the phases_data model, one for each
486 type of phase condition we wish to model.
487 You can find the following statements in the model
488 \family typewriter
489 testflashmodel
490 \family default
491
492 \begin_inset Index idx
493 status collapsed
494
495 \begin_layout Plain Layout
496 testflashmodel
497 \end_layout
498
499 \end_inset
500
501 in the library
502 \family typewriter
503 flash.a4l
504 \family default
505
506 \begin_inset Index idx
507 status collapsed
508
509 \begin_layout Plain Layout
510 flash.a4l
511 \end_layout
512
513 \end_inset
514
515 .
516 \end_layout
517
518 \begin_layout LyX-Code
519 pdV IS_A phases_data('V', 'ideal_vapor_mixture',
520 \end_layout
521
522 \begin_layout LyX-Code
523 'none', 'none');
524 \end_layout
525
526 \begin_layout LyX-Code
527 pdL IS_A phases_data('L', 'none',
528 \end_layout
529
530 \begin_layout LyX-Code
531 'UNIFAC_liquid_mixture', 'none');
532 \end_layout
533
534 \begin_layout LyX-Code
535 pdVL IS_A phases_data('VL', 'ideal_vapor_mixture',
536 \end_layout
537
538 \begin_layout LyX-Code
539 'UNIFAC_liquid_mixture','none');
540 \end_layout
541
542 \begin_layout Standard
543 When compiled,
544 \family typewriter
545 pdV
546 \family default
547 ,
548 \family typewriter
549 pdL
550 \family default
551 and
552 \family typewriter
553 pdVL
554 \family default
555 contain the data structures the thermodynamic models require to model a
556 vapor, liquid and vapor/liquid stream
557 \begin_inset Index idx
558 status collapsed
559
560 \begin_layout Plain Layout
561 stream
562 \end_layout
563
564 \end_inset
565
566 (or holdup
567 \begin_inset Index idx
568 status collapsed
569
570 \begin_layout Plain Layout
571 holdup
572 \end_layout
573
574 \end_inset
575
576 ).
577 \end_layout
578
579 \begin_layout Standard
580 \begin_inset Marginal
581 status collapsed
582
583 \begin_layout Plain Layout
584 the phase indicators and types
585 \end_layout
586
587 \end_inset
588
589 The first parameter is a character that indicates the phase option desired
590 -
591 \family typewriter
592 'M'
593 \family default
594 ,
595 \family typewriter
596 'V'
597 \family default
598 ,
599 \family typewriter
600 'L'
601 \family default
602 ,
603 \family typewriter
604 'VL'
605 \family default
606 ,
607 \family typewriter
608 'LL'
609 \family default
610 and
611 \family typewriter
612 'VLL'
613 \family default
614 .
615
616 \family typewriter
617 'M'
618 \family default
619 is for a material only stream (no thermodynamic properties are to be computed),
620
621 \family typewriter
622 'V'
623 \family default
624 is for vapor and
625 \family typewriter
626 'L'
627 \family default
628 for liquid.
629 This model always expects the user to supply in the last three parameters
630 an ordered list giving the three single phase mixture models to be used:
631 vapor, liquid1, liquid2.
632 For a non-existent phase
633 \begin_inset Index idx
634 status collapsed
635
636 \begin_layout Plain Layout
637 non-existent phase
638 \end_layout
639
640 \end_inset
641
642 , the user should supply 'none' as the model.
643 If there is only one liquid phase, liquid2 will not exist.
644 The allowed models we can use to estimate multi-component phase mixture
645 properties are in the third of the libraries we describe in this chapter,
646
647 \family typewriter
648 thermodynamics.a4l
649 \family default
650
651 \begin_inset Index idx
652 status collapsed
653
654 \begin_layout Plain Layout
655 thermodynamics.a4l
656 \end_layout
657
658 \end_inset
659
660 , which we discuss shortly in Section
661 \begin_inset CommandInset ref
662 LatexCommand ref
663 reference "ssec:physprops.thermoLib"
664
665 \end_inset
666
667
668 \noun off
669 .
670 \end_layout
671
672 \begin_layout Standard
673 \begin_inset Float figure
674 wide false
675 sideways false
676 status open
677
678 \begin_layout Plain Layout
679
680 \noun off
681 \begin_inset Graphics
682 filename howto-physpropsFig1.eps
683 width 90col%
684
685 \end_inset
686
687
688 \end_layout
689
690 \begin_layout Plain Layout
691 \begin_inset Caption Standard
692
693 \begin_layout Plain Layout
694 Phases.a4l
695 \begin_inset Index idx
696 status collapsed
697
698 \begin_layout Plain Layout
699 Phases.a4l
700 \end_layout
701
702 \end_inset
703
704 models
705 \begin_inset CommandInset label
706 LatexCommand label
707 name "fig:physprops.phases.a4l"
708
709 \end_inset
710
711
712 \end_layout
713
714 \end_inset
715
716
717 \end_layout
718
719 \end_inset
720
721
722 \end_layout
723
724 \begin_layout Subsection
725 The
726 \family typewriter
727 components.a4l
728 \family default
729
730 \begin_inset Index idx
731 status collapsed
732
733 \begin_layout Plain Layout
734 components.a4l
735 \end_layout
736
737 \end_inset
738
739 library
740 \end_layout
741
742 \begin_layout Standard
743 In this library (see Figure
744 \begin_inset CommandInset ref
745 LatexCommand ref
746 reference "fig:physprops.components.a4l"
747
748 \end_inset
749
750
751 \noun off
752 ) we provide the actual physical property data for the components supplied
753 with ASCEND.
754 The data we provide is that found in the tables at the back of Reid
755 \begin_inset Index idx
756 status collapsed
757
758 \begin_layout Plain Layout
759 Reid
760 \end_layout
761
762 \end_inset
763
764 , Prausnitz
765 \begin_inset Index idx
766 status collapsed
767
768 \begin_layout Plain Layout
769 Prausnitz
770 \end_layout
771
772 \end_inset
773
774 and Poling
775 \begin_inset Index idx
776 status collapsed
777
778 \begin_layout Plain Layout
779 Poling
780 \end_layout
781
782 \end_inset
783
784 , The Properties of Vapors
785 \noun default
786 &
787 \noun off
788 Liquids, 4th Ed, McGraw-Hill
789 \begin_inset Index idx
790 status collapsed
791
792 \begin_layout Plain Layout
793 McGraw-Hill
794 \end_layout
795
796 \end_inset
797
798 , New York (1986).
799 For a few of the components, we have also identified their UNIFAC groups
800 \begin_inset Index idx
801 status collapsed
802
803 \begin_layout Plain Layout
804 UNIFAC groups
805 \end_layout
806
807 \end_inset
808
809 .
810 We include a few Wilson binary mixture parameters
811 \begin_inset Index idx
812 status collapsed
813
814 \begin_layout Plain Layout
815 Wilson binary mixture parameters
816 \end_layout
817
818 \end_inset
819
820 .
821 \end_layout
822
823 \begin_layout Standard
824 \begin_inset Marginal
825 status collapsed
826
827 \begin_layout Plain Layout
828 need to create only instances of components_data
829 \end_layout
830
831 \end_inset
832
833 The purpose of this library is similar to the
834 \family typewriter
835 phases.a4l
836 \family default
837 library.
838 We wish to provide an easy-to-use model that will set up the data structures
839 for the components in a mixture that the thermodynamic models will use
840 when estimating mixture physical properties.
841 All the user has to do is create an instance of the bottom-most model
842 \family typewriter
843 components_data
844 \family default
845 , passing into it a list of the components in the mixture and the name of
846 one of them which is to serve as the reference component.
847 This model, having parts which are instances of the others present in this
848 library, then compiles into the needed data structures.
849 \end_layout
850
851 \begin_layout Standard
852 An example of use is found in the model
853 \family typewriter
854 testflashmodel
855 \family default
856 in the library
857 \family typewriter
858 flash.a4l
859 \family default
860
861 \begin_inset Index idx
862 status collapsed
863
864 \begin_layout Plain Layout
865 flash.a4l
866 \end_layout
867
868 \end_inset
869
870 :
871 \end_layout
872
873 \begin_layout LyX-Code
874 cd IS_A components_data(['n_pentane','n_hexane',
875 \end_layout
876
877 \begin_layout LyX-Code
878 'n_heptane'],'n_heptane');
879 \end_layout
880
881 \begin_layout Standard
882 When compiled
883 \family typewriter
884 cd
885 \family default
886 has in it a data structure containing the physical properties for the three
887 species listed.
888 \end_layout
889
890 \begin_layout Standard
891 \begin_inset Marginal
892 status collapsed
893
894 \begin_layout Plain Layout
895 reference component
896 \end_layout
897
898 \end_inset
899
900 The choice of which species to use as the reference component
901 \begin_inset Index idx
902 status collapsed
903
904 \begin_layout Plain Layout
905 reference component
906 \end_layout
907
908 \end_inset
909
910 is up to the user.
911 Usually a good choice is one that is plentiful in the mixture, but that
912 need not be so.
913
914 \end_layout
915
916 \begin_layout Standard
917 \begin_inset Float figure
918 wide false
919 sideways false
920 status open
921
922 \begin_layout Plain Layout
923 \begin_inset Graphics
924 filename howto-physpropsFig2.eps
925 width 100col%
926
927 \end_inset
928
929
930 \end_layout
931
932 \begin_layout Plain Layout
933 \begin_inset Caption Standard
934
935 \begin_layout Plain Layout
936 components.a4l
937 \begin_inset Index idx
938 status collapsed
939
940 \begin_layout Plain Layout
941 components.a4l
942 \end_layout
943
944 \end_inset
945
946 models
947 \begin_inset CommandInset label
948 LatexCommand label
949 name "fig:physprops.components.a4l"
950
951 \end_inset
952
953
954 \end_layout
955
956 \end_inset
957
958
959 \end_layout
960
961 \end_inset
962
963
964 \end_layout
965
966 \begin_layout Standard
967 \begin_inset Marginal
968 status collapsed
969
970 \begin_layout Plain Layout
971 adding a new component
972 \end_layout
973
974 \end_inset
975
976 One can add more components to this library as follows:
977 \end_layout
978
979 \begin_layout Enumerate
980 add the name of the new component to the list of supported_components at
981 the beginning of the model
982 \family typewriter
983 td_thermodynamic_constants
984 \family default
985 (part of the
986 \family typewriter
987 WHERE
988 \family default
989 statement that causes the system to output a diagnostic if someone subsequently
990 misspells the name of a component)
991 \end_layout
992
993 \begin_layout Enumerate
994 add the component data as a
995 \family typewriter
996 CASE
997 \family default
998 to the
999 \family typewriter
1000 SELECT
1001 \family default
1002 statement in
1003 \family typewriter
1004
1005 \begin_inset Newline newline
1006 \end_inset
1007
1008 td_thermodynamic_constants
1009 \family default
1010 (for an example, look at how it is done for 'methanol')
1011 \end_layout
1012
1013 \begin_layout Standard
1014 \begin_inset Marginal
1015 status collapsed
1016
1017 \begin_layout Plain Layout
1018 adding UNIFAC group identifiers
1019 \end_layout
1020
1021 \end_inset
1022
1023 Put the UNIFAC group identifiers
1024 \begin_inset Index idx
1025 status collapsed
1026
1027 \begin_layout Plain Layout
1028 UNIFAC group identifiers
1029 \end_layout
1030
1031 \end_inset
1032
1033 for the new component into the set subgroups.
1034 To illustrate, this statement for methanol is:
1035 \end_layout
1036
1037 \begin_layout LyX-Code
1038 subgroups:== ['CH3', 'OH'];
1039 \end_layout
1040
1041 \begin_layout Standard
1042 You can find all the UNIFAC group identifiers possible in the model
1043 \family typewriter
1044 UNIFAC_constants
1045 \family default
1046
1047 \begin_inset Index idx
1048 status collapsed
1049
1050 \begin_layout Plain Layout
1051 UNIFAC
1052 \begin_inset ERT
1053 status collapsed
1054
1055 \begin_layout Plain Layout
1056
1057
1058 \backslash
1059 _
1060 \end_layout
1061
1062 \end_inset
1063
1064 constants
1065 \end_layout
1066
1067 \end_inset
1068
1069 .
1070 Then fill in the vector
1071 \family typewriter
1072 nu
1073 \family default
1074 with a value for each of these groups (to indicate how many such groups
1075 are in the molecule).
1076 To illustrate, the values for methanol are:
1077 \end_layout
1078
1079 \begin_layout LyX-Code
1080 nu['CH3']:==1;
1081 \end_layout
1082
1083 \begin_layout LyX-Code
1084 nu['OH']:==1;
1085 \end_layout
1086
1087 \begin_layout Standard
1088 If you are entering the component without identifying its UNIFAC groups,
1089 then enter the subgroups statement and define it as empty -- i.e., write
1090 \end_layout
1091
1092 \begin_layout LyX-Code
1093 subgroups:== [ ];
1094 \end_layout
1095
1096 \begin_layout Standard
1097 There should then be no entry for nu (see the
1098 \family typewriter
1099 CASE
1100 \family default
1101 for hydrogen, for example).
1102 An activity coefficient estimated by the UNIFAC method will be unity for
1103 such a component.
1104 \end_layout
1105
1106 \begin_layout Standard
1107 \begin_inset Marginal
1108 status collapsed
1109
1110 \begin_layout Plain Layout
1111 adding Wilson parameters
1112 \end_layout
1113
1114 \end_inset
1115
1116 To add Wilson parameters
1117 \begin_inset Index idx
1118 status collapsed
1119
1120 \begin_layout Plain Layout
1121 Wilson parameters
1122 \end_layout
1123
1124 \end_inset
1125
1126 , first fill in the names of the other components for which you are adding
1127 data into the set
1128 \family typewriter
1129 wilson_set
1130 \family default
1131 .
1132 For example, this set for methanol might be:
1133 \end_layout
1134
1135 \begin_layout LyX-Code
1136 wilson_set:== ['H2O','(CH3)2CO','CH3OH'];
1137 \end_layout
1138
1139 \begin_layout Standard
1140 Then fill in lambda and energy parameters into the arrays
1141 \family typewriter
1142 lambda
1143 \family default
1144 and
1145 \family typewriter
1146 del_ip
1147 \family default
1148 , one for each of the other components.
1149 Again, to illustrate, these arrays for methanol would be:
1150 \end_layout
1151
1152 \begin_layout LyX-Code
1153 lambda['H2O']:==0.43045;
1154 \end_layout
1155
1156 \begin_layout LyX-Code
1157 lambda['(CH3)2CO']:==0.77204;
1158 \end_layout
1159
1160 \begin_layout LyX-Code
1161 lambda['CH3OH']:==1.0;
1162 \end_layout
1163
1164 \begin_layout LyX-Code
1165 del_ip['(CH3)2CO']:==2.6493E+002 {J/g_mole};
1166 \end_layout
1167
1168 \begin_layout LyX-Code
1169 del_ip['H2O']:==1.1944E+002 {J/g_mole};
1170 \end_layout
1171
1172 \begin_layout LyX-Code
1173 del_ip['CH3OH']:==0.0 {J/g_mole};
1174 \end_layout
1175
1176 \begin_layout Standard
1177 Finally for each of these other components, go to its
1178 \family typewriter
1179 CASE
1180 \family default
1181 statement, add the name of the new component to its wilson_set and then
1182 add statements to set the corresponding lambda and energy data.
1183 BEN, IS THIS RIGHT????If you are not adding any Wilson data, enter the
1184 statement:
1185 \end_layout
1186
1187 \begin_layout LyX-Code
1188 wilson_set:== [ ];
1189 \end_layout
1190
1191 \begin_layout Subsection
1192 The
1193 \family typewriter
1194 thermodynamics.a4l
1195 \family default
1196
1197 \begin_inset Index idx
1198 status collapsed
1199
1200 \begin_layout Plain Layout
1201 thermodynamics.a4l
1202 \end_layout
1203
1204 \end_inset
1205
1206 library
1207 \begin_inset CommandInset label
1208 LatexCommand label
1209 name "ssec:physprops.thermoLib"
1210
1211 \end_inset
1212
1213
1214 \end_layout
1215
1216 \begin_layout Standard
1217 \begin_inset Marginal
1218 status collapsed
1219
1220 \begin_layout Plain Layout
1221 create instances only of phase_partials and thermodynamics
1222 \end_layout
1223
1224 \end_inset
1225
1226 Figure
1227 \begin_inset CommandInset ref
1228 LatexCommand ref
1229 reference "fig:physprops.thermoLib"
1230
1231 \end_inset
1232
1233
1234 \noun off
1235 shows all the models in this library and how they are related to each other.
1236 There are two models in this library that the user has to worry about:
1237
1238 \family typewriter
1239 \noun default
1240 phase_partials
1241 \family default
1242 \noun off
1243
1244 \begin_inset Index idx
1245 status collapsed
1246
1247 \begin_layout Plain Layout
1248 phase
1249 \begin_inset ERT
1250 status collapsed
1251
1252 \begin_layout Plain Layout
1253
1254
1255 \backslash
1256 _
1257 \end_layout
1258
1259 \end_inset
1260
1261 partials
1262 \end_layout
1263
1264 \end_inset
1265
1266 and
1267 \family typewriter
1268 \noun default
1269 thermodynamics
1270 \family default
1271 \noun off
1272 .
1273 The user creates one instance of thermodynamics for every stream or holdup
1274 in a process model.
1275 Each instance, when compiled has parts which are instances of the other
1276 models in this library and which are create the equations to compute the
1277 thermodynamic properties for a multi-component, multi-phase mixture.
1278 \end_layout
1279
1280 \begin_layout Standard
1281 However, the user must pass each instance of a thermodynamics model an array
1282 of instances of
1283 \family typewriter
1284 phase_partials
1285 \family default
1286 , one for each phase in the mixture.
1287 One
1288 \family typewriter
1289 phase_partials
1290 \family default
1291 model must exist for each phase in each stream or holdup in the process
1292 model as it provides the equations modeling that phase.
1293
1294 \end_layout
1295
1296 \begin_layout Standard
1297 \begin_inset Note Note
1298 status collapsed
1299
1300 \begin_layout Plain Layout
1301 Need to explain UNIFAC, Pitzer etc, since these terms are not familiar to
1302 the Mechanical Engineer, and no details are provided as to which is appropriate
1303 for which types of problems.
1304 \end_layout
1305
1306 \begin_layout Plain Layout
1307 Also, it would be useful to know how to model a homogenous two-phase stream
1308 of gas/liquid mixture of a single component.
1309 \end_layout
1310
1311 \begin_layout Plain Layout
1312 Also, the documentation needs a 'hello world' example of how to use the
1313 properties correlation, eg how to compute the enthalpy of water at room
1314 temperature / atmospheric pressure.
1315 \end_layout
1316
1317 \end_inset
1318
1319
1320 \end_layout
1321
1322 \begin_layout Standard
1323 Each of the models in the array of
1324 \family typewriter
1325 phase_partials
1326 \family default
1327 must be refined to be one of the possible models for computing properties
1328 for a single phase mixture, i.e., one of the models lying below the
1329 \family typewriter
1330 phase_paritals
1331 \family default
1332 model in Figure
1333 \begin_inset CommandInset ref
1334 LatexCommand ref
1335 reference "fig:physprops.thermoLib"
1336
1337 \end_inset
1338
1339
1340 \noun off
1341 :
1342 \family typewriter
1343 \noun default
1344 ideal_vapor_mixture
1345 \family default
1346 \noun off
1347
1348 \begin_inset Index idx
1349 status collapsed
1350
1351 \begin_layout Plain Layout
1352 ideal
1353 \begin_inset ERT
1354 status collapsed
1355
1356 \begin_layout Plain Layout
1357
1358
1359 \backslash
1360 _
1361 \end_layout
1362
1363 \end_inset
1364
1365 vapor
1366 \begin_inset ERT
1367 status collapsed
1368
1369 \begin_layout Plain Layout
1370
1371
1372 \backslash
1373 _
1374 \end_layout
1375
1376 \end_inset
1377
1378 mixture
1379 \end_layout
1380
1381 \end_inset
1382
1383 ,
1384 \family typewriter
1385 \noun default
1386 Pitzer_vapor_mixture
1387 \family default
1388 \noun off
1389
1390 \begin_inset Index idx
1391 status collapsed
1392
1393 \begin_layout Plain Layout
1394 Pitzer
1395 \begin_inset ERT
1396 status collapsed
1397
1398 \begin_layout Plain Layout
1399
1400
1401 \backslash
1402 _
1403 \end_layout
1404
1405 \end_inset
1406
1407 vapor
1408 \begin_inset ERT
1409 status collapsed
1410
1411 \begin_layout Plain Layout
1412
1413
1414 \backslash
1415 _
1416 \end_layout
1417
1418 \end_inset
1419
1420 mixture
1421 \end_layout
1422
1423 \end_inset
1424
1425 ,
1426 \family typewriter
1427 \noun default
1428 UNIFAC_liquid_mixture
1429 \family default
1430 \noun off
1431
1432 \begin_inset Index idx
1433 status collapsed
1434
1435 \begin_layout Plain Layout
1436 UNIFAC
1437 \begin_inset ERT
1438 status collapsed
1439
1440 \begin_layout Plain Layout
1441
1442
1443 \backslash
1444 _
1445 \end_layout
1446
1447 \end_inset
1448
1449 liquid
1450 \begin_inset ERT
1451 status collapsed
1452
1453 \begin_layout Plain Layout
1454
1455
1456 \backslash
1457 _
1458 \end_layout
1459
1460 \end_inset
1461
1462 mixture
1463 \end_layout
1464
1465 \end_inset
1466
1467 or
1468 \family typewriter
1469 \noun default
1470 Wilson_liquid_mixture
1471 \family default
1472 \noun off
1473
1474 \begin_inset Index idx
1475 status collapsed
1476
1477 \begin_layout Plain Layout
1478 Wilson
1479 \begin_inset ERT
1480 status collapsed
1481
1482 \begin_layout Plain Layout
1483
1484
1485 \backslash
1486 _
1487 \end_layout
1488
1489 \end_inset
1490
1491 liquid
1492 \begin_inset ERT
1493 status collapsed
1494
1495 \begin_layout Plain Layout
1496
1497
1498 \backslash
1499 _
1500 \end_layout
1501
1502 \end_inset
1503
1504 mixture
1505 \end_layout
1506
1507 \end_inset
1508
1509 .
1510 \end_layout
1511
1512 \begin_layout Standard
1513 \begin_inset Float figure
1514 wide false
1515 sideways false
1516 status open
1517
1518 \begin_layout Plain Layout
1519
1520 \noun off
1521 \begin_inset Graphics
1522 filename howto-physpropsFig3.eps
1523 lyxscale 50
1524 width 100col%
1525
1526 \end_inset
1527
1528
1529 \end_layout
1530
1531 \begin_layout Plain Layout
1532 \begin_inset Caption Standard
1533
1534 \begin_layout Plain Layout
1535 Models in thermodynamic.a4l
1536 \begin_inset CommandInset label
1537 LatexCommand label
1538 name "fig:physprops.thermoLib"
1539
1540 \end_inset
1541
1542
1543 \end_layout
1544
1545 \end_inset
1546
1547
1548 \end_layout
1549
1550 \end_inset
1551
1552
1553 \end_layout
1554
1555 \begin_layout Standard
1556 The information in an instance of a
1557 \family typewriter
1558 phases_data
1559 \family default
1560 model allows us to construct this array of
1561 \family typewriter
1562 phase_partials
1563 \family default
1564 .
1565 We extract the following code from the library
1566 \family typewriter
1567 stream_holdup.a4l
1568 \family default
1569
1570 \begin_inset Index idx
1571 status collapsed
1572
1573 \begin_layout Plain Layout
1574 stream
1575 \begin_inset ERT
1576 status collapsed
1577
1578 \begin_layout Plain Layout
1579
1580
1581 \backslash
1582 _
1583 \end_layout
1584
1585 \end_inset
1586
1587 holdup.a4l
1588 \end_layout
1589
1590 \end_inset
1591
1592 to illustrate how we have created such a model, given a
1593 \family typewriter
1594 phases_data
1595 \family default
1596 model.
1597 \end_layout
1598
1599 \begin_layout LyX-Code
1600 MODEL select_mixture_type
1601 \begin_inset Index idx
1602 status collapsed
1603
1604 \begin_layout Plain Layout
1605 select
1606 \begin_inset ERT
1607 status collapsed
1608
1609 \begin_layout Plain Layout
1610
1611
1612 \backslash
1613 _
1614 \end_layout
1615
1616 \end_inset
1617
1618 mixture
1619 \begin_inset ERT
1620 status collapsed
1621
1622 \begin_layout Plain Layout
1623
1624
1625 \backslash
1626 _
1627 \end_layout
1628
1629 \end_inset
1630
1631 type
1632 \end_layout
1633
1634 \end_inset
1635
1636 (
1637 \end_layout
1638
1639 \begin_layout LyX-Code
1640 cd WILL_BE components_data;
1641 \end_layout
1642
1643 \begin_layout LyX-Code
1644 type WILL_BE symbol_constant;
1645 \end_layout
1646
1647 \begin_layout LyX-Code
1648 ) REFINES sh_base;
1649 \end_layout
1650
1651 \begin_layout LyX-Code
1652 phase IS_A phase_partials(cd);
1653 \end_layout
1654
1655 \begin_layout LyX-Code
1656 SELECT (type)
1657 \end_layout
1658
1659 \begin_layout LyX-Code
1660 CASE 'ideal_vapor_mixture':
1661 \end_layout
1662
1663 \begin_layout LyX-Code
1664 phase IS_REFINED_TO ideal_vapor_mixture(cd);
1665 \end_layout
1666
1667 \begin_layout LyX-Code
1668 CASE 'Pitzer_vapor_mixture':
1669 \end_layout
1670
1671 \begin_layout LyX-Code
1672 phase IS_REFINED_TO Pitzer_vapor_mixture(cd);
1673 \end_layout
1674
1675 \begin_layout LyX-Code
1676 CASE 'UNIFAC_liquid_mixture':
1677 \end_layout
1678
1679 \begin_layout LyX-Code
1680 phase IS_REFINED_TO UNIFAC_liquid_mixture(cd);
1681 \end_layout
1682
1683 \begin_layout LyX-Code
1684 CASE 'Wilson_liquid_mixture':
1685 \end_layout
1686
1687 \begin_layout LyX-Code
1688 phase IS_REFINED_TO Wilson_liquid_mixture(cd);
1689 \end_layout
1690
1691 \begin_layout LyX-Code
1692 OTHERWISE:
1693 \end_layout
1694
1695 \begin_layout LyX-Code
1696 END SELECT;
1697 \end_layout
1698
1699 \begin_layout LyX-Code
1700 boundwidth IS_A bound_width;
1701 \end_layout
1702
1703 \begin_layout LyX-Code
1704 ...
1705 \end_layout
1706
1707 \begin_layout LyX-Code
1708 ...
1709 \end_layout
1710
1711 \begin_layout LyX-Code
1712 ...
1713 \end_layout
1714
1715 \begin_layout LyX-Code
1716
1717 \end_layout
1718
1719 \begin_layout LyX-Code
1720 END select_mixture_type;
1721 \end_layout
1722
1723 \begin_layout LyX-Code
1724
1725 \end_layout
1726
1727 \begin_layout LyX-Code
1728 MODEL stream( .......
1729 \end_layout
1730
1731 \begin_layout LyX-Code
1732 ...
1733 \end_layout
1734
1735 \begin_layout LyX-Code
1736 ...
1737 \end_layout
1738
1739 \begin_layout LyX-Code
1740 ...
1741 \end_layout
1742
1743 \begin_layout LyX-Code
1744
1745 \end_layout
1746
1747 \begin_layout LyX-Code
1748 FOR j IN phases CREATE
1749 \end_layout
1750
1751 \begin_layout LyX-Code
1752 smt[j] IS_A select_mixture_type(cd, pd.phase_type[j]);
1753 \end_layout
1754
1755 \begin_layout LyX-Code
1756 END FOR;
1757 \end_layout
1758
1759 \begin_layout LyX-Code
1760 FOR j IN phases CREATE
1761 \end_layout
1762
1763 \begin_layout LyX-Code
1764 phase[j] ALIASES smt[j].phase;
1765 \end_layout
1766
1767 \begin_layout LyX-Code
1768 END FOR;
1769 \end_layout
1770
1771 \begin_layout LyX-Code
1772 state IS_A thermodynamics(cd, pd, phase, equilibrated);
1773 \end_layout
1774
1775 \begin_layout LyX-Code
1776 ...
1777 \end_layout
1778
1779 \begin_layout LyX-Code
1780 ...
1781 \end_layout
1782
1783 \begin_layout LyX-Code
1784 ...
1785 \end_layout
1786
1787 \begin_layout LyX-Code
1788 ...
1789 \end_layout
1790
1791 \begin_layout Standard
1792 \begin_inset Marginal
1793 status collapsed
1794
1795 \begin_layout Plain Layout
1796 cannot directly embed SELECT statements in FOR loops
1797 \end_layout
1798
1799 \end_inset
1800
1801 We had to be a bit tricky, but we hope we have not been so devious that
1802 you cannot understand what we have done if we explain it to you here.
1803 Look first at the code we extracted from the model stream.
1804 The models
1805 \family typewriter
1806 cd
1807 \family default
1808 and
1809 \family typewriter
1810 pd
1811 \family default
1812 are instances of a
1813 \family typewriter
1814 components_data
1815 \family default
1816 and a
1817 \family typewriter
1818 phases_data
1819 \family default
1820 model respectively.
1821 If we look inside
1822 \family typewriter
1823 pd
1824 \family default
1825 , we will find it contains an array called
1826 \family typewriter
1827 phase_type
1828 \family default
1829 , with one entry for each phase that gives the type (name) of the model
1830 to be used to set up the equations for that phase.
1831 ASCEND does not allow
1832 \family typewriter
1833 SELECT
1834 \family default
1835 statements
1836 \begin_inset Index idx
1837 status collapsed
1838
1839 \begin_layout Plain Layout
1840 SELECT statements.
1841 embedded in FOR
1842 \end_layout
1843
1844 \end_inset
1845
1846 to be embedded directly within a
1847 \family typewriter
1848 FOR
1849 \family default
1850 loop -- thus we need a bit of deviousness.
1851 For each phase j we create
1852 \family typewriter
1853 smt[j]
1854 \family default
1855 as an instance of a
1856 \family typewriter
1857 select_mixture_type
1858 \family default
1859 model.
1860 We parameterize the
1861 \family typewriter
1862 select_mixture_type
1863 \family default
1864 with the components data
1865 \family typewriter
1866 cd
1867 \family default
1868 and the type (name)
1869 \family typewriter
1870 pd.phase_type[j]
1871 \family default
1872 of the model to be used to generate its equations.
1873 Then we embed the select statement within the
1874 \family typewriter
1875 select_mixture_type
1876 \family default
1877 model, something ASCEND does allow.
1878 \end_layout
1879
1880 \begin_layout Standard
1881 The model
1882 \family typewriter
1883 select_mixture_type
1884 \family default
1885 appears first in this code.
1886 It uses the type (name) it is passed to select and then to instance the
1887 desired refinement of the
1888 \family typewriter
1889 phase_partials
1890 \family default
1891 model.
1892
1893 \end_layout
1894
1895 \begin_layout Standard
1896 Returning to the code extracted from the flash model, the second
1897 \family typewriter
1898 FOR
1899 \family default
1900 loop creates the desired array by aliasing the array element
1901 \family typewriter
1902 phase[j]
1903 \family default
1904 with the phase model created within the corresponding
1905 \family typewriter
1906 smt
1907 \family default
1908 instance.
1909 \end_layout
1910
1911 \begin_layout Standard
1912 \begin_inset Marginal
1913 status open
1914
1915 \begin_layout Plain Layout
1916 disappearing phases
1917 \begin_inset Index idx
1918 status collapsed
1919
1920 \begin_layout Plain Layout
1921 disappearing phases
1922 \end_layout
1923
1924 \end_inset
1925
1926
1927 \end_layout
1928
1929 \end_inset
1930
1931 The multi-phase model handles the case where a phase disappears by using
1932 a complementarity
1933 \begin_inset Index idx
1934 status collapsed
1935
1936 \begin_layout Plain Layout
1937 complementarity
1938 \end_layout
1939
1940 \end_inset
1941
1942 formulation.
1943 This formulation relaxes the constraint for a phase that its mole fractions
1944 must sum to unity when it disappears.
1945 Thus the vapor/liquid model will correctly alter the model to handle the
1946 situation when the mixture becomes a superheated vapor or a subcooled liquid.
1947 \end_layout
1948
1949 \begin_layout Standard
1950 We are now ready to create an instance of a thermodynamics model.
1951 When compiled this instance contains all the equations needed to estimate
1952 the phase conditions for a multi-phase, multi-component mixture assuming
1953 equilibrium exists among the phases.
1954 The following line of code, extracted from the stream model referred to
1955 above, illustrates its use:
1956 \end_layout
1957
1958 \begin_layout LyX-Code
1959 state IS_A thermodynamics(cd, pd, phase, equilibrated);
1960 \end_layout
1961
1962 \begin_layout Standard
1963 where
1964 \family typewriter
1965 cd
1966 \family default
1967 is an instance of a
1968 \family typewriter
1969 components_data model
1970 \family default
1971 ,
1972 \family typewriter
1973 pd
1974 \family default
1975 of a
1976 \family typewriter
1977 phases_data
1978 \family default
1979 model,
1980 \family typewriter
1981 phase
1982 \family default
1983 an array of instances of
1984 \family typewriter
1985 phase_partials
1986 \family default
1987 , and
1988 \family typewriter
1989 equilibrated
1990 \family default
1991 a
1992 \family typewriter
1993 boolean
1994 \family default
1995 variable.
1996 When
1997 \family typewriter
1998 equilibrated
1999 \family default
2000 is
2001 \family typewriter
2002 FALSE
2003 \family default
2004 , the model will generate the equations assuming constant relative volatilities
2005 (the user must estimate these volatilities).
2006 When
2007 \family typewriter
2008 TRUE
2009 \family default
2010 , the model generates the equations assuming the chemical potentials for
2011 a component are equal in all phases.
2012 \end_layout
2013
2014 \begin_layout Section
2015 Using the thermodynamics models
2016 \end_layout
2017
2018 \begin_layout Standard
2019 There are several libraries of models that use the libraries we have just
2020 described.
2021 The first library to examine is
2022 \family typewriter
2023 stream_holdup.a4l
2024 \family default
2025 .
2026 This library contains steady-state models for a stream and a holdup.
2027 The following gives the parameter list for a user to create an instance
2028 of a stream.
2029 \end_layout
2030
2031 \begin_layout Subsection
2032 Streams
2033 \begin_inset Index idx
2034 status collapsed
2035
2036 \begin_layout Plain Layout
2037 streams
2038 \end_layout
2039
2040 \end_inset
2041
2042 and holdups
2043 \begin_inset Index idx
2044 status collapsed
2045
2046 \begin_layout Plain Layout
2047 holdups
2048 \end_layout
2049
2050 \end_inset
2051
2052
2053 \end_layout
2054
2055 \begin_layout LyX-Code
2056 MODEL stream (
2057 \end_layout
2058
2059 \begin_layout LyX-Code
2060 cd WILL_BE components_data;
2061 \end_layout
2062
2063 \begin_layout LyX-Code
2064 pd WILL_BE phases_data;
2065 \end_layout
2066
2067 \begin_layout LyX-Code
2068 equilibrated WILL_BE boolean;
2069 \end_layout
2070
2071 \begin_layout LyX-Code
2072 ) REFINES sh_base;
2073 \end_layout
2074
2075 \begin_layout Standard
2076 The model
2077 \family typewriter
2078 sh_base
2079 \family default
2080 is a dummy model to tie all models into this library back to a common root
2081 model.
2082 The user need do nothing because of this refinement.
2083 What you should note is that all you need to do to create a stream is create
2084 a
2085 \family typewriter
2086 components_data
2087 \family default
2088 model and a
2089 \family typewriter
2090 phases_data
2091 \family default
2092 model.
2093 One supplies the boolean variable
2094 \family typewriter
2095 equilibrated
2096 \family default
2097 as a variable that one can set interactively or in a method or a script
2098 when running the model to decide how to model equilibrium, as we have discussed
2099 above.
2100 A holdup is equally as easy to model.
2101 \end_layout
2102
2103 \begin_layout Subsection
2104 Flash units
2105 \begin_inset Index idx
2106 status collapsed
2107
2108 \begin_layout Plain Layout
2109 flash units
2110 \end_layout
2111
2112 \end_inset
2113
2114 and variants thereof
2115 \end_layout
2116
2117 \begin_layout Standard
2118 From streams and holdups, we can move on to unit operation models.
2119 The library
2120 \family typewriter
2121 flash.a4l
2122 \family default
2123 provide us with a flash model.
2124 The parameter list for the flash model is:
2125 \end_layout
2126
2127 \begin_layout LyX-Code
2128 MODEL vapor_liquid_flash
2129 \begin_inset Index idx
2130 status collapsed
2131
2132 \begin_layout Plain Layout
2133 vapor
2134 \begin_inset ERT
2135 status collapsed
2136
2137 \begin_layout Plain Layout
2138
2139
2140 \backslash
2141 _
2142 \end_layout
2143
2144 \end_inset
2145
2146 liquid
2147 \begin_inset ERT
2148 status collapsed
2149
2150 \begin_layout Plain Layout
2151
2152
2153 \backslash
2154 _
2155 \end_layout
2156
2157 \end_inset
2158
2159 flash
2160 \end_layout
2161
2162 \end_inset
2163
2164 (
2165 \end_layout
2166
2167 \begin_layout LyX-Code
2168 Qin WILL_BE energy_rate;
2169 \end_layout
2170
2171 \begin_layout LyX-Code
2172 equilibrated WILL_BE boolean;
2173 \end_layout
2174
2175 \begin_layout LyX-Code
2176 feed WILL_BE stream;
2177 \end_layout
2178
2179 \begin_layout LyX-Code
2180 vapout WILL_BE stream;
2181 \end_layout
2182
2183 \begin_layout LyX-Code
2184 liqout WILL_BE stream;
2185 \end_layout
2186
2187 \begin_layout LyX-Code
2188 ) WHERE (
2189 \end_layout
2190
2191 \begin_layout LyX-Code
2192 feed, vapout, liqout WILL_NOT_BE_THE_SAME;
2193 \end_layout
2194
2195 \begin_layout LyX-Code
2196 feed.cd, vapout.cd, liqout.cd WILL_BE_THE_SAME;
2197 \end_layout
2198
2199 \begin_layout LyX-Code
2200 vapout.pd.phase_indicator == 'V';
2201 \end_layout
2202
2203 \begin_layout LyX-Code
2204 liqout.pd.phase_indicator == 'L';
2205 \end_layout
2206
2207 \begin_layout LyX-Code
2208 (feed.pd.phase_indicator IN ['V','L','VL','VLL']) == TRUE;
2209 \end_layout
2210
2211 \begin_layout LyX-Code
2212 ) REFINES flash_base;
2213 \end_layout
2214
2215 \begin_layout Standard
2216 Again we see that to create a flash unit, we need to create the variable
2217
2218 \family typewriter
2219 Qin
2220 \family default
2221 for the heat input to the unit, a boolean
2222 \family typewriter
2223 equilibrated
2224 \family default
2225 and three streams,
2226 \family typewriter
2227 feed
2228 \family default
2229 ,
2230 \family typewriter
2231 vapout
2232 \family default
2233 and
2234 \family typewriter
2235 liqout
2236 \family default
2237 .
2238 The three streams must all be different streams.
2239 They must have the same components in them.
2240 The stream
2241 \family typewriter
2242 vapout
2243 \family default
2244 must be a vapor stream and the stream
2245 \family typewriter
2246 liqout
2247 \family default
2248 a liquid stream.
2249 The
2250 \family typewriter
2251 feed
2252 \family default
2253 stream can be of any kind.
2254 \end_layout
2255
2256 \begin_layout Standard
2257 Hopefully with the above information, creating a flash unit should not now
2258 seem particularly difficult.
2259 \end_layout
2260
2261 \begin_layout Standard
2262 If you examine this library further, you will see it contains models which
2263 are variations of the flash unit for:
2264 \family typewriter
2265 detailed_tray
2266 \family default
2267 ,
2268 \family typewriter
2269 tray
2270 \family default
2271 ,
2272 \family typewriter
2273 feed_tray
2274 \family default
2275 ,
2276 \family typewriter
2277 total_condenser
2278 \family default
2279 and
2280 \family typewriter
2281 simple_reboiler
2282 \family default
2283 .
2284 \end_layout
2285
2286 \begin_layout Subsection
2287 Distillation columns
2288 \begin_inset Index idx
2289 status collapsed
2290
2291 \begin_layout Plain Layout
2292 Distillation columns
2293 \end_layout
2294
2295 \end_inset
2296
2297
2298 \end_layout
2299
2300 \begin_layout Standard
2301 We provide two libraries that allow you to model distillation columns:
2302 \family typewriter
2303 column.a4l
2304 \family default
2305
2306 \begin_inset Index idx
2307 status collapsed
2308
2309 \begin_layout Plain Layout
2310 column.a4l
2311 \end_layout
2312
2313 \end_inset
2314
2315 and
2316 \family typewriter
2317 collocation.a4l
2318 \family default
2319
2320 \begin_inset Index idx
2321 status collapsed
2322
2323 \begin_layout Plain Layout
2324 collocation.a4l
2325 \end_layout
2326
2327 \end_inset
2328
2329 .
2330 The library
2331 \family typewriter
2332 column.a4l
2333 \family default
2334 first models a tray stack and then a simple column using that model.
2335 A third model extracts the profiles for pressure, temperature, a parameter
2336 that indicates the deviation from constant molar overflow conditions, total
2337 vapor and liquid flows and component compositions against tray number.
2338 This information may then be used for plotting these profiles using the
2339 ASCEND plotting capability.
2340 \end_layout
2341
2342 \begin_layout Standard
2343 The library
2344 \family typewriter
2345 collocation.a4l
2346 \family default
2347 provides collocation models for simple columns.
2348 With collocation models, one models composition profiles as smooth functions
2349 of tray number in a column section.
2350 Columns with a large number of trays are modeled with relatively small
2351 collocation models.
2352 Also the number of trays becomes a continuous variable, aiding in optimization
2353 studies where the number of trays in each section is to be computed.
2354 \end_layout
2355
2356 \begin_layout Subsection
2357 Dynamic unit models
2358 \end_layout
2359
2360 \begin_layout Standard
2361 ASCEND contains models for simulating the dynamic behavior of units.
2362 Their use is described in Chapter
2363 \begin_inset CommandInset ref
2364 LatexCommand vref
2365 reference "cha:ivp"
2366
2367 \end_inset
2368
2369 .
2370 \end_layout
2371
2372 \begin_layout Section
2373 Discussion
2374 \end_layout
2375
2376 \begin_layout Standard
2377 We have presented a description of the libraries that allow one to model
2378 the equations providing thermodynamic properties for multi-component, multi-pha
2379 se mixtures when one assume equilibrium exists among co-existing phases.
2380 With this description, we hope that these models become much less difficult
2381 to use.
2382 We end this chapter by describing other libraries that build on the property
2383 estimation libraries, models for streams and holdups, for flash units and
2384 variations thereof, and for columns.
2385 \end_layout
2386
2387 \end_body
2388 \end_document

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