, ,
.
...
\
j .
L:.aboratorium voor Chemische Technologie
. ,.,
-
, ~ .. : .~.
.
Verslag behorende bij het fabrieksvoorontwerp
van
...
...
: ...
~.~!~~.!.~.!~R~~.~I.~.~~
...
.
onçierwerp: "deatillatietrein
!Nr:
~
).'.
,
,.'
'" 'I" oe-' .. ~.
~ ,'.
'" ..
'adres:J.Toua.aintplein 120,Delft
opdrachtdatum:april
198' verslagdatum: 6dec.198J
, " .. .,
J
~!
I "" "
rl
I; f·
c
1 Ij' "I,
i-l :1 1\:
d
1I
I
-II
d
Ili
I
1 1 I I II
I
~
!
1I IIj
II
I
[·
0
·
I-I!
0
11 ! -I II,!
I·
i I ()ï 1!
! I I 11 .!
J !0
i
!
0
1 I.
.
i
I
i I I0
I 1,
1,
I
I
II
iI
[
0
, I i , I ,I I I;·
0
..
Opzet tot het komen tot een model ontwerp:
ONTWERP VAN PROGRAMMATUUR VOOR BEREKENING
EN OPTIMALISATIE VAN
DESTILLATIE-SYSTEMEN.
E.P.A.T.Sprangers,
t-'<;'\- 'Lbc:) '1 17-(15-83
Dit schrijven is bedoeld
voor het vastleggen
van de
doelstellingen die met het uitvoeren
van het modelontwerp, voor zover mogelijk~
gerealiseerd dienen te worden.
Het modelontwerp dat ik wil
realiseren is een verlenging
van het door Johan Vergouwe ontworpen multicomponent-destillatie programma. Het nu bestaande programma kan~
uitgaande van een mengsel van maximaal
10 componenten~ een destillatiekolom ontwerpen.
Ingevoerde parameters zijn:
1.Specificaties betreffende de voeding.
2.De scheidingsspecificaties. 3.De kolomdruk.
Uitvoeren van het programma levert: 1.Het aantal (ideale) schotels~
nodig om de scheidings-specificatie te bereiken.
2.De refluxverhouding.
3.Samenstellingen en temperaturen van alle stromen. Het programma heeft een
aantal tekortkomingen die echter
geen beletsel
zijn om het als basis te gebruiken voor verdere uitbreiding. De tekortkomingen
liggen voornamelijk in het vlak van de praktische toepasbaarheid van het programma.
Het programma bestaat op
dit moment uit de volgende
•
11'
onderdelen:
.~w~· ~ I"
AI.Een shortcut-DESIGN programma~
dat, gebruikmakend van de \~.J;vA · 1
Underwood-Fenske f ormul es, een ontwerp van een desti 11 at i ekol om
. l~'
levert.
'
A2.Een rigoreus-RATING programma,
dat het ontwerp~ gedaan in punt Al volledig doorrekent, en als
zodanig ter kontrole van de shortcut-DESIGN dient.
Bij een uitbreiding van het bestaande
programma zijn de volgende doelstellingen te formuleren:
Bl.Schrijf een routine, welke het ontwerp, gedaan in punt Al, vertaalt naar werkelijke schotels, kolomdiameter en hoogte.
B2.Schrijf een routine die, uitgaande van standaard formules,
een kostenschatting van de destillatiekolom berekent.
B3.Schrijf een routine
die uitgaande van de nu
programmatuur, een kostenschatting destillatiekolommen berekent.
van B4.Schrijf een routine die de
"trei n" opt i mal i seert (door scheidingsspecificaties etc.).
kosten van aanpassing
een "trein" van de eerdergenoemde van kolomdruk, B5.Schrijf een routine welke een keuze uit een reeks van
kolomconfiguraties doet, op grond van kostenoptimalisatie.
B6.Schrijf een routine welke de mogelijke warmteintegratie van de destillatietrein berekent.
B7.Breid de programmatuur uit voor componenten die een niet-ideaal gedrag vertonen (azeotropische mengsels), voor voedingen die niet op kookpunt zijn~ voor kolommen met zijstromen, voor parallel werkende kolommen etc.
Bovenstaande doelstellingen staan in prioriteits- en chronologische volgorde opgesteld. Het is geenszins de bedoeling dat al deze doelstellingendoor door ondergetekende worden gerealiseerd. Het is aannemelijk dat de punten B1-B4 wel binnen het tijdsbestek uitgevoerd kunnen worden. De punten B5~ B6~ B7
zullen dan door opvolger(s) kunnen worden uitgevoerd.
Tevens is het de bedoeling dat ik bij het ontwerpen van de programmatuur wederom modulair programmeren toepas. Dit om debugging te vermakkelijken en het eventuele opvolgers eenvoudiger te maken om wijzigingen in het programma aan te brengen.
\.)
... ,
COMPUTERPROGRAMMA
VCJOR HElr CJNlrl,JiJEF~PEN
VAN EEN DESTILLATIETREIN
Laboratorium voor Chemische Technologie Afdeling Scheikundige Technologie
Technische Hogeschool Delft december 1983
E.P.A.T.Sprangers
B. Tousaintplein 120
o
v1'0
I V u --- ---~---~ SAMENVATTINGHet doel van dit model ontwerp was het verder uitbreiden van een reeds bestaand stuk programmatuur, zodanig dat met deze programmatuur een ontwerp kan worden gemaakt van een, op kosten geoptimaliseerde, destillatietrein. Aan deze doelstelling is gedeeltelijk voldaan.
Het huidige programma ontwerpt een destillatiekolom en voert van het ontwerp een kostenschatting uit. De gebruiker heeft de . (, r'mogelijkheid om de kosten van het ontwerp te minimaliseren. Hiertoe 1!/~ kunnen refluxverhouding en/of kolomdruk gevarieerd worden.
)s-' Tevens
iS
een start gemaakt met---het ontwi kkel en van al gori thmeswelke dienen voor het ontwerpen van de destillatietrein. Omdat de tijd toegemeten voor het doen van dit modelontwerp beper~is, was het niet mogelijk om de reeds geschreven routine te implementeren in de bestaande programmatuur.
Door het uitvoeren van enkele ontwerpen met de huidige programmatuur was het mogelijk om de effekten van verandering van
keuze sleutels~ voedingstroom, percentage scheiding etc. op de optimale kolomdruk en refluxverhouding te bestuderen. Het blijkt dat de gulden regel "re flu!< is 1.2 maal de minimale reflu:-:" in het algemeen een te ruwe benadering geeft. Het blijkt verder dat door optimalisering de destillatiekosten matig tot sterk gereduceerd kunnen worden.
ü v u ü INH[)UD 1. INLEIDING 1.1 Doelstelling ontwerp
1.2 Definitie van het uit te voeren ontwerp 1.3 Indeling verslag
2. DESTILLATIEBEREKENINGEN
2.1 Destillatie in het algemeen
2.2 Overzicht diverse rekentechnieken 2.3 Strategie bij toepassen rekentechniek 2.4 In het ontwerp toegepaste rekentechniek
1 1 1 3 5 5 6 6 6 3. KOSTENBEREKENINGEN
e
3.1 Algemene kostenberekening B3.2 Berekening feitelijk ontwerp destillatiekolom 8
3.3 Berekening destillatiekosten 9
4. OPTIMALISATIE 12
4.1 Algemene prncipes van kostenminimalisering 12
4.2 Optimalisaties bij destillatie 12
4.3 Keuze minimalisatie methode 13
5. SAMENSTELLEN DESTILLATIETREINEN 15
5.1 Toepassen komputer bij ontwerpen 15
5.2 Aantal dest.kolommen in een dest.trein 15
5.3 Algorithme voor het samenstellen van een trein 17
5.4 Toepassen van vuistregels 17
6. PROGRAMMASTRUKTUUR EN GEBRUIK 6.1 Struktuur
6.2 Gebruik van het programma 6.3 Programma uitvoer
7. VERANDERINGEN / VERBETERINGEN 7.1 Hoofdprogramma MAIN 7.2 Subroutine READIN 7.3 Subroutine UNDFEN
7.4 Funkties BUBPNT en DEWPNT 7.5 Subroutine KVALUE
7.6 Subroutine GUESS 7.7 Subroutine WRITES
7.8 Subroutine EXITS
7.9 Subroutine DETNFV
7.10 Funktie HVALUE 8. DE SUBROUTINE COSTS 9. DE SUBROUTINE DESIGN 9.1 De Nelder-Mead minimalisatie 10. DE FUNKTIE OBJF 19 19 19 21 22 22 24 24 211 25 25 26 27 29 31
o
APPENDICES :
A FORTRAN77 programma DISTIL
Et Li jst van symbolen en common blocks in DI STIL
C FORTRAN77 subroutine TRAIN
0 Voorbeel d . \t,voer
E Voorbeeld uitvoer
F Jobcontrol voor draaien van DISTIL
v
u
..
~
-
J:I'JLETDING~.1 Doelstelling modelontwerp
Een van de meest voorkomende nunit operations n in de procesindustrie is de destillatie. Vooral in raffinaderijen is het de belangrijkste bewerking.
Destillatie is gedefinieerd als "Het toevoeren van warmte aan een mengsel van vloeistoffen, gedeeltelijke verdamping van dit mengsel gevolgd door het ontrekken van de warmte aan het verdampte deel. Het hieruit resulterend condensaat is verrijkt met de vluchtige componenten. Het niet verdampte deel van de vloeistof is rijker aan de wat minder vluchtiger vloeistoffen n.
Het is duidelijk dat destillatie een energieverslindende processtap is. Door de stijgende energieprijzen is de chemische industrie gebaat bij energiezuinige destillatie-ontwerpen.
De ingenieur, die verantwoordelijk is voor het uiteindelijke
~ntwerp van de destillatiesectie van een fabriek, kan zeer goed gebruikmaken van programmatuur welke een voorlopig ontwerp kan leveren. Deze programmatuur moet dan een optimalisering naar minimale kosten uitvoeren.
Het is de bedoeling dat de student tijdens schei kundi g ingeni eur een ontwerp uitvoert. Het wezenlijke activiteit voor elke ingenieur.
zijn opleiding voor ontwerpen vormt een
De doelstelling van het in dit verslag beschreven ontwerp is:
Het schrijven van programmatuur welke een destillatietrein voor het scheiden van een multicomponentmengsel ontwerpt. De kosten van het ontwerp moeten minimaal zijn.
Het in dit verslag beschreven ontwerp is een vervolg op het d6~f J.B.Vergouwe uitgevoerde fabrieksvoorontwerp: nComputerprogramma voor het ontwerpen van een destillatietrein." (1). Naast een aantal
aanpassingen en verbeteringen aan zijn programmatuur werden een aantal aanvullende routines ontworpen. Deze zijn achtereenvolgens nCOSTs n
(ber-ekening kosten), "DESIGN" (ontwerp kolom, eventueel met kostenoptimalisatie naar refluxverhouding en I of kolomdruk) en "TRAIN" (ontwerp destillatietrein, met kostenminimaliseringl.
!.2 Definitie van het uit te voeren ontwerp.
Bij een uitwerking van de doelstelling moeten een aantal eisen t.a.v. het ontwerp worden gedefinieerd. Bij de verdere ontwikkeling moet het ontwerp voortdurend aan deze eisen getoetst worden.
!
i
)-.-'
,I
I
~J
"-"7
(
ILP~
~nmogelijk alle eisen aan het ontwerp binnen de daarvoor geeigende tijd gerealiseerd worderi. Omdat de ontwet-per (in dit geval dE programmeur) geen overleg met zijn toekomstig opvolger kan plegen, worden tijdens de ontwikkeling van het ontwerp strukturen bedacht, welke geen logisch verband zouden kunnen houden met de omschreven eisen. Ook zullen de eisen t.a.v. het ontwerp in de loop van dE
~ntwikkeling mogelijk aangepast moeten worden.
Om dit te voorkomen stelt schrijver dezes dan ook voor om in nieu~
te ontwikkelen ontwerpen de SDM-methode (System Development Methodology, ontwikkeld door medewerkers van de firma PANDATA) na te ~olgen. Hierbij vindt de projektontwikkeling via een zestal duidelijk geidentificeerde fasen plaats:
Fase I : Definitie
Fase II: Voorlopig ontwerp
Fase I I I : Detail ontwerp ' I . :'.'
Fase
IV:
Programma. ontwi kkel ing en -;,( ~.!-detaillering van "human" interaties Fase V: Testen van programmatuur en systeem Fase VI: Implementatie!\.,. (V· ,
Voor een verdere uitwerking van deze methode wordt verwezen naar van den Hende (2).
Definieering van de eisen t.a.v. het huidige ontwerp zijn:
-Al-Het programma moet een volledig ontwerp kunnen leveren van een destillatiekolom, hetgeen betekent dat de geometrie ~doorsnede, aantal platen, hoogte, plaats voedingsschotelI en alle stromen, temperaturen, enthalpien etc. berekend moeten worden.
-A2-De kolom scheidt een al dan niet ideaal multikomponent-mengsel
(max. 10 komponenten) aan de hand van een door de gebruiker opgegeven specificatie.
-A3-De destillatiekolom kan eventueel meerdere voedingspunten en strippers bevatten.
--A4-Het programma uitvoeren~ waarbij
parameters voor de toegevoerd.
moet een kostenschatting variabele en vaste kosten kostenschatting moeten
van de kolom kunnen berekend worden. Alle extern kunnen worden
\
-A5-Het programma moet een kostenoptimalisatie kunnen uitvoeren door~ \\ .. , i~'
" kolc.mdruk en / of reflw.:verhouding te variet-en.
-A6-Het programma moet een destillatietrein kunnen formeren en de
, " .".
~ sequentie met de laagste kosten genereren.
'-A7-Het programma moet bij het samenstellen van een destillatietrein
:~~}rt/··\..warmtekracht _. koppe 1 i n g kunnen toe~.a ssen. -:.I.<,>'y .. ,l I"~ .,. -AB-De gebruiker moet in ieder uit te voeren destilla~ie-ontwerp de mogelijkheid hebben om het pt-ogramma te kunnen "5tu~en", d.w.z. dat bijvoorbeeld vuistregels toegepast moeten kunnen worden.
-A9-De kombinatie van destillatie met andere unit operations
(bijvoorbeeld een absorptiekolom) moet mogelijk zijn.
,j ... Het is duidelijk dat de hier'boven omschreven punten niet in een
".1\/ korte ti jd ontwi kkeld kunnen worden. De tot nu toe gevolgde methode
~L~ !':was het stapsgewijs ontwikkelen van programma-onderdelen. Deze methode
"",/<,.)'" impliceert dat de interne struktuur nodeloos ingewikkeld is. Schrijver
t!
JO'
,-;c/' dezes stel t dan ook voor om tiij-~ model ontwerpen een grotere1\
o
( \
.
./
o
IJ , i \J , - - - -~---De stapsgewijze ontwikkeling~ zoals deze door J.B. Verg ouwe wordt
aangegeven is als volgt te omschrijven:
-BI-Schrijf een shortcut-DESIGN destillatieprogramma dat dient als Een
van de "poten" in de eenvoudige kolom die
ui tvoert.
two ti er de scheiding -B2-Schrijf een routine waarin het naar een "echt" ontwerp.
approach. tussen
Begin hierbij met een twee sleutel componenten shortcut-ontwerp wordt
r~B3-SChrijf een programma om het ontwerp van punt B2 ri goreus door te, ?
_ I-Iekenen <RATING).
.:;,}',) -B4-Koppel de programma's en routines van Bl,B2 en B3.':;(
:~-\
<-.
-B5-Schri jf een ri goreus-DESIGN muti ne. ,""', ,~t •.\ r , " .
~ ~/ -Bb-Koppel de programma's en routines van BI. B2, B3, B4 en B5
,~
... , ï'
ç~~ -B7-Schrijf een routine waarin de kosten va~ het ontwerp met punt Bb
,'1 worden berekend. f(,>"
\
i ,q~B8-Schrijf een. routine die het ontwerp .0e-~ld wordt, maar ~at de . v1rr..,~,r;~~f{
lnterne strul:al1seert. zodaet de kosten mInImaal worden. \., .. I:..,,~\ •••• ·.· ... t·:.t,··(···
->'-'-'---. . \
-B9-Gebrui k Bl-B7 om een progr am ma te schr~Ye-n .dat .de, kos,ten van een schakel illij van eenvoudi.ge kolommen bepaal t .(~'dl'" v'v'i"'. G\&'-""'~ ,
-BTéi=Sc;hrijf- 'een routine die het ontwerp- liJit -- p~tnt 89 op kosten
opti mal i seert.
.-!
~Bll-SChrijf een routine die uit een reeks van kolomkonfiguraties debeste ki est. ,.:, ~ ! ,r",,)
·-B12-Gebruik '--in d: literatuur gegeven vuistregels om uit de
I verzameling mogelijk konfigur-aties de ontwerp (en) te kiezen die het
~ beste zijn. Gebruik vervolgens het vorige punt om uit deze ontwerpen de goedkoopste te kiezen.
-B13-Herhaal Bl-B12 voor kolommen met zijstromen.
Het iE. duideli jl.: dat et- nogal wat afwijkingen tussen eerder
)\~-(J..l(,
l4}
geformuleerde eisen en de door J.B. Vergouwe ontwikkelde strategie 'liggen. Door schrijver deZES zijn de punten B2, 87 en B8 ontwikkeld en is een aanzet gemaakt voor de punten B9, BlO en Bll. Het blijkt dat bij het ontwerp een aantal punten beter gezamelijk in een enkele routine kunnen worden verwerkt dan elk apart.
Doordat het programma modulair ontwikkeld is vraagt elke nieuwe routine een aantal aanpassingen van het bestaande programma. Het aanbrengen van deze aanpassingen is een tijdrovende geschiedenis. Om deze reden was het binnen het toegestane tijdsbestek onmogelijk om de routine "TRAIN" te kunnen implementeren in het programma.
Implementatie heeft verstrekkende gevolgen voor o.a. de routines "WRITES", "DESIGN", "UNDFEN" en "GUESS".
1.3 Indeling verslag
Het verslag bevat veertien hoofdstukken en drie appendiCES.
--Hoofdstuk 2 bevat algemene informatie betreffende het ontwerpen van
destillatie-kolommen en -treinen.
--Hoofdstuk 3,4 en 5 beschrijven respektievelijk de kostenberekening, de kostenminimalisering en het samenstellen van een trein.
--Hoofdstuk 6 beschrijft de huidige struktuur van het programma
--Hoofdstuk 7 beschrijft de veranderi~gen aan de door J.B.Vergouwe geschreven routines.
--Hoofdstuk 8, 9, 10 en 11 bespreken de .flowsheets van de routines
o
u I' v vu
"COSTS"~ "DESIGN"~ "OBJF" en ITF:AItI".
--Hoofdstuk 12 geeft aanwijzingen voor "toekomstige ontwerpers": hoe zij het programma nog verder- kunnen "struktureren" en hOf? dE
subroutine
TRAIN
in de bestaande programmatuur ingepast zou kunnen Horder ..--Hoofdstuk 13 en 14 bevatten respektievelijk de conclusies/resultaten en een opgave van de geraadpleegde literatuur.
--De appendices zijn vooral van belang voor de programmeur. Deze bevatten het
FORTRAN7?
programma alsmede beschrijving van gebruikte symbolen en cemmon bleeks.o
I 1'0 v ,v Iu
2 h. D E ~3 T )[ L L (~ T J( E 1:3 E F<: E"< E N J[ NE. EN2.1 Destillatie in het algemeen
Het is niet de bedoeling van de schrijver dat in dit hoofdstuk de diverse methoden van destillatieberekeningen uitputtend worden behandeld. Voor de gedetailleerde beschouwingen wordt verwezen naar bijvoorbeeld Holland (31, Billet (41 en speciaal voor de bij dit ontwerp gebruikte methode naar Vergouwe (11.
Voor het berekenen van destillatie-ontwerpen bestaan diverse methoden (zie 5). Het eerste onderscheid dat men kan maken is tussen de grafische en de analytische methode. Eerstgenoemde is voor het ontwerp van destillatiekolommen die multikomponentmengsels moeten scheiden ontoereikend en dus niet interessant. De analytische werkwijzen zijn juist wel bedoeld voor multikomponentdestillatie. De analytische rekenmethodes zijn te scheiden in de "short cut" en de "rigoreuze" aanpak.
Voor elke soort destillatie is een bepaalde berekeningstechniek nodig. Destillatie-ontwerpen kunnen verschillen in bijvoorbeeld: - wel of niet ideale mengsels
- aanwezigheid van inerte gassen,
( komponenten die bij de kolomtemperatuur niet als vloeistof voorkomen I
- aanwezigheid van inerte vloeistoffen,
( komponenten die bij de kolomtemperatuur niet als gas voorkomen) - het al of niet chemisch reageren van de komponenten
- de toestand van de voeding :
volledig vloeibaar~ op kookpunt, volledig gasvormig - wel of niet meerdere voedingspunten per kolom
- wel of niet meerdere kondensors per kolom - partiele of totale kondensor
Op het eerste gez i cht zou men kunnen veronderstel I en dat in h-et ideale geval de gezochte berekeningsmethode el~ genoemd kolomontwerp zou moeten kunnen leveren. Dit is echter niet juist. Als men een optimalisering van een kolomontwerp wil uitvoeren heeft dat altijd tot gevolg dat er een of ander iteratieproces moet worden uitgevoerd. Al naar gelang van de gekozen optimaliseringsmethode en de scherpte van het optimum zal er een aantal destillatieberekeningen moeten worden uitgevoerd. De bepalende faktor in de gebruikte komputertijd is dan de tijd die nodig is voor het uitvoeren van een destillatieberekening. lou men eet-dergenoemde "ideale" berekeningsmethode toepassen, dan is de methDde niet geoptimaliseerd naar het desbetreffende uit te voeren
ontwerp~ met als gevolg dat de gebruikte komputertijd niet minimaal zal zijn.
o
u ü uu
u
o
2.2 Overzicht van diverse ~ekentechnieken
C.D. Holland (3) geeft drie algemene methoden voor het oplossen van
destillatieproblemen.
1. De "Theta methode", welke wordt aangeraden
elk type destillatiekolom; mits het gedrag met
niet teveel van het ideale geval afwijkt. In
methode een van de snelste methodes.
voor het oplossen van
het komponentenmengsel
dat geval is de Theta
2. De "2N Newton-Raphson methode" is de aangewezen weg voor kolommen
welke geen reboiler af kondensor bezitten (bijvoorbeeld absorbers) •
3. De "Almost Band Algorithm" wordt aanbevolen voor het oplossen van
destillatieproblemen waarbij sprake is van sterk niet-ideaal gedrag.
De genoemde methodes zijn allen rigoreus, d.w.z. dat alle massa- en
enthalpiebalansen van elke schotel iteratief worden berekend. Er
worden nauwlijks verwaarlozingen of vereenvoudigingen toegepast. Dit
heeft tot gevolg dat de drie methodes nogal langzaam zijn (in de orde
van seconden per ontwerp). Ook in de nieuwste literatuur verschijnen
publikaties.over bijzondere rekentechnieken (zie bijV. 6,7,8,9,10)
Veel sneller (in de orde van tienden van seconden per ontwerp) is
de short-cut werkwijze (zie ook 11). Er wordt dan gebruik gemaakt van
empirische relaties en er worden verwaarlozingen en vereenvoudigingen
toegepast. De belangrijkste short-cut methode is de Underwood-Fenske
aanpak.
Het zal duidelijk zijn dat de short-cut methode in iteratieve
optimalisatieprocedures de voorkeur heeft. Nadeel van de short-cut
methode is dat het geleverde ontwerp mogelijk niet aan de gestelde
eisen zal voldoen.
2.3 Strategie bij toepassen van rekentechniek
De gebruikte strategie voor het komen tot een berekeningstechniek
is zeer belangrijk (zie 10,12). J.B.Vergouwe bespreekt in zijn verslag
de verschillen tussen de zogenaamde sequential modular approach
(s.m.a.), de equation solving approach (e.s.a) en de two tier approach
(t.t.a.). Dit zijn verschillende strategien die de ontwerper van
unit-operations kan kiezen. Uit het onderzoek van Vergouwe blijkt dat
voor het doen van destillatie-berekeningen de t.t.a. het beste is.
Deze t.t.a. komt bij het optimaliseren van kolomontwerpen sterk naar
voren. Men zou de aanpak als volgt in fasen kunnen omschrijven:
1. Maak een beginschatting van het kalomontwerp m.b.v. de short-cut
methode en bereken de jaarlijkse kosten.
2. Pas de diverse kolomparameters aan en bereken opnieuw het
kolomontwerp m.b.v. de short-cut methode totdat de kosten minimaal ;: i jn.
3. Test m.b.v. een rigoreuze methode of de kolom aan de gestelde eisen
kan voldoen; zoniet leg dan grenzen aan voor de kolomparameters en ga terug naar fase 2.
2.4 In het ontwerp toegepaste rekentechniek
()
,0
o
Voorlopig wordt in de programmatuur gebruik gemaakt van de
Underwood-Fenske methode (short-cut) en de Theta-methode (rigoreus),
In geval van sterk niet-ideale mengsels zal een derde
berekeningsmethode, de Almost Band Algorithme (rigoreus) moeten worden toeg evoegd.
Het zal duidelijk zijn dat er gekozen is voor een t.t.a .. Op welke
wijze in fase 3 grenzen aan de kolomparameters moeten worden aangelegd is nog niet bestudeerd. Omdat de programmatuur tot nu toe alleen geschikt is voor ideale meng5els~ komen moeilijke scheidingen niet zo snel voor en zal een short-cut ontwerp i.h.a. aan de eisen voldoen.
Bij aanpassing van de bestaande programmatuur aan niet-ideale mengsels zal fase 3 zeer zeker ontwikkeld moeten worden.
u
I
,I
' 0I
v
u ''-..) - - -- -3 _ J<OSlrENBEnEK:EN J[ NGEN 3.1 Algemene kostenberekeningIn het algemeen zal men bij het doen van een kostenschatting van procesapparatuur gebruik maken van korrelaties die gemaakt zijn aan de hand van bestaande installaties (zie ook 13,14,15,16,17). De schatting omvat dan materiaal-, plaatsings-, onderhouds-, engineering- en proceskosten (bijv. van energie). Voor het doen van deze korrelaties is een bekende bron het tijdschrift "Chemical Engineering- waarin overzichten van kosten van procesapparatuur in vermeld worden (zie 18,19). Daarnaast worden in dit tijdschrift ook kostenindexcijfers gepubliceerd, waarmee de kosten van de procesapparatuur geextrapoleerd kunnen wor-den.
Om een kostenschatting uit te voeren moeten o.a. alle geometrische
en materiaalgegevens van de apparatuur- bekend zijn. Dit houdt
bijvoorbeeld voor reactorvaten in dat vatdiameter en hoogte maar ook
aantal manholes, diameter flenzen etc. bekend moet zijn. Hoe beter
gespecificeerd het apparaat wordt, des te exakter zal de
kostenschatting zijn.
3.2 Berekening feitelijk ontwerp destillatiekolom
Een destillatiekolom bestaat i.h.a. uit de kolom, de schotels en de
warmtewisselaars. Alle kleinere onderdelen worden tezamen onder een noemer- (instrumentatie) gebracht. Wil men dus een kostenschatting van een destillatiekolom uitvoeren dan moeten de geometrische en materiaalgegevens van eerder genoemde onderdelen bekend zijn.
Alle gebruikelijke rekentechnieken voor destillatie-ontwerpen
leveren een aantal theoretische schotels, terwijl de fysische omvang
van de kolomvoed i ng geen i nvl oed heeft op het ontwerp. Bi j -tret- --omzetten van theoretische evenwichtstrappen naar reele kolomschotels
wordt gebruik gemaakt van het zogenaamde damprendement~ ook wel
Murphree-r-endement genoemd. Het aantal r-eele schotels is gelijk aan
het produkt van de recipr-oke damprendement en het aantal theoretische
schotels. De massastromen binnen de kolom hebben een direkte invloed
op de diameter van kolom. Samenvattend kan de geometrie van de kolom met de volgende formules (20) worden ber-ekend:
D = SQR [(4/(pi*VlHCOl*(R+IH(22.2l*<T /273l*<1/P») c DV
=
O.761*SQR (liP) H=
O.61*(S/eta)+4.27 c 8o
\J 0,
Ûv
1°
I
, ,I
I
u
I I-JI
D == kolomdiameter (m) c H = kolomhoogte (m) cV = gemiddelde gassnelheid in kolom ( mis)
~
D = destillaat stroom (molIs)
R = ref 1 u:·: ratio
P = kolomdruk (bar)
T = dauwpunt van gassen in de top (K)
OV
S = aantal theoreti sche schotels
eta= Murphree eH i c: i enc:y
3.3 Berekening destillatiekosten
Met behulp van voorgaande formules is de komplete geometrie van de
kolom bekend. Aan de hand van eerder genoemde kostenkorrelaties zijn
de volgende formules (18) gevormd:
C
=
4.34*1( [762*0*(H
/12.2) '·'0.68] c c: c c: k-C=
70* (S/eta)*
<D 11.22)"'1.9 . ,,_v-t C r ... 1 ... . ' ---, C == 4000.00 ~\".'" i C ::: O.02HC +C +C ] m c t i C ::: kolomkasten ($) c C = schotel kosten ($) t C = instrumentatiekosten ($ ) i 9
,---
---
--
--
- - - .u
0u
v C=
onderhoudskosten ($) lTi K = korrektiefaktor c al s P>3.4 atm K=
[l+0.0147*(P-3.41] als P<3.4 atm c I< = 1.0 cDe
warmtewisselaars worden op de gebruikelijke wijze berekend. Aande hand van de enthalpiebalans wordt het warmtewisselend vermogen
uitgerekend. Met behulp van een overall-warmteoverdrachtskoefficient
wordt het warmtewisselend oppervlak bepaald. Met de volgende formules
(18) kunnen de kosten van de warmtewisselaar eenvoudig berekend worden
C = 3.39*K [9000*(A/92.1)A.65J ie
)~
.
,,,
L~
.
.,-C=
8500*(C 'Q)+0.02*C oe 1..))/"" U ie \ ... "J(...c
=
installatiekosten warmtewisselaar ( $) ie C=
operating kosten ($ ) oe ~'=
korrekti ef aktor ie als P>10.2 K=
[1+0.0147*'P-IO.2)] ie als P<10.2 K=
1.0 ie A=
oppervlak warmtewisselaar (mA2),.,
Q
=
warmtewi ss.el end vermogen (kcal/s)= utilities kosten ($/10E6 Kcal)
Met behulp van voorgaande formules komt men tot het volgende eindresultaat: ''1'-_: .• ;~ ~-,< -~.~ C
=
C + C +[ (C + C + C + C )/projectduurJ an m oe c t i ie C = jaarlijkse kosten ($) vi an 10o
u
,v ,..) I II
I'
v
I
Het zal duidelijk zijn dat er bij het samenstellen van voorgaande
formules een aantal verwaarlozingen en vereenvoudigingen zin toegepast. Het is natuurlijk mogelijk om verfijningen atieve
verschillen in de kosten te weten dan de absolute waarden.
Kostenschattingen gedaan aan bovenstaande formules kunnen een afwijking van max. 15 X t.o.v. de werkelijke kosten hebben.
Zoals eerder gezegd moeten alle kostenfunkties met een prijsindexcijfer vermenigvuldigd worden om een extrapolatie naar de prijzen van het huidige moment te kunnen doen.
()
u
.... ) .-~.)u
. 1 '--' 4- •. 0 P l r ][ 1'1 f:~ L ][ S f:=\ T J[ E4.1 Algemene principes van kosten minimalisering
Het optimaliseren van een chemische fabriek kan een zeer komplexe
zaak worden. Tijdens het ontwerpen moet begonnen worden met het kiezen van de verschillende benodigde unit-operations. Al in dit stadium is
het noodzakelijk om een ruwe kostenschatting uit te voeren, omdat de
proceskosten een belangrijke faktor vormen bij de keuze van de
unit-operatie (bijv. extraktie versus destillatie.). Nadat er van de flowsheet een ruwe schets is gemaakt kan er geoptimaliseerd worden.
Hiertoe staan twee wegen open: 1. men optimaliseert alle
unit-operations tegelijk en 2. er wordt afzonderlijk geoptimaliseerd.
Bij het optimaliseren spelen naast veiligheids- en milieu- een aantal ekonomische faktoren een rol. De prijS van de grondstoffen en van de
produkt en zal fluktueren~ evenals bijvoorbeeld energiekosten. Bij het
optimaliseren van een proces zal men zich terdege met deze faktoren
rekenening moeten houden .
Om te optimaliseren moet men een objektfunktie definieren, waarvan
de funktiewaarde geminimaliseerd wordt door bepaalde parameters te
varieren. Deze objektfunktie kan men voor een destillatie-ontwerp op
verschillende manieren definieren
1 • Funkt i e van
.,
Funktie van..:;..
total e proceskosten per jaar. / '
.,.
Funktie van~'.
proceskosten per eenheid produkt per jaar.
proces- en gronds(~kteenheid per jaar .
4. etc. , etc.
Het is natuurlijk ekonomisch gezien interessanter om
mogelijk kosten tegelijkertijd te kunnen minimaliseren. Om
programmatuur te ontwerpen die algemeen toepasbaar kan zijn
beter voor eerstgenoemde objektfunktie kiezen~ Gevolgen van
prijsfluktuaties moeten dan achteraf verdisconteerd worden.
4.2 Optimalisaties bij destillatie
zoveel echter kan men externe
De objektfunktie van de proceskosten per jaar werd in het vorige
hoofdstuk reeds uitgewerkt. Om het minimum van deze funktie te bepalen
moeten bepaalde procesparameters gevarieerd worden. Het ligt voor de
hand om hiervoor de refluxverhouding en kolomdruk te kiezen, omdat
deze parameters het meeste invloed hebben op de kosten. Nu een
abjektfunktie gekozen is moet er een gerichte keuze van een
minimalisatie methode worden gedaan.
o
u
•
0
4.3 Keuze minimalisatiemethodE
Bij het varieren van de procesparameters zullen grenzen aan deze
variaties moeten worden opgelegd, om te voorkomen dat er fysisch
onmogelijke procesvoeringen berekend worden. Veel
minimalisatieprocedures (21,22,23) gebruiken een eerste en zelfs soms
een tweede afgeleide van de objektfunktie. Het is duidelijk dat een
analytische bepaling van eerste of tweede afgeleide in dit geval
onmogelijk is. Zijn er toch afgeleide funkties nodig dan benadert men
deze i.h.a. numeriek. Een tweede probleem bij afgeleide funkties
treedt op als de objektfunktie een discontinue verloop heeft. In dat geval zal de e~rst3- afgeleide op de plaats waar de funktie discontinue
is gelijk zijn aan nul. De minimalisatieprocedure zal (indien er geen
speciale voorzorgen--tegen zijn genomen) veronderstellen dat er een
minimum aanwezig op de plaats van de discontinuiteit hetgeen kan
resulteren in een onei ndige reeks i teraties. Bi j een
destillatieberekening is er zo'n discontiue funktie, namelijk het
aantal schotels. Fysisch bestaan er alleen hele schotels dus wordt het berekende aantal schotels naar boven toe op een geheel getal afgerond. Deze discontinuiteit werkt door in de kostenfunktie. Er is een simpele oplossing voor dit probleem: bij het minimaliseren wordt gerekend met
reeele getallen en achteraf worden de integere waarden ingevuld.
Afwijkingen van het berekende optimum t.o.v. van het werkelijke
optimum zullen waarschijnlijk verwaarloosbaar zijn.
Bovenstaande procedure is met een gespecialiseerde
minimalisatieprocedure uit gevoerd (21). Het blijkt echter dat er nog
andere discontinuiteiten zijn. Zoals uit de bespreking van de
programmatuur zal blijken, wordt er gewerkt met twee soorten reele
getallen, single (REAL'4) en double (REAL*8) precision genoemd, welke
verschillende nauwkeurigheden hebben. Dit gebruik vloeit voor uit het
feit dat de gebruikte databank voor fysische gegevens met een REAL*4
getallen werkt, i.t.t. het eigenlijke programma dat om redenen van
nauwkeurigheid van REAL*B getallen gebruik maakt. Bij het omzetten van
een REALt8 getal naar een REAL*4 getal en vice versa treden
discontinuiteiten op. Het blijkt dat ook deze kleine "stapjes" een probleem opleveren voor eerder genoemde minimalisatieprocedure •
Naast de procedures die gebrui k maken van eerste en twe~~~ __ _
afeleiden bestaat er ook nog een verzameling zogenaamde BOX-procedures (24,25,26). Deze minimalisatie-methoden werken allen zonder gebruik te maken van eerste of tweede afgeleiden.
Het principe is simpel. Er wordt gestart door een aantal (minstens
een meer dan het aantal parameters) verschillende
parameterinstellingen te genereren en hiervan de objektfunktiewaarden
van te berekenen. Afhankelijk van de te volgen procedure vervangt men
een van de parameterinstellingen zodanig dat de verschillende
funktiewaarden konvergeren naar een bepaalde minimumwaarde. Dit proces wordt steeds herhaald totdat er aan een bepaald konvergentie-kriterium wordt voldaan. De diverse procedures verschillen alleen in de wijze waarop een van de parameterinstellingen wordt vervangen. Ligt een van
de nieuwe parameterinstellingen buiten de aangelegde grenzen, dan
wordt zij vervangen.
Afhankelijk van de gekozen
objektfunktie-evaluaties varieren. 13 procedure zal So~mige procedures het aantal voeren e>:tra
o
u
u
U
I
testen uit om te voorkomen dat het optimum gemist wordt~ hetgeen
belangrijk is indien er lokale minima bestaan. In het algemeen zijn de
procedures vooral toepasbaar als er meerdere parameters zijn of als er
afhankelijkheid tussen de parameters bestaat. Het blijkt echter dat
ook bij een-parameter-optimalisatiEs BOX-procedures goed toegepast
kunnen worden. Voor beschrijvingen van BOX-procedures wordt verwezen
naar de literatuur.
.0
IV
5 . SAMENSTELLEN VAN DESTILLATIETREINEN
5.1 Toepassing kompute~ bij ontwe~pen
Indien er sprake is van een aantal te scheiden komponenten, zal er gebruik kunnen wo~den gemaakt van meerdere destillatiekolommen.
Uitwerken van de verschillende kombinaties leve~t een groot aantal te
berekenen destillatiekolommen op. Voo~al bij vijf of meer komponent en
blijkt handberekening een zee~ a~beidsintensief te worden. Vandaar dat
inschakeling van de komputer een voo~ de hand liggende oplossing
bi edt.
5.2 Aantal destillatiekolommen in een destillatietrein
Ter illust~atie van het snel toenemende aantal kombinaties bij
toename van het aantal komponenten
Stel voor een ~ij 1 2 345 •••• N, waa~in elk getal een komponent
vertegenwoo~digt. Door de rij sequentieel te splitsen ve~k~ijgen we:
1 N-komponenten subgroep (geen splitsing),
2 (N-l)-komponenten subg~oepen,
3 (N-2)-komponenten subgroepen,
CN+I-J) j-komponenten subgroepen,
(N-I) 2-komponenten subg~oepen,
N I-komponent subgroepen.
Hieruit volgt dat het totale aantal verschillende subgroepen dat
verk~egen wo~dt gelijk is aan
N
som j
=
N ( N + 1 ) I 2j=1
Elke rij van j getallen kan
gesplitst. Het aan scheidings getall en = C j - 1 )
*
(N subproblemen gelijk is aan:N
op j-l ve~schillende manie~en wo~den
subproblemen bij een subgroep van j
+ 1 j ) , zodat het totaal aantal
som j - 1 )
* (
N + 1 - j) j=1 N :: N som j=1 N j - 1 ) - som j=1 j - 1 )*
(
j - 1 ) 15I
0
U G N-l N-l = N som j som j*
j j=l j=l :: N-
1 )*
( N )*
( N + 1 ) I 6Stel nu dat we een destillatietrein hebben, dewelke een
N-komponentenmengsel scheidt. De destillatietrein zal dan uit N-l destillatietorens bestaan. Elke kolom heeft twee uitgangen, dus totaal zijn er 2*(N-l) uitgangsstromen. Het blijkt bij uitwerken dat er totaal N-2 stromen zijn welke de diverse torens verbinden. Uit voorgaande gegevens is het aantal mogelijk manieren waarop de kolommen kunnen gekombineerd worden te berekenen. We noemen dit aantal S'.
[ 2 ( N - 1 ) ] ~ [ 2 ( N - l ) ] !
S' = ---
=
---( 2 N - 2 - N + 2 ) ! ---( N - 2 ) ! N ! ( N - 2 ) !Dit aantal S' bevat ook de gevallen waarbij een uitgangsstroom van een bepaalde kolom is verbonden met :i in eiqen ingang. Dit is natuurlijk fout, en de waarde S' moet hiervoor worden aangepast. Dit kan simpelweg gebeuren door S' te delen door het aantal kolommen ( N - 1)
zodat het werkelijke aantal kolomkonfiguraties S wordt:
[ 2 ( N - 1 ) ]
S
=
---U N'(N-l)~
u
()
Voorgaande formules kunnen we uitwerken en in een tabel weergeven Aantal komponenten
[ N ]
2 ë ~. 4 r ...J 6 f I 8 9 10 Aantal subgroepen [N (N+U /2] 3 6 10 15 21 28 36 45 c:"t:-... hJ Aantal Aantalscheidings- konfi gur ati es problemen [ (N-l) (N)
*
[2 (N-l) ] ! / (N+1)/6J N! (N-l)! 1 1 4 ":> "-10 0:-..J 20 14 .,.0:- 42 • ..)..J 56 132 84 429 120 1430 165 4862Bij een toename in het aantal komponenten neemt het aantal te ontwerpen destillatie kolommen heel snel toe. Voor een 4 komponenten
scheiding blijken er 10 kolommen te moeten worden berekend. Daarna
moeten de 5 mogelijke konfiguraties worden gevormd en kan er een evaluatie plaatsvinden op grond van de berekende kosten. Dit kan met het volgende geillustreerd worden:
Stel dat een 4 komponentenmengsel, bestaande uit de komponenten A~ 16
0
v
10
II
I Uu
I
II
i!u
IB~ C en D in de af:onderlijke komponent en moet worden gescheiden. Als we de scheiding tussen de zware en de lichte sleutel met een sch ui ne streep (I) weergeven kunnen we als volgt de verschillende konfiguraties opschrijven: A / Et
e
D>
B / C D '" ,e
/ D A / B C D :> B C / D :> Et / C A B / C D >- A / Et + C / D A Be
/ D :> A / Be
>
Et / C A B C / D ... A Et / C ... A / B"
/Het blijkt dat er dus 5 konfiguraties mogelijk zijn, het aantal scheidingsproblemen zal, na telling, gelijk zijn aan 10.
5.3 Algorithme voor het samenstellen van een destillatietrein
Zoali uit de vorige paragraaf blijkt neemt het aantal scheidingsproblemen snel toe bij toename van het aantal te scheiden komponenten. Bij de bepaling van de:e aantallen gaat men er vanuit dat bij een scheiding tussen bijvoorbeeld de komponenten A en B,C, de komponenten D, E •.• etc. niet aanwezig zijn. In werkelijkheid zal een destillatiekolom nooit een 100 X scheiding kunnen bewerkstelligen. Om te voorkomen dat er nog meer scheidingsproblemen moeten worden opgelost, gaan we er vanuit dat de verwaarlozing gerechtvaardigd is.
Een voor een komputer eenvoudig te programmeren algorithme kan als volgt worden geformuleerd (31':
-I-Stel de variabele n
=
1.-2-Bereken de kosten voor de diverse mogelijke scheidingen van een n-komponenten mengsel en sommeer de:e met de kosten voor eerder uitgevoerde scheidingen in het proces.
-3-Bepaal de beste scheiding aan de hand van de in stap 2 berekende kosten.
-4-Verhoog n. Zolang n niet gelijk is aan het totaal aantal komponenten in de trein ga terug naar stap 2.
Zoals later zal blijken is het eigenlijke programma dat bovenstaande algorithme kan uitvoeren wel wat ingewikkelder.
5.4 Toepassen van vuistregels
Het is uit voorgaande paragrafen gebleken dat er bij wat grotere wa.arden voor N (aantal komponenten ) een groot aantal scheidingsproblemen is op te lossen. Indien we in een latere fase mogelijk ook nog warmtekrachtkoppeling (zie bijV. 30) willen toepassen
kan het een en ander tot buitensporige komputertijden leidenstregels kunnen WE et totaal aantal mogelijke konfiguraties
verminderen.
Een aantal van de in de literatuur (27~28,29) gegeven vuistregels
o
u
v uu
v'u
zijn:-1-Corrosieve en gevaarlijke produkten moeten zo vroeg mogelijk van de hoofdstroom worden afgescheiden.
-2-1ndien er laagkokende komponent en in voldoende mate in het mengsel voorkomen, dan moeten die het eerst verwijderd worden.
-3-Degradatie van produkten moet worden voorkomen. Topprodukten in een
destillatiekolom zijn in het algemeen zuiverder dan bodemprodukten
omdat ze minder degradatieprodukten bevatten: daarom worden
konfiguraties waarbij de komponenten een voor een verwijderd worden
aanbevolen.
-4-De beste konfiguratie (op ekonomische gronden) is die waarbij de
totale top gasstroom van de verschillende kolommen het laagst is. -5-De moeilijkste scheiding moet worden uitgevoerd met een minimum aan
voedingsstroom.
-6-Scheidingen waarbij de voedingsstroom in equimolaire hoeveelheden wordt gescheiden zijn het aantrekkelijkst.
-7-Als een komponent sterk overheerst in een voedingsstroom, verwijder deze komponent het eerst.
-B-Stel een lijst op van de vluchtigheden van de komponenten. Bereken daarna voor iedere kombinatie i,j hun relatieve vluchtigheid Ki/Kj welke groter moet zijn dan 1. (Indien deze verhouding kleiner is dan 1.05 dan is een ekonomisch nog gunstige scheiding door destillatie onmogelijk. Er moet dan een andere scheidingstechniek worden toegepast.) Rangschik de verschillende scheidingen dan in volgorde van afnemende relatieve vluchtigheid tussen de komponenten.
Voor verdere informatie wordt verwezen naar de literatuur.
Het zal duidelijk zijn dat bovenstaande vuistregels niet allen even gemakkelijk in programmatuur kunnen worden toegepast. In voorkomende
gevallen zal het technologische inzicht van de ingenieur de doorslag moeten geven.
, . ...) v ' 0
u
I V 6 ~ PHOGRAt'1t'1ASlrRLJI<lrULJR EN GEBRU 1:~:( 6.1 StruktuurHet huidige programma is als volgt opgebouwd:
-I-Een invoerroutine~
schakelaars gezet kunnen -2-Een routine welke een kolom. (GUESS)
waarmee de verschillende parameters en
worden. (READIN)
beginschatting uitvoert van de stromen in de -3-Een op de vergelijkingen van Underwood en Fenske gebaseerde routine
welke een ontwerp van de kolom maakt, waarbij het theoretische aantal
schotels bepaald wordt. (UNDFEN)
-4-Een uitvoerroutine welke de verschillende resultaten
uitprint. (WRITES)
-5-Een optimalisatieroutine, welke met behulp van een Niels-Malder
algorithme de optimale kolomdruk en refluxverhouding kan
bepalen. <DESIGN)
-6-Een routine welke van het kolomontwerp een rigoreuze rating
uitvoert, d.w.z.
ontwerp. (RIGOES)
een check op de bruikbaarheid van het
Behalve deze voor de gebruiker belangrijke routines zijn er routines welke voor de interne berekeningen worden gebruikt.
Bij een eventuele uitbreiding van de programmatuur kan gebruikt worden gemaakt van :
-8-een reeds in Fortran vertaalde algorithme (TRAIN)~ welke een
destillatietrein samenstelt en aan de hand van de berekende ontwerpen
tot een keuze voor de beste konfiguratie komt.
6.2 Gebruik van het programma
De gebruiker dient een invoerfile samen
diverse schakelaarstanden staan, tezamen met
voedingsstroom en de scheidingsspecificaties. De invoer is als volgt samengesteld:
kaart nr. FORTRAN formaat In te voeren variabele(n) te stellen waarop de gegevens van
-1- 215 Het aantal komponent en N en de
schakelaar NDEC1S -2.
1-tlm
A18~15 De namen van de komp6nenten en
de chemconummers (als NDECIS
19
de de
o
v
\.) -2.N- -2.1-tlm -2.N--<-.' -4- -5- -6- -7- -8- -9-AIB 010.5 ND7.5 215 15 2D10.5 010.8 2010.8 oneven is)De namen van de komponenten als NDEC1S even is
Debiet voedingsstrom (mol/s)
Molfracties van de komponenten in de voeding
Volgnummers van de lichte en
de zware sleutel <ILK, HLK) De schakelaar 10ECIS
De scheidingsspecificaties Toestand van de voeding Q De kolomdruk PIN en de reflux-verhoudi ng RATF:
Opmerkingen:
-la- Het aantal komponenten N mag maximaal 10 bedragen.
-lb- De schakelaar NDECIS kan de volgende standen innemen
NDECIS FYS O(PIN) O(RATR) O(RATR/PIN)
1 0 0 0 1 2 1 0 0 1
.,.
.
'
0 0 1 0 4 1 0 1 0 0:-0 1 0 0 .J 6 1 1 0 0 7 0 0 0 0 8 1 0 0 0De symbolen in deze tabel hebben de volgende betekenis
FYS = zelf fysische gegevens invoeren
O(P) = er wordt een optimalisatie naar kolomdruk
O(RATR) = optimalisatie naar refluxverhouding
O(RATR/P)= optimalisatie naar beide parameters
Als de waarde van NDECIS negatief is, ondergaat het uiteindelijke
ontwerp een rigoreuze RATING.
-2-Het komponentnummer korrespondeert met de in de EURECHA-databank
(@) gebruikte komponentcodering.
-3-De schakelaar IDECIS kan drie standen innemen :
-1 :molfracties van de lichte en zware sleutel in het destillaat.
o
:molfracties van de lichte sleutel en van de zware sleutel inhet bodemprodukt.
1 :fractie van de komponent-molenstromen van de lichte en zware
sleutel in de voeding die in het d~stillaat terecht komen.
o
u
: v
û
Naa.st bovenstaande gegeven worden meegegeven.
6.3 Programma uitvoer
De uitvoer van het programma bestaat uit meerdere delen.
-Allereerst een echo van de ingevoerde gegevens, alsmede van de in het programma gebruikte fysische constanten.
-Indien er voor een van de optimalisatiemethodes gekozen is volgt er een tabel waarin per iteratiestap de belangrijkste resultaten van elke berekening worden weergegeven.
-Het derde deel is het uiteindelijke ontwerp, waarin de waarden van de verschillende variabelen, de samenstelling van de in- en utgaande stromen, de geometrie en de kosten van de destillatiekolom worden weergegeven.
-Een vierde deel kan optioneel volgen als er gekozen is voor een DESIGN gevolgd door een rigoreuze RATING (NDECIS<O).
Indien er bij de verwerking van het programma fouten optreden door bijvoorbeeld het onstaan van fysisch onmogelijke designs, het onjuist invoeren van gegevens etc. wordt het programma gestopt en verschijnt er een melding van de fout(en)oorzaak. Een voorbeelduitvoer is in de appendices opgenomen.
o
u
o
o
7_ VERANDERINGEN / VERBETERINGEN
Dit hoofdstuk behandelt de voornaamste veranderingen c.q.
verbeteringen in het door J.B.Vergouwe ontworpen stuk programmatuur. Sommige aanpassingen hebben een duidelijke invloed op het resulterende ontwerp. Het is voor de lezer van belang dat de door Verg ouwe geschreven programma-beschrijving naast deze tekst gebruikt wordt. Bij elk te beschrijven programmaonderdeel zal verwezen worden naar de hoofdstukken in het verslag van Vergouwe.
7.1 Het hoofdprogramma MAIN (8.3)
Dit onderdeel heeft een aantal wijzigingen ondergaan (zie ook fi guur 1):
-Er wordt een extra PRECALL naar FLASH gedaan, methode 1, voor het later in het programma doen uitvoeren van een beginschatting van de kolomdruk.
-Er wordt een dummy CALL naar FLASH gedaan. Dit heeft het voordeel dat bij latere aanroepen van de FLASH routine gebruik kan worden gemaakt van zogenaamde REPEAT CALLS. Het uitvoeren van laatstgenoemde CALL vergt een veel kortere rekentijd, omdat een aantal tijdrovende stappen kan worden overgeslagen.
-In plaats van de CALL naar UNDFEN is er een CALL naar de nieuwe subroutine DESIGN, gevolgd door een CALL naar de subroutine WRITES -Omdat het RIGDES programma nog aangepast moet worden (Common blocks" subroutines CONVER, WRITES etc.) is de CALL naar de subroutine RIGDES als een COMMENT geplaatst.
7.2 Subroutine READIN (8.5)
De veranderingen in de subroutine READIN zijn voornamelijk het gevolg van het toepassen van de schakelaar NDECIS:
-Om het programma aan te passen aan de huidige FORTRAN77-standaard
zijn de namen van de komponenten in een CHARACTER-statement
gedimensioneerd.
-Toegevoegd is het COMMON-block COSRDR, welke een aantal parametrs bevat voor de subroutine C05T5. In een verdere ontwikkeling van het programma moet het mogelijk zijn dat deze parameters extern kunnen worden ingelezen.
-Vanaf label 70 tot 80 zijn enkele uitbreidingen aangebracht. Label 70 t/m 73 leest afhankelijk van de waarde van NDECI5 de parameters PIN en/of RATR. Bij label 74 krijgen de verschillende parameters voor de subroutine CaSTS een waarde.
-Bij de echo van de invoer worden tevens de waarden van de parameters voor de subroutine CaSTS afgedrukt.
\..J I ü
o
u
( START )I
Lees het ~ethodenumBer \I
en
d~. Sch~ldlngs specl- I I tlratles In. I I is \ !---N---{ methodenum~er)!
\
oneven? /!
---t---I I I---I
I
Voer fysi sche geQeyensI
I I van de componenten 1n. I
I
---~---~---)
(
I
; Nap!: aan de han~ van de ;
e~ozen ~etho e en
I
~nt~erp
van de estil-I
I ratlekölol. I / is \ ~---N---< methoden~m~er) I \ <o.
J I ---~---I Y \ I I---\
I
Voer eenRAIIN6
uit van \I I het koloman werp. I
I
---~---I , I
---;
\I
( STOP
o
I Vo
u u v 7.3 De subroutine UNDFEN (8.6)De aangebrachte veranderingen zijn:
-De initialisatie routine GUESS wordt niet meer aangeroepen. -De afdrukroutine WRITES wordt niet meer aangeroepen.
-De aanroepen van de CALL's naar KVALUE~ BUBPNT en DEWPNT zijn
aangepast.
-De gemiddelde relatieve vluchtigheid ALFA gem wordt niet meer berekend met de formule
ALFAgem=(ALFAtop
*
ALFAfeed*
ALFAbodem) A (1/3)maar met
ALFAgem=(ALFAtop
*
ALFAbodem) A (1/2)Deze verandering is aangebracht om te voorkomen dat, bij plaatsing van
de voedingsschotel vlakbij de top of bodemschotel, de ALFAgem niet de
geometrisch gemiddelde waafde zou krijgen.
-Bij de berekening van de verdeling van de verschillende komponent en
over- de schotels is er een verbetering aangebracht. Indien de
gemiddelde relatieve vluchtigheid ALGAgem of het mInImum aantal
schotels erg groot is, kan de waarde van de variabele BETA te groot
worden. Dit geeft een "overflow" met als gevolg dat de resultaten
onjuist kunnen zijn. Toepassen van een eenvoudige test op de grootte
van de variabelen kan dit voorkomen.
-Op de waarde ANMIN wordt een correctie van -1 aangebracht. -Enkele DEBUG-statement zijn verwijderd.
7.4 De functies BUBPNT en DEWPNT (8.7 en 8.8)
Deze funkties hebben een aantal ingrijpende veranderingen
ondergaan. Motief hiervoor is dat een funktie een algemeen karakter
moet hebben, d.w.z. ook bij een verdere uitbreiding van de
pr-ogrammatuur moet van de funktie BUBPgebruik kunnen worden gemaakt
zonder dat aanpassingen aan CoMMON-blocks noodzakelijk zijn. - -__
-De belangrijkste veranderingen is het in de header van de subroutine
meegeven van de druk P, het aantal komponenten LX en de
samenstellingsmatrix X van deze komponenten.
-Er wordt gebruik gemaakt van een REPEAT CALL naar de subroutine
FLASH.
7.5 De subroutine KVALUE (8.9)
Ook deze subroutine is voor algemeen gebruik geschikt gemaakt door
de benodigde gegevens via de header van de subroutine in te lezen. Het programma roept de subroutine aan met in de header achtereenvolgens de
temperatuur T, de druk P, het aantal komponenten LX, de
samenstellingsmatrix X en de K-waardenmatrix AK.
I...,.l
7.6 De subroutine GUESS (8.111
Hier is een extra korrektie aangebracht om
rnassabalans over de kolom juist is.
7.7 De subroutine WRITES (8.12)
zorgen dat de
Deze subroutine drukt de resultaten van de Underwood-Fenske berekening af~ alsmede de geometrie van de kolom en de berekende
kosten van het ontwerp.
Er is afgestapt van de onnodig ingewikkelde konstruktie van een aparte conversiesubroutine (zie de oude subr. CONVER), omdat de eventuele tijdsbesparing die hierdoor verloren gaat hoogstwaarschijnlijk nihil is.
De aangebrachte veranderingen zijn: -Geen CALL meer naar een subroutine CONVER. -Geen afdrukken van tussenresultaten.
-Een iets verbeterde FORMAT
-Afdrukken van resultaten ontwerpberekening en kostenberekening. 7.8 De subroutine EXITS (8.131
Hier zijn twee extra foutmeldingen toegevoegd (label 75 en 80) welke aangeven dat respektievelijk de temperatuur van de kondensor te laag is en dat de kolomdruk buiten de toegestane grenzen valt.
7.9 De subroutine DETNFV (8.15)
In de subroutine zijn enkele verbeteringen aangebracht. Zo is er in plaats van de door Vergouwe gebruikte benadering van de Gilliand relatie (32) een in de literatuur vermelde benadering toegepast (Eduljee (33». Verder is de relatie van Kirkbride (34) voorzien van de door Akashah e.a. (35) gegeven aanpassing.
7.10 De funktie HVALUE (8.16)
Deze funktie is voor algemeen gebruik geschikt gemaakt door de
verschillende variabelen in de header van de funktie mee te geven.
Achtereenvolgens leest de funktie in de schakelaar IPHASE
(l=vloeistof, 2=ga5), de druk P, de temperatuur T, het aantal
'J
o
B_
DE SUBROUTXNE COSTS
Funktie kolom.
Het berekenen van de geometrie en de kosten van de
CALLS vanuit: MAIN
CALLS naar DETNFV. HVALUE COMMON bi oek 5
BLO
eK
1 :doorgeven van aantal komponenten NBLOCKR :doorgeven van specificaties scheiding, kolomdruk
UNFEWS : doorgeven van kolomvariabelen en berekende instel parameters.
UFTORR :doorgeven refluxverhouding R UFTORI :doorgeven totale aantal schotels
DESWRR :doorgeven van geometrie en energie naar WRITES COSWRR :doorgeven van kolomkosten naar WRITES
COSRDR :doorgeven van gegevens voor kostenberekening
In de subroutine COSTS worden de in hoofdstuk 3 gegeven formules voor de berekening van de geometrie en de kosten uitgevoerd.
-Allereerst wordt door het uitvoeren van een CALL naar de subroutine DETNFV het totale aantal schotels NTOT. de refluxverhouding R en het nummer van de voedingsschotel NF uitgerekend.
-Daarna worden de duties van de condensor en de reboiler uitgerekend. Deze duties moeten bekend zijn om een energiekostenschatting te kunnen uitvoeren.
-Vervolgens wordt de geometrie berekend met de formules van Heaven
(20) •
-Nu volgt de berekening van de kolomkasten (d.w.z. installatie-schotel- en onderhoudskosten).
-Met behulp van de eerder berekende duties wordt een schatting van_de warmtewisselende oppervlakken gedaan. waarna installatiekosten van condensor en reboiler berekend worden.
-Energiekosten worden met de door Norari (30) gegeven vergelijking berekend.
-Als laatste stap volgt er de berekening van de jaarlijkse kosten, ATC. Deze waarde wordt in de optimalisatieprocedures van de subroutine DESIGN gebruikt als te minimaliseren funktiewaarde.
I
II
!
,
:]
I r . ..J I I , '0 Iu
o
9_ DE SUBROUTINE DESXGNFunktie Het uitvoeren en optimaliseren van een ontwerp.
CALLS vanuit: MAIN
CALLS naar GUESS, FLASH, G05CAF~ OBJF
COMMON blocks
INITBL :doorgeven initiele waarden, grenzen parameters etc.
COSRDR :doorgeven van koelwatertemperaturen
BLOCKR :doorgeven van specificaties scheiding, kolomdruk BLOCK! :doorgeven van aantal komponenten N
SWITCH :doorgeven van schakelaarstanden.
RBDPKV :doorgeven komponentennummers naar CHEMCO
BANK1 :doorgeven gegevens naar CHEMCO
De subroutine DESIGN voert naar gelang de stand van de schakelaar
NDECIS (zie ook hoofdstuk 6) een ontwerp van de kolom uit. Voor een
overzicht van de subroutine wordt verwezen naar het stroomdiagram
(fig.2).
-Allereerst volgt er een initialisatie van de verschillende variabelen
en wordt de schakelaar MDECIS op nul gesteld. Indien MDECIS gelijk is
aan 1~ wordt er geen tussenresultaat van elke funktie-evaluatie
afgedrukt. Verder krijgen de variabelen ALPHA, BETA en GAMMA (voor
gebruik Nelder/Mead optimalisatie) hun waarden.
-Vervolgens wordt een beginschatting uitgevoerd van de verschillende
stromen in de kolom door de subroutine GUESS aan te roepen. De
berekende waarden van de destillaatstroom OS, de bodemstroom BS~ de
produktmolenstromen DIS en BIS, alsmede de produktmolenfracties XDS en
XBS kunnen naderhand via het COMMON block INITBL aan de objektfunktie
OBJF worden doorgegeven.
-Afhankelijk van de absolute waarde van de stand van NDECIS wordt
vervolgens gesprongen naar de verschillende verwerkings-algorithmes.
-Voor het geval dat NDECIS de waarde 1~2,5 of 6 heeft~ volgt een
beginschatting van de kolomdruk. Er wordt een kondensortemperatuur
aangenomen welke 20 graden Celsius boven de temperatuur van de
ingaande koelwatertemperatuur ligt. Dit gebeurt door een CALL naar
FLASH, door m.b.v. de initiele waarden van de samenstelling in de top
en de gestelde temp~ratuur de kolomdruk te berekenen die bij deze
condities hoort. Er volgen tests op het voldoen van de kolomdruk aan
de in het programma gestelde eisen (P>1 en P<34 bar)
-Voor het geval dat NDECIS de waarde 7 of 8 heeft wordt de schakelaar MDECIS op 1 gezet (d.w.z. subroutine WRITES moet uitvoer leveren).
-Voor alle andere waarden van NDECIS (1~2~3,4~5 en 6) wordt een
Nelder-Mead minimalisatie van de jaarlijkse kosten uitgevoerd.
-Na de minimalisatie krijgt MDECIS de waarde 1 en wordt de
objektfunktie nogmaals aangeroepen voor het punt met de laagste
jaarlijkse kosten.
,
---
----
---
--
- - --o
:u
u
( START)
\ Initie~~ waarden voor .ini-
i
1 maIlsatle procedure. 1
---1
Voer een begin~chptting yan :1 de stromen fn de kolom Ult. :
<:_~~~:!:~;>--N-)<:_~DE=~~=:~~)--N--->!
y
X ( 1 I I r~-~hit-köï~;d~~k-ï;)
I tel onder ~n \ " \ ~_~~~2~~~~~~~~_~ I I \ \ 1 I---
\ ____________________ I;
Vorr
een minimali- ;I
)
~~~le ~tlsenresul-
)l
1 raten at. 1 I ---~--- Il(---~
1i
Dnt!lerl1 kolol! eni
I druk alle gegevens I
1 af. 1
( STOP)
Figuur 2. Stroomdiagram subroutine DESIGN
u
I i , 'v' ;0 ! v 9.1 De Nelder-Mead minimalisatieDe Nelder-Mead methode is een BOX-achtige manier van minimaliseren. Het is een erg succesvolle techniek voor het vinden van optimum van een nietlineaire objektfunktie door het toepassen van een regelmatig
zoekpatroon, de simplex. De originele zoekmethode van M.J.Box (25) heeft het nadeel dat er geen versnelling van de methode plaatsvindt in de nabijheid van een optimum en dat er problemen kunnen ontstaan bij sommige objektfunkties. Voor een beschrijving van de Nelder-Mead methode wordt verwezen naar (24) en het stroomdiagram van de minimalisatie (zie fig.3).
o
,.:..J
,0
o
1 0 .
DE FUNKTIE OB.:JF
Funktie Dient als objektfunktievoor de Nelder-Mead
optimalisatie, drukt tussenresultaten af.
CALLS vanuit
CALLS naar COMMON bloeks
DESIGN
UNDFEN, CaSTS
BLOCKI :doorgeven van aantal komponenten N SWITCH :doorgeven van schakelaarstanden.
UNFEWS :doorgeven samenstellingen, ontwerpparameters
INITBL :doorgeven initiele waarden, grenzen parameters etc.
COSRDR :doorgeven van koelwatertemperaturen
BLOCKR :doorgeven van specificaties scheiding, kolomdruk UFTORR :doorgeven berekende ontwerp parameters
COSWRR :doorgeven berekende kosten
De werking van de objektfunktie er erg simpel. Hij dient in
hoofdzaak voor het aanroepen van de subroutines UNDFEN en CaSTS.
-Allereerst worden de geschatte samenstellingen en molenstromen in de desbetreffende variabelen gezet.
-Daarna wordt afhankelijk van de waarde van NDECIS de waarde van de te
varieren (genormaliseerde) parameter teruggetransformeerd naar de
oorspronkelijke parameter (PIN en/of RATR)
-Met behulp van de berekende waarden voor PIN en RATR wordt een
ontwerp en kostenberekening gedaan door een CALL naar UNDFEN en COSTS.
-Uiteindelijk wordt indien MDECIS ongelijk is aan 1 een afdruk gemaakt
van de belangrijkste gegevens.