.
1
't' Ol~ .. 11 ~ '4 •i',
~ ;~ '. I • I ; j 0" , , , 0 , '.r
. ,Laboratorium
' ,
voor
'
Chemische Technologiè
/ '
Verslag behorende
bij het fabrieksvoorontwerp
van
.
..
C
..
tl
..
k':12 ...5..flNf2E.1Y. .
.
..
....
..
..
...
B
....
D~.t.
.
N.
....
..
onderwerp:
..
....
rL
()'.~5.H.Err.i.N.
.
6
...
.oN.Pf./S
..
....
..
.
... .
.;.J . : , ..... I.lJ.E. , ..
SL».N.
•
.
~E.5..T.8.I..C:.T.L.E.s....
.
...
... ...
'
..
..
.
..
..
.
.
. ~ .:..: ,. ,
.
: . , ..
' t-' I1\/
ft
opdrachtdatum :2
9
~0
/
~.B
r
,H
/72&LfJIII<.Jt~r
/1
verslagdatum :N
OOrDO/(p
o
c
()o
o
o
o
(J--.-
- -
- - - --
~---
-L (
c
c
('o
o
o
o
V~rg~1iJki~g ~~~ d~ f1o~~h~~ti~gprogr~~~~7~ Pro~~~~ ~~ EQMAKER
~oor h~t op1o~~~~ ~~~ ~~~~~
b~1~~~~~ o~d~r d~~ig~r~~tri~ti~~_
april 1984 C.M. vd Sanden
( (
c
( (o
o
o
o
o
Dit verslag beschrijft het onderzoek naar de mogelijkheden voor
het ooiossen van de massabalans van een flowsheet onder
design-restricties. Twee flowsheeting programma's staan model voor de
verschillende benaderingswijzen van flowsheeting te weten Sequen-tial modular en Equation solving.
Uitwerking van deze mogelijkheden resulteert eveneens in een
handleiding voor het gebruik van deze programma's voor design. Ten slotte worden beide orogramma's met elkaar vergeleken bij het
ooiossen van een testvoorbeeld.
l l (
c
c
( (1I.
I
I
I
o
l
,
o
o
() Inhouds opgave_ 1 2 2. 1 '"J '"I ""--""-2.3 3 4 4. 1 4.2 4.3 5 5. 1 6 SalYlenvatt i ng Inhoudsopgave InleidingSequential Modular Approach Rekenvolgorde
Convergentie Design
Eouation Solving Approach Process
AIgelYleen
Feedback controllers
Toeoassingen feedback controllers EQMAKER
AIgelYleen
Testvoorbeelden
Een uitgewerkt voorbeeld van het oplossen van de massabalans onder
1 2 3 5 5 6 '3 15 17 17 1'3 20 41 41 45 designrestrikties 53 6. 1 6.2 Ui tgangspuntel"1 Process 6.3 Eomaker 7 Discussie en conclusie Referenties Aopendix A Gegeneralisseerde
stroomspecifica-ties in Process met betrekking tot IYfassaba 1 arlSel"1
B Unitparameters als
controlspecifi-caties in Process C D E F G H
Unitparameters als
controloarame-ters i n Pl~ocess
Maximaal cyclisch subsysteem
azijnzuurfabriek zonder
control-lers
Maximaal cyclisch subsysteem
azijnzuurfabriek met controller cl
Maximaal cyclisch subsysteem
azijnzuurfabriek met controller c2
MaxilYlaal cyclisch
azijnzuurfabriek met
cl en c2
subsysteelYl controllers
Uitgewerkt voorbeeld
aziJnzuurfa-briek 53 54 58 62 66 68 71 71 7·.<:. -· 75 7'3 83 87
l (
c
( (o
o
O l , I Io
1 Inleiding.De verschillende stadia welke tijdens het maken van een Fabrieks voorontwero geoasseerd worden kunnen als volgt worden onderschei-den ElJ.
-1 Synthese van het flowsheet. -2 Analyse van het flowsheet.
-3 Ootimalisatie van het flowsheet.
Een flowsheet wordt hierbij gedefini~erd als een schema van aooaraten en stromen van materiaal en energie; flowsheeting is het berekenen van de toestanden en groottes van deze stromen
Bij flowsheeting kan men twee uitgangsounten voor de berekeningen onde\"'scheidet'.
In het eerste geval zijn de voedingsstromen, de aooaraten en hun instellingen (de apparaatoarameters) bekend en wordt het schema doorgerekend om de grootte en samenstelling van alle stromen te beoalen. Men spreekt il'1 ZO't, geval vat' , \"'atinq' C1J. In het tweede geval zijn èèn of meer voedingsstroom condities en/of de instelling van èèn of meer aooaraten niet bekend. maar wil men deze Juist berekenen voor bekende stroomsoecificaties. Men soreekt dan van 'design'. De te berekenen voedinqsstromen en aooaraatoarameters worden dan designvariabelen genoemd.
Design maakt het mogelijk om aan het oroces en hierin voorkomende stromen vooraf eisen te stellen 00 basis van orodukt
soecifica-ties en fysische of chemische criteria. '
De meest eenvoudige methode om design problemen aan te pakken is een methode die we 'Trial and error' kunnen noemen. Het probleem wordt volledig uitgerekend met een geschatte set van designoara
-meters. Na berekening wordt indien noodzakelijk 'met de hand' de set van pal"'a,y,etel"'s biJgesteld. In dit o\"'oJekt is eet1 bete\"'e aanoak van desiqnoroblemen bestudeerd.
Flowsheeting kan bedreven worden 00 twee fundamenteel
verschil-lende ,y,aniel"'eY",.
De eerste en meest gebruikelijke is de Seauential Modular Ap-proach, waarbij het flowsheet apoaraat voor aooaraat wordt door-gerekend en de nog onbekende recyclestromen worden gekniot, ge-schat en ingevuld.
Als tweede methode wordt de Eauation Solving Aoproach gebruikt, waarbij alle vergeliJkingen van alle apoaraten eerst worden uit-geschreven en het stelsel als geheel simultaan oogelost wordt. Beide methodes zijn voor flowsheets van enige grootte slechts met behulp van de comouter toeoasbaar. In de algemene flowsheeting programma's, d.w.z programma's waarbij het te berekenen flowsheet niet vastligt, kunnen de beide benaderingsmethoden teruggevonden worden in ondermeer Process (2] respectievelijk EQMAKER (3].
(
c
c
(o
o
o
.
o
,I()De doelstelling van dit projekt is het vergelijken van het
oolos-sen van massabalansen onder designrestrictiesmet behulo van
Process en EQMAKER. Deze vergelijking vereist een uitwerking van
het gebruik van feedback controllers in Process en een
<-(
C
l
( I (C
,
o
o
2 SeQuential Modular Aooroach.
Nadere beschouwing van de flowsheetingprogrammatuur toont dat de seouential modular type simulator een belangrijke positie OP het gebied van de steady state simulatie inneemt (4J. Bij de seouen-tieele methode wordt de berekening gestart bij een bekende stroom
in het flowsheet en wordt achtereenvolgens aoparaat na apparaat doorgerekend. Recyclestromen worden eerst geschat en via de een of andere iteratie methode, waarvoor veelal directe substitutie wordt gebruikt. opgelost. Het rekenpad door het flowsheet wordt
bf via de input door de gebruiker opgegeven bf er is een routine
aanwezig die 00 basis van procestooologie en gegevens het
reken-pad aa~1geeft.
Het ootimale rekenoad is het pad waarmee men zo min mogelijk met onbekende recyclestromen te maken heeft.
Bij meer ingewikkelde flowsheets is het niet zondermeer duidelijk welk rekenpad het beste kan worden oekozen. Door systematisch toepassen van de zogenaamde 'oartitioning and tearing' methode
kan ook hier het ootimale rekenoad bepaald worden.
Partitionina is het scheiden van cyclische en acyclische sec-ties in het flowsheet.
Tearing is het zodanig kiezen van tearstromen ( kniostromen dat het flowsheet acyclisch wordt.
eê.}~·Ç_l;. t .:!:. Q
n
~.l]g. ~ ..Partitio~1i~1q identificeer
~
sectieswaal~van
de units geliJktijdig moeten worden oogelost. Hierbij kan een sectie bestaan uit een enkele unit of een zogenaamd maximaal cyclisch subsysteem. Een van de meest gebruikte algoritmen voor aartitionina waarbil de secties bovendien in de Juiste volgorde voor berekening geolaatst worden is als volqt [5J:Kies een willekeurige unit en vorm een reeks door de outout van de unit te voloen waarbij iedere unit welke ontmoet wordt aan de reeks wordt toegevoegd. Zo'n reeks kan 00 twee manieren beêindigd
wor·den.
1) Einde bij een unit welke geen verdere output meer heeft.
2) Einde bij een unit welke al onderdeel uitmaakt van de be-schouwde reeks.
In geval 1) wordt de unit w~lke onderdeel uitmaakt van de reeks uit het flowdiagram verwijderd en vooraan in de rekenvolgorde geolaatst.
In geval 2) worden de units welke onderdeel uitmaken van de reeks tot een sectie samengevoegd en wordt de kettingprocedure
voortge-zet uitgaande van deze nieuwe unit.
Dit algoritme wordt herhaald tot alle units uit het flowdiagram 'verwiJderd ziJn. De lijst voor de rekenvolgorde bevat de aroepen
(.J
(
(
(
(
Als een maximaal cyclisch subsysteem voorkomt moet er gezocht worden naar een set van kniostromen voor ieder maximaal cyclisch subsysteem. Voor een beoaald recycle net bestaan een aantal verschillende sets van kniostromen. Een geaccepteerd criterium voor het kiezen van een beoaaide set is het selecteren van de set met de beste convergentie karakteristieken voor directe substitu-tie [6].
Uohadye en Grens definiêren twee klassen van decomoosities (= het selecteren van kniost[omen) te weten redundant en nonredundant. Hun werk demonstreert dat de nonredundant decomoosities betere convergentie eigenschappen voor directe substitutie bezitten. Zij
beschrijven het volgende algoritme voor het vinden van nonredun-dant decomoosities:
-1 Kies een set van kniostromen (=knioset) welke het c I i sch ,y,aakt.
t1et
acy--2 Als alle outputstromen van een unit in de knipset vertegen-woordigt zijn kan een gelijkwaardige knioset gevonden worden door het verwisselen van de outoutstromen van deze unit met ( zijn inputstromen.
-3 Indien na toepassen van regel 2 een knioset ontstaat waarin een stroom meerdere malen voorkomt is deze set redundant. Voor het vinden van een nonredundant set worden stromen welke meerdere malen in de knioset voorkomen 00 èèn gebeurtenis na
C I IfJeggelaten. 'Hiel~dool~ is een nie'-\we set van knipstrolYlen
ont-staan waarmee de orocedure kan worden voortaezet.
0
0
I 0
I
r
-4 Herhaal 2 en 3 tot een knioset gevonden is welke het net nog steeds acyclisch maakt en nonredundant is.
Directe substitutie is de convergentiemethode welke in de meeste systemen wordt toegeoast. Over het aloemeen converaeert deze methode slechts langzaam.
)'{ ~ x k+1 k+1 k
=
f(x ) k= geschatte waarde van de vector x aan het begin van trial k+l
( (
I
( ( Clo
o
o
Een aantal convergentie versnellende methoden kunnen worden toe-geoast. Hierbij wordt gebruik gemaakt van de berekende waarden van enkele vorige iteraties OM een nieuwe waarde te berekenen.
De methode van Wegstein [7] welke de interactie tussen de ver-schillende variabelen verwaarloosd voldoet voor de meeste syste-men goed. ~
=
a ~ + (1-0) x k+l k k+l ~=
geschatte waarde k trial k x=
berekende waarde k+l trial k ~=
geschatte waarde k+1 trial k+l q=
acceleratie factor o=
w I (w-1) w=
(x k+l x ) k I (~ k van de van van ~ ) k-l vector x de vector de vectoraan het begin van
x aan het eind van
x aan het begin van
Het is noodzakeliJk OM de waarden van de acceleratie faktor a te begrenzen OM divergentie en/of oscillatie te voorkomen <Bounded
Weqstein). Doorgaans liggen de waarden van q tussen -5 en O.
Convergentie is te verbeteren door de acc~leratiestaD oas uit te voeren na een aantal directe substitutie staooen. Dit oeldt onder andere voor die gevallen waar de initiêle schatting van de waarde van x slecht overeenstemt met de verwachtte oolossing van x.
Tot slot moet hier worden oogemerkt dat deze acceleratie techniek geen interacties tussen de verschillende stroomvariabelen
onder-kent waardoor deze methode minder geschikt is voor problemen waarbij meerdere recyclestromen in het flowsheet voorkomen.
c
( ( ( ( ( (,o
o
o
o
,{) ,JDe dominante eigenwaarde methode [8J beschouwd wel de interacties
tussen de verschillende stroomvariabelen. Deze methode is
geba-seerd OP de benadering dat de samenstelling van een recyclestroom
beschreven kan worden met:
=
A
x +b
k
x
k+l
A
=
Matrix met lineaire termenb
=
vector met constanten)., 1 = I l':::'x I I / I I Ax I I
k k-l
).,1
=
Dominante eigenwaarde van matrix AIIAx I I
=
norm van de stroom vector kk ~
=
x k+l k+l + a(x k a=
demoings faktor x ) / (1-).J) k-l~
=
geschatte waarde van xk+l
x , x
=
berekende waarden van xk k-l
Voorwaarde voor acceleratie is dat Àl kleiner dan 1 dient te
z i,])"1.
Deze acceleratie techniek is geschikt voor die oroblemen waar
meerdere recyclestromen in voorkomen.
( ( ( ( ( Cl
o
o
o
Om gebruik te kunnen maken van SMA voor het ooiossen van flow-sheetoroblemen is het soecificeren van de voedingscondities en de eauipmentoarameters van de unitmodules noodzakenlijk. In en de-signstudie zijn Juist de equipmentparameters en/of de voedings-stroomcondities de onbekenden en is de oebruiker geinterreseerd in die waarden van deze designvariabelen welke corresponderen met vereiste specificaties. Omdat de designvariabelen welke de oe-bruiker wil manipuleren niet overeenkomen met de onafhankeliJke variabelen welke door een SMA-tyoe orogramma worden geboden kan het gebruik van deze orogrammatuur voor dit soort problemen de gebruiker voor problemen stellen.
In principe zij er twee manieren om designproblemen 00 te lossen
binnen de SMA (9].
-1 00 de eerste olaats kan de door de gebruiker gewenste soecifi-catie voor een outout van een unitmodule worden oefixeerd en kan de te manipuleren inout van deze unitmodule hieruit worden teruggerekend.
-2 00 de tweede olaats kan er aan de simulatie een
controller-systeem worden toegevoegd. Het controllersvsteem vergelijkt de actuele waarde van de outout met de gewenste waarde (set-Doint). en reoelt n.a.v. het oevonden verschil een door de gebruiker aangegeven designvariabele.
Deze methode is minder geschikt en vereist de orootste voorzich-tigheid. Het berekenen van fysische inputs uit fysische outputs kan resulteren in negatieve fysische stromen of divergentie. Dit kan als volgt worden toegelicht.
Voor een willekeurige unit n kan de volgende set vergeliJkinoen worden opgeschreven
E
= overdrachts functie van unit n y(i)=
outputstroom vector van unit n ~(J)=
inoutstroom vector van unit nu
=
vector van unitparameters voor unit nX1~Y4
~~Y6{ ( (
c
(c.
I
!I
("'
I
-'I I O·o
We beschouwen nu de unit als afgebeeld in fig 2.1 waarbij voor de eenvoud is aangenomen is aangenomen dat de stroomvectoren slechts èèn element omvatten n.l. de massaflow van een comoonent.
Oostellen van de massabalans over unit n levert: y(4) + y(ó)
=
x(1) + x(2) + x(3)Om y(4) en y(ó) te berekenen is een tweede vergeliJkinq vereist: y(4) = knl x(l) + kn2 x(2) + kn3 x(3) (> {= kni (= 1
Uit deze twee vergeliJkinqen volgt:
y(ó)
=
(1-kt1!) x(l) + (1-kn2) x(2} + (1-kn3) x(3)Deze vergelijkingen leren dat indien de fysische output uit de fysische inout berekend wordt de coêfficienten welke V(4) of V(ó) relateren aan x(1).x(2) en x(3) begrensd liggen tussen 0 en 1. In dit aeval zal de inDut outout relatie dan ook 'begrensd' ziJn~ normale fysische inDut waarden leveren altijd normale fysische
out Dut waa l'den.
OIYI x (2) en V (ó) te bel'ekenen ui t x (1), x (3) en y (4) veraeliJkinqen herschreven.
wordei'"1 de
x(2} -- (-knl/kn2) x(1) + (-kn3/kn2) x(3) + (1/kl"12) y(4) yeó)
=
(1+knl/kl"12) x(1) + (1+kl"13/kt12) x(3) + (1-1/kn2) y(4) Deze vergelijkingen leren dat als de fysische outout niet uit de fysische inDut berekend wordt de coêfficienten welke x(2) en y(ó)relateren aan x(1).x(3) en y(4) niet lanaer begrensd liggen tussen (> en 1. Met andere woorden de inDut outDut relatie is in dit geval niet "begrer-Isd". De fysische ii'"lol.lt kar1 VOOI' norlYlale
waarden van de fysische outDut abnormale waarden aannemen. Boven-dien kunnen de coêfficienten nu grote waarden aannemen wat
aan-leiding kan geven tot diveraentie.
( ( ( ( (
o
o
o
o
o
Het controller systeem kan al dan niet als unitmodule aan de simulatie worden toegevoegd. Een manier om een controller block binnen een bestaand SMA orogramma te introduceren is schematisch afgebeeld in fig 2.3.
Naast de controller unit subroutine wordt hier tevens een nieuw type stroom ingevoerd te weten de informatiestroom. Deze informa-tiestroom is hier een stroom welke informatie van de ene unit naar de andere unit overbrengt zonder dat deze informatie stroom gel~elateerd is.
1---
1 IFEED
POST-I I I IUNIT
OPERATION
CONTROLLER
BLOCK
_ _ _ I PROCESSOR _ _ _ _ _ _ 1 Figuur 2.3A n ... 2.3bDe unitmodule informatie inDutstroom wordt door een unitmodule oreorocessor verwerkt en de resultaten hiervan worden als unitoa-rameter door aeaeven aan de unitmodule ( zie fia 2.3). De unitmo-dule voert zijn berekeningen uit 00 basis van de actuele
unitaa-rameter waarde en de voedinasstroom condities. Tot slot worden de . .
unit/stroom data verzameld door de unitmodule oostorocessor. Na verwerking van deze data in de postorocessor worden de resultaten hiervan in een unitmodule informatie outout stroom doorgegeven aan het contl~ollel~ bloek. De controller veraeliJkt zi Jl'1 inforlYla-tie input signaal met het door de gebruiker ingestelde setooint. Als deze ongelijk aan elkaar zijn stelt de controller zijn output signaal bij waarmee de informatierecycle gesloten is.
Het intern bijstellen van het controller informatie output sig-naal geschiedt doorgaans met behulp van de secant methode. Deze methode is gebaseerd 00 de methode van Newton Raahson waarbij de
algebraische evaluatie van de afgeleide van f(x) wordt benaderd:
1 1
( ( ( ( ( (
o
o
o
""f/""x = f<x ) k-l x k+l=
x k f<x ) / ( k x k-l x ) kAnaloog aan de volgorde waarin de voorbeelden van hoofdstuk 4 aan de orde komen kan de toepassing van een OP deze wijze ingevoerde controller nader worden uitgewerkt.
I---ï
I I
l·1
U
I
~.
Figuur 2.4A Het specificeren van een voedings stroom als designvariabele oeeft moqeliJk aanleidinq tot een extra unit operatie welke manioulatie van stroomvariabelen als unitparameters mogelijk maakt. Dit is afhankelijk van de opbouw van het programma [10].
I---~ FIguur- 2.5 I I
~~-~-
~
B Het maakt pricipieel geen verschil of pre- en corresponderen met een en dezelfde unitmodule verschillende unitmodules.
post p l~ocesso l~ dan wel IYlet
BelangriJke voor het zinvol functioneren van de controller is
dat de !Jl~eorocessor van een unit "invloed" IYl0et kunnen uitoefe-nen 00 de postorocessor van een stroomafwaards aeleaen
unitmo-dule.
C Het is mogelijk om meerdere controllers in een flowsheet te olaatsen. Het resultaat van de combinatie van twee of meerdere afhankeliJke controllers in een acvclische keten wordt beoaald door de rekenvolgorde.
D Als een of meerdere controllers gebruikt worden in combinatie met een recycle 1000 kunnen de volgende comalicaties optreden.
De controller zal tijdens elke iteratie vat1 de l~ecycle loop naar een oplossing convergeren; dit kan aanleiding geven tot
verhoging van de rekentijd.
Bovendien creêert de informatie stroom een extra recycle loop in het flowsheet wat tot instabiliteiten kan leiden indien beide loops met behulp van een secant methode bijgesteld wor-den, OMdat het biJstellen van de controller verstoord wordt door het bijstellen van de recycleloop. Westerberq voorziet deze orobleMen [IJ.
( {
c
(c
(c
o
o
o
o
E Referentie stromen.Een door de gebruiker opgegeven relatie tussen stromen of
comoonentstromen kan eveneens als een indirect setooint dienen. Hierdoor wordt een extra informatiestroom geïntroduceerd.
In een conventioneel SMA tyoe programma komen uitsluitend
exoli-ciete kniostromen voor. Een expliciete knipstroom is een
knip-stroom waarbij een berekende functie waarde van x aanleiding
geeft tot een nieuwe schatting voor x.
~
=
f<x )k+l k
Voor de oplossing geldt:
x
=
f<x )k k
Een impliciete kniostroom is een kniostroom waarbij evaluatie van de functie g(x) aanleiding geeft tot een foutterm voor x.
e = q<x )
k
~
=
x-
ek+l k
Voor de oolossing geldt: e = (I
De exoliciete kniostroom is eenvoudig om te rekenen in en
imoli-ciete kniostroom. Con ven tionaJ input streams
~_!::~:~
I-t;j
I I I I I Tota! unit calculationsCon ven tionaJ output streams
---,
I I I I I I Information InfonnatidQ I output streams r---...., input streamsI I I I I L ______ 0 Implicit block ______ J Fiquu I~ 2.6 1
l ( ( ( ( (
c
o
o
o
-Stel dat door een oostorocessor uit fig 2.3 een foutterm geprodu-ceerd wordt dan kan deze informatie output stroom door middel van
een implicit block aan een informatie input ~troom gekoppeld
worden. hetgeen in fig 2.6 ge!llustreerd wordt (ontleend aan
[IJ). De foutterm geeft niet direct aanleiding tot het bijstellen
van de controlparameter, dit kan simultaan voor alle impliciete
kniostromen gebeuren.
~
=
h(x ,e)k+l k
Het voordeel van deze aanoak is dat er slechts sprake is van een
iteratie niveau door het simultaan oplossen van recyclestromen en
informatie recycles hetgeen leidt tot betere convergentie. In de
literatuur komen we deze aanpak tegen onder de naam 'implicit
teadng' [1(1].
( ( ! (
c
(c
(o
o
l
I
I
o
I
o
l
I
I3 De eQuation solving approach.
In het voorgaande hoofdstuk is de seQuential Modular approach besproken. De seQuential Modular approach vereist dat voor iedere unit in het flowsheet een subroutine aanwezig is welke de uit-gaande stroomvariabelen berekend als functie van de ingaande strOOMvariabelen en de apoaraatparaMeters.
Deze routines worden dan stuk voor stuk seQuentieel aangeroepen volgens het strOOMscheMa te beginnen bij een punt in het flow-sheet Met bekende condities. Voor de steady state oplossing geldt:
x
=
f(.~.W)Men kan het flowsheet dus zien als een stelsel niet lineaire vergelijkingen welke siMultaan oogelost dienen te worden.
Het stelsel bevat vergelijkingen welke het verband tussen in- en uitgaande stroMen van alle apparaten beschrijven en vergeliJkin-gen voor het soecificeren van bekende stroMen.
In tegenstelling tot de seQuential Modular approach wordt het stelsel nu iMoliciet opgeschreven als een functioneel verband van alle stroomvariabelen ~ en aoaraatparaMeters
Y
zodat de afgelei-den van F berekend kunnen worafgelei-den.Het oplossen van een stelsel vergelijkingen vereist in de eerste plaats dat het aantal vrijheidsgraden van dit stelsel nul is. Het aantal vrijheidsgraden van een stelsel vergelijkingen is
gedefinieerd als het aantal onafhankeliJke vergelijkingen Minus het aantal variabelen. Het aantal vriJheids graden van een flow-sheet dient in het geval van een rating probleeM dus gelijk te zijn aan het aantal te soecificeren strooMvariabelen.
Opvallend is dat het voor de eouation solving approach in prin-cioe niet uitmaakt of men in- dan wel uitgaande strOMen van het
flowsheet neemt. Het klassieke uit de seQuential modular acoroach stamMende verschil tussen rating en design vervalt hier. Wanneer men ook aooaraatparaMeters als variabelen in het stelsel verge-liJkingen ooneemt wordt het grote voordeel van deze methode boven de seQuential modular aporoach duidelijk, omdat het de oolosser niet uitMaakt of Men variabelen van het tyoe stroom, dan wel van het tyoe aoparaatoarameter oolost kan Men design problemen rela-tief eenvoudig in de equation solving approach integreren.
Men dient steeds het aantal vriJheids graden van het stelsel gelijk aan nul te houden door het specificeren van extra design-vergelijkingen, waarbij Men er dan ook nog 00 moet letten gèèn strijdig stelsel te Maken.
l (
c
( ( (c
o
o
o
Het aantal vrijheidsgraden van een unit is gelijk aan het aantal ingaande stromen maal het aantal vrijheidsgraden van èèn stroom vermeerdert met het aantal designparameters.
Het aantal vrijheidsgraden van een flowsheet is de som van de vrijheidsgraden van de units minus het aantal verbindingsstromen maal het aantal vrijheidsgraden van een stroom.
Hierbij is er van uit gegaan dat het aantal vrijheidsgraden van elke stl"'oom gelijk is.
Het werken met de eQuation solving aporoach valt uiteen in twee fasen; het vertalen van het fl~wsheet naar een stelsel vergeliJ-kingen en het oplossen van dit stelsel.
Net als bij de sequential modular aporoach is voor iedere unit operatie een subroutine aanwezig welke het model bevat wat het aoparaat beschrijft. Deze routine rekent nu echter niets uit. maar schrijft in plaats daarvan de vergelijkingen op. Hierbij dienen de dummyvariabelen in de vergelijking vervangen te worden door actuele s~steemvariabelen. De vertaler dient behalve het stelsel vergelijkingen ook een lijst van variabelen en hun
bete-kenis aan de oplosser door te geven.
Het oplossen van een dergelijk stelsel niet lineaire vergeliJkin-gen gebeurt meestal met de methode van Newton, welke voor een een functie te ~chri)ven is als:
OverClatlCl tlaal"' biaan. ofwel leve'l"'t:
x
=
x f(x )/f' (x )i+1 i i i
de matrix notatie waarbij
J
staat voor de Jaco-de matrix van alle afceleiJaco-den van F naar alle ~,-1
)«i+1)
=
>,:,<i) J ( i )*'
F.<i)
Het simultaan ooiossen van aoparaten, desiqnoarameters en
recv-clestromen zorgt over het algemeen voor een betere convercentie naar de oolossing dan met de seouential modular aooroach mogelijk
zou zijn geweest.
Een van de oroblemen van de eouation solving aooroach is dat men voor goede convergentie van alle stromen beginschattinqen dient te hebben.
Een ander orobleem is het berekenen en inverteren van de
Jaco-biaan waarvan de grootte kwadratisch toeneemt met het aantal va r iabe len.
Om het berekenen van de Jacobiaan overbodig te maken maakt men vaak gebruik van ouasi newtonse oplossingsmethoden, waarbij men de inverse Jacobiaan vervangt door een schatter.
Het geheugengebruik kan men ook verminderen door gebruik te maken van soarse matrix technieken, waarbij men alleen de niet nul elementen
va~
matrices bewaart. De Jacobiaan van de functieE
is vanwege de s~ructuur van het flowsheet enorm sparse.( (
c
( ( ( (o
o
(1: t ~ ~ r -~--- -4 Proc:ess.Het Process simulation orogram is een geintegreerd systeem van georogrammeerde methodes en data voor het berekenen van massa- en warmtebalansen in chemische orocessen (3, 12J. Rond 1975 heeft Simulation Sc:iences Inc. een aanvang gemaakt met dit nu drie maal herziene orogramma. Het programma is modulair en file-oriented. In fig 4.1 is de macroorogramma structuur en file allocatie schematisch weergegeven.
De executive. het regel- of schakelorogramma, regelt het verkeer tussen de verschillende orogrammaonderdelen. Deze onderdelen
zijn: Invoer
Oplosorocedure voor massa- en warmtebalans Uitvoer
De oolosorocedure van Process roeot achtereenvolgens de subrou-tines welke de aooaraten beschrijven aan. De volgorde waarin deze subroutines worden aangeroeoen kan door de gebruiker worden ooge-geven of door het oroaramma zelf worden beoaald. Unit operations welke deel uit maken van een recyclelooo worden meerdere malen aange l~oeoen ui tgaande var-. een kni ost 1~0 om. I neen Ot1a fhankel i ,1 ke
1000 wordt de kniostroom aoart bijgesteld, in een afhankel i jke
(geneste of verbonden) 1000 worden de kniostromen simultaan bi .
1-gesteld. De gebruiker heeft de mogelijkheid om een eigen
oolos-stl~ateÇlie 00 te geven en zo af te wiJket1 van de default opties.
'-' ~ ...
.
..;;t t. :;I ::;I CJI 'r! LLI
Input Processor
Data O1ecking
Loop Analysis
Input
Data
Restart
File
User Added
Subroutines
Input Files
.
e
e
--'~' "' .. -.~',.---"---'-" u "-'PROCESS SIMULATION
PROGRJ\~ISTRUCTURE
&FILES
,
PROCESS Simulation Program
Executjve
I
I
)'he nno dyn am i c
PrQperties Prediction
Process
Data
Bank
Users
Private
Data
Bank
'-'Packages
User Added
Subroutines
Pure Component
Data Banks
e
e
v ~Unit
Operations
Results
Stream
DLlta
I~estart
File '- vr
Unit
Opera tions
----...
1vlodules
t
User Added
Subroutines
Intennediate
Output Files
S
e
e
o
1
Output
Report
"'riter
I IUser Added
Subroutines
Output Files
Comprehensive18
Output
TryReports
Directory
8
8
Selected
StremTlS
I
---_
.
-
..._
..._---:
o
o
c
c
<-(c
( ( (c
o
o
Process kent zowel een feedforward als een feedback controller. De feedforward controller maakt het mogelijk om informatie van een ount in het flowsheet naar een stroomafwaarts gelegen punt door te geven. De feedback controller is vergelijkbaar met een feedback orocescontroller. Alleen de feedback controller is voor designdoeleinden van belang.
00 de eerste olaats dient de feedback controller als unit tion gedeclareerd te worden m.b.v. een controller kaart. naast dient de feedback controller gekarakteriseerd te
ooera-Daa 1'-vlO rden middels declaratie van zijn controlsoecificatie en controloarame-ter.
De controlsoecification heeft betrekking 00 het meetount van de controller en kan geassocieerd worden met de postorocessor uit de formele beschrijving van een controller block. Als control-soecification kan zowel een stroom als een unit oarameter d iet1st doen.
Process kent zgn.'generalised soecifications' om de Quantiteit, kwaliteit of karakteristiek van een orocesstroom in termen van stroomsnelheid. temoeratuur, druk en zuiverheid te beschrijven. De soecificatie ka!"1 hierbij een absolute of een I'elatieve grootheid zijn. Zie Aooet1dix A.
In Process kunnen druk. temperatuur en dutv van een aantal unit ooerations als controlsoecification gebruikt worden. Zie Aooen-dixB. Ook hier kunnen de soecificaties absoluut danwel rela-tief t.o.v. een referentie unit zijn.
De controloarameter heeft betrekking 00 het regel Dunt van de feedback controller en kan worden geassocieerd met de ore-orocessor uit de formele omschrijving. De controloarameter kan een orocesstroomsnelheid of een unitoarameter zijn.
In Process kunnen temoeratuur. druk, duty, en soecification van beoaaide unit Doerations als controlDarameter gebruikt worden. Zie Aooe!"ldix C.
Binnen het kader van dit oroJekt is alleen de soecification van de solitter en de seoarator als controloarameter gebruikt. Voor een solitter betekend dit dat volstaan kan worden met het keywoord SPEC 00 de oarameter card van de controller. Voor een
seoarator dient hieraan het comoonent nummer te worden toeoe-voeod.
Process VOOl' de voldaat1
hanteert de secant methode om een waarde te berekenen controloarameter waarvoor aan de controlsoecificatie wordt. De vereiste initiêele schatting voor de control-oarameter wordt door de gebruiker oogegeven in de Process invoer. Is de controloarameter een stroomsnelheid dan moet de initiêele schatting van de stroomsnelheid oogegeven worden bi.] de streamda-taM
Is de controlparameter een unitoarameter dan moet de initiêele schatting van de waarde hiervan door de gebruiker opgegeven worden bij de unit operation data onder de betreffende unit operat iot1.
Het is belangrijk dat men zich realiseerd dat alle waarden van variabelen welke 00 bovenstaande wijze initieel geschat worden
( . i
<.
:
( (c
I
I
o
l
I
o
l
I
I
o
.
I
°
l
!
- - - ---door het orogramma worden overschreven.
Een tweede schatting van de controloarameter waarde wordt default gebaseerd 00 een twee orocent afwijking van de initiêele schat-ting. Met behulo van de entry EST2 kan de gebruiker zelf een tweede schatting oogeven.
In de iteratie procedure is het aantal iteraties default beoerkt tot tien. Indien gewenst kan de gebruiker dit met behulo van de entry ITER veranderen.
De stapgrootte waarmee de controlparameter tijdens een iteratie-slag varieerd is begrensd tot vijftig orocent van de vorige waarde. Met behulp van de entry STEPSIZE kan de gebruiker deze staogrootte veranderen.
Om convergentie problemen te voorkomen moet het functionele ver-band tussen controloarameter en controlsoecification continu en monotoon zijn. Als dit verband niet aan deze voorwaarden voldoet
kunnen problemen voorkomen worden door het oogeven van een range waarbinnen de funtie wel continu en monotoon is. Het opgeven van df'1'ze l'ë.'mge gebeul't IYlet behulo van de entries MINI en /YIAXI. Indien de controlvariabele een oooeoeven minimum of maximum waarde
dreigt te passeren wordt de berekening stoo gezet. Indien men de NOSTOP ootie meegeeft wordt de berekening met de corresoonderende grenswaarde voortgezet.
De berekeningen worden afgebroken indien
Het maximum aantal iteraties overschreden is. Er geen repons is 00 de control variabele.
- De control variabel een oogegeven minimum of maximum dreiot te overschrijden zonder dat de NOSTOP ootie gebruikt is.
Bevindt een controller zich in een recvclelooD dan is ~~n van
~ovenstaande stoecriteria niet voldoende om de berekenino af te breken maar dient een dergelijke situatie zich drie maal voor te
clO(2n.
Het hoofdstuk Seouential Modular Aooreach vormt de basis waarDe in dit hoofdstuk een aantal systematisch oogezette voorbeelden zullen worden uitgewerkt. De voorbeelden zijn in eerste instantie
bedoeld als handleidino var het gebruik van feedback controllers in Process. Bij de voorbeelden welke in deze paragraaf uitgewerkt worden dient, daar deze uitsluitend beoerkt ziJn tot het ooiossen van massabalansen, het volgende te worden oogemerkt;
Unit ooerations welke in de voorbeelden oebruikt worden zijn beoel'kt tot ee"r"tvoudige aDoaraten te weten IYtixers, solittel's,
seoaratO\~etl • reactoren en controllers.
Controlscecifications hebben hier uitsluitend betrekking 00
stromen en wel alleen 00 stroomval'iabelen welke betrekkina
hebben 00 de massabalans.
De voorbeelden illustreren slechts de werking van een contl'ol-Ier in een beoaaide omgeving. De gekozen unit ooerations, controloarameters. etc. zijn willekeurig gekozen.
De controlsoecifications welke in de voorbeelden gebruikt wor-den zijn allen absoluut omdat relatieve soecificaties
<-( ( ( (
c
o
0
'
o
II
!
ding geven tot een extra inforroatiestrooro.
A.1.1. Solitfaktor als contl'oloarafYleter.
r - - - - ï I I I - - - . j
SP 1
t---'~cl
F I guur- A. IIn dit voorbeeld wordt het gebruik van
een controller ge~llustreerd welke een
solitter regelt naar aanleiding van een
soecificatie 00 een uitgaande strooro van
deze solitter. De controller dient in de
rekenvolgorde na de unit operation of
stl'OOIYI, waarop de controlsoecification
van toeoassing, is te staan. De Process
rekenvolgorde wordt beoaald door de
volgorde waarin de unit operations
gede-clareerd zijn, tenzij deze volgorde met
behulo van een SEQUENCE card
overschre-ven wordt. (zie Vb B.1. 1)
SM
PROCESS
INPUT lISTING - PAGE
1
TITLE FROJECT=VE.
Al.l
DIMENSION SI, TIHE=SEC, TEMP=C
CALCULATION
NOHBALANCE
COMPONENT DAT
L18ID
1ABUTANE/~,PENTAr~ETHERMO D TA
TYPE SYSTEM=SRK
STREAM DATA
PROP
STRM=1,PHASE=V,nATC(~)=100.,IEHP=200,PRrSS=lOO,*b2~î(~~E~ÄffgN§
[ATA
SPLITTER UID=SPl
FEED=l
PRODUCT V=2 V=3
SPECIFICATI6N STP.M=3,F.ATE=0.S,REffEED
CONTROLLER UID=C2
SPEC STRM=2
RATE{~)=60rPARAM
UNIT=~Pl,SPEC.IPRINT iRECYCLE DATA
! ACCELA~ATION
TYPE=UEGS
VERSION 0881
SIMULATION $CIENCES, INC.
PROJECT
VB. Al.l
PROBLEfi
STRE:Af~CCMPONENT
STREAM ID
1NAME
PHASE
VAPOR
1 BUTANE
5.COOOE+Ol
2 PENTANE
5.0000E+01
'IOTALS
99.9~99 ~EMPERATURE~eEG C
28°·0000
RESSURE,
1':A
1 0.0000
H MM
KJ
ISEC
0.0016
~6LE
FRACI LIAUID
0.0RECYCLE
CO~VEGEHCE
C.O
SM
P.ROCESS
SOLUTION
fLCtl RATF.S
2VAPOR
.
3.0000F.+Ol
3.COOOE"Ol
S9.9999
199.9999
100.0000
0.0009
0.0
0.0
-
KGS/SEC
3VAPOR
2.0000E+Ol
2.0000E+Ol
40.0000
199.9999
100.00CO
0.0006
0.0
0.0
2 1( l ( ( (' (
o
2 2A.2.1. Seoaratiefaktor als controloaraMeter.
r---,
'
-'=---IS 1
Figuur A.2,
,
,
cl
Vb A. 2. 1. a laat z i e~1 dat Ït1d ien de sol i t ter l l i t A. 1. 1. verVat1gen wordt dDor een seoarator er zich oroblemen voordoen.
SM
PROCESS
INPUT LISTING - PAGE
1
TITLE PROJECT=A2.1A
OLMENSION
SI~TIME=SEC, TEMP=C
CALCULATION
~OHB~LANCE~8~~5~~~TS~Ä~A
LIBID l,BUIANE/2,PENTANE
THEHMO Df\TA
TYPE SYSTEM=SRR
STREAfo~DATA
PROP STRM=1,PHASE=V,RATE(Y)=100.,TEMP=200,PRESS=100,*
COMP(W)=0.5/0.5
UNIT OPERATIONS DATA
CONTROLLER UID=Cl
~~I~MSZ~~i~si~~J~f~l:ig~INT
SEPARATOR UIO=51
FEED=1
OVHO STRH=3,PHASE=V,!EMP=200
BIMS SIRM=2,PHASE=V,TEMP=200
FOVHO
1.~.9/2.,O.1RECYCLE uATA
ACCELARATION TYPE=WEGS
De eerste schatting van de controloarameter blijkt foutief
gefn-teroreteerd te worden. De waarde hiervan blijkt geen 0.9 maar 0.0 te zijn met als gevolg dat een twee procent variatie hiervan geen
nieuwe schatting oolevert waardoor de controller faalt.
De remedie voor dit orobleem is het opgeven van een tweede
schat-ting m.b.v. een EST2 card zoals in Vb A.2.1.b getoond wordt.
***
AI.L INPUT DATA
INORDER
***
UNIT
1, S 1 ,
SOLVED
o
CONTROLLER UNIT
2, Cl
, AT IIERATION
I', ~~~~M~ItnE~0.0
0.50000E+02
UNIT
2,Cl , HOT SOLVf,O
UNIT
1.S I ,
SOLYED
CONTROLLER UNIT
2, Cl
•
AI ITERATION
2,
~~~~M~It~E~O
UNIT
UNIT
2,1
Cl
Sl
, nOT SOLVED
SOLVEn
ONTROL
PARAHETEH
60ES
N6I AFFECISPEC VALUE,
()
ONTROLLIÇE~~fIoN2AI~ïcnf l~Ik~DigLLOus
ITERATIOH
PAClr5~ER
~rE5E
UNIT
1 2 3 2,Cl
0.0
0.0
0.0, NOT SOLVED
0.50000E+02
0.95000E+02
0.95000E+02
0.0
I
0.95000E+02
( I C . J I ( , -(
I
I
I
I
°
l
I0
'
o
SMPROCESS
INPUT I.ISTING - PAGE
1
IITLE FROJECT=VE.
A2.1 ~DIMENSION SI, TIME=SEC,
TrMF=CCAlCULATION NOEBAlANCE
COt-1PONFNT
DATA L181D 1,BUTANF/~,PENTANE THF.RMO DATATYFF: SYSTEM=SRK
SIREAM DATA
PROP SIRM=1,PHASE=V,PAIE(Y)=100.,IEMP=200,PRESS=100,O-
COMP
(\.I) =0.5/0.5UNIT OPERATIONS CATA
SEPARAICR U1D=51
FEED=l
OVHD SIRM=3 PHASE=V IE~P=200
ETMS STRM=2;PHASE=V:TEMP=200
tg~~~ottf.~·Ûf5~tg·l
~~~iMSZ~~i~~r~~~J~ti~~PRINT,~ST2=0.75
RECYCLE DATA
ACCElARATION
TYPE=WEGS VERSION 0881SIMULATIONSCIENCES,
PROJECT
VEe A2.1PEOBlEM
STREAt1 IC
NAMEFHASE
1 BUTANE' 2 Pf.NTAI·JE10TALS
lEMPERATURE~ ~EG C ERES5URE, 1':t'A 116 f1M KJ/5EC
~ LEFRACI LIrUIC
FECYCLE
COKV[~GENC~INC.
STRf.i\JV CCMPONSNT 1 V~POR 5.00COE+01 5.00COE+Ol 99.9999 200.0000 10G.OOOa C.OO16 0.0 C.O 511 PROCfSSSOLUTION
FI.Ct.I
RATES
-
KG5/SEC2 3
VAPOR
VAPOR
1.5000E+01 3.5000E+Cl 4.5000E+01 5.0000E+CO 60.0000 39.9999 200.0000 200.0000 100.0000 100.00CO 0.0009 0.0001 0.0 0.0 0.0 0.0A.3.1. Stroomsnelheid als controlearameter.
r - -
_
0
- _____ _
I I
I I
;·IRI
1;
Flguu,.. Ao3
Indien een stroomsnelheid als con-trolcarameter aebruikt wordt moet de beschouwde stroom ten alle tijde een voedinqsstroom ziJn~ een verbindings-stroom tussen twee unit oDerations kan niet als een controloarameter
gebl~1.Ii kt wo rden. Vb A. 3. 1 toont een invoerstroomsnelheid als controloara-meter welke naar aanleiding van een soecificatie 00 een uitvoerstroom geregeld wordt. ln- en uitvoerstromen hebben betrekking 00 dezelfde unit ooe-ration.
(
r
( ( (o
o
o
o
sr1
PROCESS
INPUT IIST!NG - PACE
TITLE rROJECT=VB. A3.1
DIM~NSION
SI, lIME=SEC, IEMP=C
CALCULATION
NCH~Al~NC[PRINT TRIAL
I "lTePIION
,J I~PlIT= ilAn'l'
COMPONENT BATf\
L18IO l,B TANF/2.rENTANE
THE:HMODATA
TYPE SYSTEM=SRK
S1Rt::AM DATA • .PROP
S'IRM=1,PHASE=v,RATr(~)=100.,1~MP=200,PRESS=100,*b2~t(~tE~ÄffgN~
CATAREAC10fi UID=Rl
Fi:.EO=l
PRODUCT V=2
OPERATION
PHASF=Y PRfSS=100
TEMP=~OOCALCULATION
CONVE~SlONLNOHRALANC:S10ICHI0 1,-1.124/2.1.j089
EASE CCMPONCNT=l
CONYERSION= .12
CONTROLLER UIO=C2
SPSC
STRM=2,RATE(~)=60
PAHAM STRM=l,IPHINT
RECYCLE DATA
ACCELARATION
TYPE=WEGS
P~CJEct- · VE. ~3.1PFOALfM
SOLUTICN
PHASF. 1BlITANE
2 PF.NTAI~E 1011\LS TEMPERATURE~ [~GC
PRr-:SSURE, t':l'A
I: 11/1 KJ /52;Cf6LE FRACI
LI~UIDRECYCLE
COKVE~GENCESTR2A~ CC~PONENT
FLCU
RATES -KGS/SEC
1 2
VAPOR
VAPCR 2 • '19 9 9 F. + 0 1 2.9')99[+01 59.9979 :>J~.OOO') 10~.OC00 C.C0090.0
C.J) 2.6399E+01 3.3599E:+01 ~9.9979 200.0000 100.0000 0.0009 0.0 0.0 2 4~ ÇQ0trgl§Q?Qifiç~iiQn en 9~r§mgi§r ~êirQhbgD
ynil
PQ~r~iiQn§~r---,
I I
I
F i guur Bol
Controlsoecifications en controloarameter hoeven niet met de-zelfde unit oDeration te corresoonderen.
PIWJECT
rn.1
PP.OBLEM SOLUTION
STREAM COMPONENT fLOU RATES
-
KGS/SECSTREAH
IR
1 2 3 qN ME
PHASE VAPOR VAPOR VAFOR VAPOR
1 nUTANf 3.7076[+01 3.3333E+01 3.0000E+01 3.3333E+00
2 PENIANE 3.787SE+01 4.2Q24E+Ol 4.2424E+00 3 .81e2E +01
101ALS 75.7568 75.7570 34.2421 41.51"9
TEMPERATURE~ DEG C 200.0000 200.0000 200.0000 200.0000
PRESSUHE,
I<A
100.0000 100.0000 100.0000 100.0000H HM KJ /SEC 0.0012 0.0012 0.0006 0.0006
HOLE
FRACI LI~UID 0.0 0.0 0.0 0.0l ( (
c
c
(c
o
0'
I io
SM
PfiOCESS
INPUT LISIING -
PAGE1
IITLE PROJECT=Bl.l
DIMENSION
SI~TIME=SEC, TEMP=C
CALCULATION NOHBALANCE
PRINT TRIALiWTCPIION,INPUT:PART
SEQUENCE Rl.S ,Cl
COMPONENT Ot\TA
L18IO l,BUIANE/2,PENIANE
THERMO Dt\TA
TYPE SYSTEM=SRK
STREAM DATA
PHOP
S~RM=1,PHASE=V,RArE(~)=100.,TEMP=200,PRESS=lOO,~COMP(Il)=O.510.5
UNIT OPERATIONS DATA
REACTOR UID=Rl
.
FEED=l
PRODUCT Y=2
OPERAIION PHASE=V PRESS=100 TEMP=200
CALCULATION CONVEásION,NOHBALANCE,XOPTION=3
SIOICHIO
1~-1.72Q/2,1.3889BASE COMPONENT=1
CONVERSION=.12
CONTROLLER UID=Cl
SPEC STRM=3 ,COMP=1,RATE(Il)=30.
PARAM STRM=1
6
IPRINT
SEPARATOR UI =51
FEED=2
OVHD STRM=3,PHASE=V,TEMP=200
BIMS S!RM=Q,PHASE=V,IEMP=200
FOVHO
l,~.9/2"O.1RECïCLE
uATAACCELARATION IYPE=WEGS
C.l.1. Soecificaties van beide controllers identiek
Indien de soecificaties van twee
con-trollers identiek ziJn dan zal de
controller welke het laatst in de
re-kenvolqorde voorkomt niet regelen.
om-dat er door de werking van de eerste
controller reeds aan de soecificatie
vo 1 daan wo l~dt.
Dit voorbeeld is niet verder uitcewerkt
omdat na weglaten van de tweede
con-tl~ollel~ Vb A. 1. 1. ·I~esteert.
C.2. 1. ControlDarameter~ van beide controllers identiek.
r---,
I I I I I r - , I I I I I I Figuur C.2Zijn de controloarameters identiek dan
kan dit aanleiding geven tot
instabili-teit in de berekening. In dit (Jeval
wordt naar aanleiding van de
soecifica-tie van de eerste controller de
oe-meenschaooeli]ke controloarameter, de
so I i t fakt 0 r, op een beoaa 1 de waa rde
gesteld. Vervolgens wordt naar
aanlei-dinq van de soecificatie van de tweede
controller de solitfaktor 00 een andere
waarde ingesteld.
Omdat hierdoor de soecificatie van de eerste controller niet
( (
c
(o
I0
1
I
I
o
niet bereikt te worden tenzij de specificaties consistent zijn.
C.3.1. Beide controllers opereren onafhankelijk van elkaar.
r -I I I I FIguur c.s r -I I I
Beide controllers ooereren onafhanke-liJk van elkaar indien de werking van de stroomafwaarts gelegen controller (c2) de werking van de stroomoowaards gelegen controller (cl) niet beinvloed. Unit ooeration en corresoonderende con-troller kunnen in beide gevallen afzon-derliJk berekend worden waardoor dit voorbeeld 00 te solitsen is in twee
voorbeelden van geval A.
C.4.1. Controlle\~s ooereren afhankelijk van elkaar, soecificaties niet gecorreleerd zijn.
waarbij de
Figuur C.4
Controller cl en c2 ooereren hier af-hankeliJk van elkaar immers de control-oarameter van c2 beinvloed de control-scecification van cl. De soecificaties van cl en c2 zijn niet gecorreleerd dat wil zeggen zij stellen eisen aan ver-schillende variabelen. In princioe zijn
hier twee alternatieve rekenvolaorden. cl danwel c2 kan als eerste oogelost worden. C.4.1.a too~,.t:; de beref<e~lit1a
waarbij cl als eerste ocgelost wordt.
sr"
PROCESS
INPUT lISTING -
PAGE
IITLE
FROJECT=VB.C4.iA
.
.
. '
DIMF.:"'SION SI, TH1E'=SEC, TEMP=C
CALCULATION
NOHBALAHCC
PHINT
TRIAL
i
\.1TCPTION ,INPllT=I-JONE
SEQUENCE Sl,C ,5f1,C2
COMPONENT Dt\TA
LIBID
l,BlITANE/2.PEllTANE
'IHERMODf\TA
TYPE SYSTEM=SRK
SlREAM
DATA
PROP
SlRM=lfPHASE=VARAI[(U)=100.CCMP(~}=.S/.S,UNIT OPERAT ONS CAT
CONTROLLER UID=C1
SPEC STRM=2
COMP=2~?AIEJU}=30PARAM
UNIT=siAsPEC="IPR~NT,ES12=:.8CONTROllER
Ulu=C2
SPEC
STRM=41CO~P=lfRATE(W)=20PARAM SIRM= .IPRIN
SPLITTER UID=SPl
FEED=2
PRODUCT V=5 V=4
SPECIFICATIÓN
SI~H=S,RATE(~)=O.S.REFFEEDSEPARATOR
UID=Sl
FEED=l
CVHD STRM=3 PHA5E=V.7[HF=200
BTMS
SlRM=2;PHASE=V,TE~P=200FOVHD
l'AO.~/2.,C.lRECYCLE
LIATA
ACCELARATION TYPE=WEGS
PRESS=100,TEMP=2CO
<-2 7
(
SM
VE.CQ
.tA
PROCESS
CUTPUT DIRECTCRY
-UNIT
STREAt'~RELATIONS
-
P.
1INPUT IN ORDER
(
UNIT
1,51
,
SOLVéD
UNIT
2,Cl
,
NOl SOLVEO
UNIT
1,51
,
SOLVF.D
UNIî
2,Cl
,
NOT SOLVED
UNI
1,51
,
SOLV
,
O
UNIT
2,Cl
,
SOLVF.D
UNIT
3,SP1
,
SOLVED
(
UNIT
ij ,C2
,
NOT SOLVf.D
UNIT
1,Sl
,
50LV
,
0
UNIT
2,Cl
,
NOl 50LVEO
UNIT
1,Sl
,
SOLVEO
UNIT
?,
Cl
,
50LVEO
UNIT
, j ,SP1
,
50LV[D
UNIT
ij ,C2
,
NO! SOLVfD
UNIT
1,Sl
,
50LVED
(
UNIT
2,Cl
,
NOT 50LVf:D
UNIT
1,Sl
,
SOL
Vt-0
UNIT
2,Cl
,
NOT SOLVED
..
UNIT
1, Sl
,
SOLVêO
UNIT
2,Cl
ISOLVrO
UNIT
3,SP1
,
SOLVfO
UNIT
i j ,C2
,
NOT 50LV20
UNIT
1, Sl
,
SOLVEO
(UNIT
2,Cl
,
NOl 50LV[0
UNIT
1, Sl
,
50LVED
UNIT
2,Cl
,
NOT SOL \lED
UNIT
1,51
ISOLVED
UNIT
2,Cl
,
50LVED
UNIT
3,SP1
,
501.VrO
'
UNIT
4,C2
,
NOl SOLV[[)
.
UNIT
1, Sl
,
SO~V[D(
UNIT
2,Cl
,
NOT 50LV1':0
UNIT
1,Sl
,
SOLV[O
UNIT
2,Cl
,
NOT SOLVED
UNIT
1,Sl
,
SOLVf.D
UNIT
2 .Cl
,
SOLVEO
UNIT
3:
SP1
,
SOLVED
UNIT
4,C2
INO'! 50LV[0
UNIT
1,51
,
SOLVfO
( ,
UNIT
2,Cl
,
NOT SOLVED
UNIT
1, 51
ISOLVfD
UNIT
2,Cl
,
NOT 50LV[D
UNIT
1, Sl
,
SOLVED
UNIT
2,Cl
,
SOLvrD
UNIT
3,SP1
,
SOLVEO
UNIT
4,C2
,
N01._~OLV[DUNIT
1,51
ISOLVED
0
UNIT
2,Cl
INOT SOLVED
UNIT
1, Sl
,
SOLVED
UNIT
2,Cl
,
NOT 50LVfO
UNIT
1, Sl
,
50LVEO
UNIT
2, (~,
SOLVfD
UNIT
3,S 1
,
S01vro
UNIT
4,C2
,
NOT SOLvro
0
UNIT
1, Sl
,
SOLVCD
H~îî
2,Cl
,
NOT SOLVfD
1, Sl
ISOLVED
UNIT
2,Cl
,
NOT SOLVfD
UNIT
1, Sl
,
SOLVED
UNIT
2 Cl,
SOLVEO
UNIT
3:SPI
,
SOLvrD
UNIT
"
C2 SOf.UTICN
SOLVEO
* ...
Ff\Osf.EMREACHEO
**:)
0 ..,.
...
(
.
I
( ( Ic
!
c
l
II
I
I
c
l
I
i
I
I
o
l
j II
o
o
o
Vb C.4.I.b toont de berekening waarbij c2 als eerste oogelost
wo l~dt.
St1
PHOCESS
INPUT LISTING - PAGE
1
TITtE PROJECT=VB.C4.1B
DIMEr
'I
SION
SI,TIl':E=SEC, TCMP=C
CALCULATION NOHBAL~NC[
SEQUENCE
SlfS~1,C2.ClCOMPONENT Df\Tn
tIBIO lcBUTANE/2.PENTANE
THERMODI\TA
.
TYPE SYSTEM=SRK5TREAM DATA
2 8PROP STRM=ltPHASE=VARATE{U)=eOO,CCMP(Y)=.S/.S, PRESS=lOO,TEMP=2CO
UNIT
OPERAT ONS DATCONTl\ûLLER UID=Cl
SPEC STRM=2
,RAT[(~)=30 COMP=2PARAM
UNIT=Sl~SPEC=2,lPAINT,EST2=.8CONTROLLER
Ulu=C2
SPEC STRM=41RATE1Ul
=20,COMr=1PARAM STRM= , IPR' NT
SPLITTERUID=SP1
FEED=2
PRODUCT V=5 V=QSPECIF!CATI6N
STfM=5.RAT[(~)=O.5.RErfEEDlUXER UID=Ml
rEED=l q
PRODUCtV=2
SEPARATORUID=51
FEED=l
OVHD
STRM=3.
PHASE=V •TE:f1P=200
UTMS
STRM=2~PHASE=V.TEMP=200FOVHD
1.~O.~/2 •• C.lRECYCLE vATA
ACCELAfATION
TYPE=wEGS
SM
PROCESS CUTPUT DIRECTCRY - VB.eu.1U
UNIT STREA/!
RELATIONS -
L'.INPUT
IN 0POEa
UNIT 1, Sl •
SOLVEn
UNIT 2,
SP1 •
SOLVEDUNIT 3, C 2 . SOL
ven
UNIT 4, Cl •
NOT
SOLVEDUNIT 1, S l . SOLVED
UNIT 2,
SP1 •
SOLVEDUNIT 3, ( 2 . SOLVEO
UNIT
4, Cl •NOT SOLVED
UNIT
1 , ! : 1 . SOL VEOUNIT 2. SPl • SOLVEO
UNIT 3. C 2 . ~OL
VEn
HHl!
ï:
~I
:
NOT~8t~EB
UNIT 2. SPl , SOL VEn
UNIT 3, C 2 . SOLVED
UNIT
4,Cl • NOT SOLVED
urnT
1,
S l , SOLVEDUNIT 2. SPl ,
SOLVED
UNIT 3" C 2 . SOLVED
UNIT 4, Cl •
NOT
SOLVEOUNIT
1,
S l . SOLVEDUNIT
2" SP1 • SOLVED1
UNIr 3, C 2 .
SOL
ven( ( (
c
(o
o
o
o
Het blijkt dat de berekening waarbij cl als eerste wordt opgelost tot een inefficiente berekening leidt. De berekening van c2 wordt
hier namelijk verstoord:
Na voltooing van de cl berekening wordt de parameter van c2 bijgesteld. Voor iedere verandering van parameter 2 wordt, omdat niet langer aan specificatie I wordt voldaan, parameter 1 biJge-steld, wat OP zijn beurt weer conseouenties voor specificatie 2 met zich mee brengt. Deze extra veranderingen van specificatie 2 hinderen de evaluatie van het functionele verband tussen parame-ter en specificatie van c2.
C.4.2 Controllers opereren afhankelijk van elkaar waarbij de specificaties gecorreleerd zijn.
Ook hier. zie fig C.4. zijn de controllers afhankelijk van elkaar omdat c2 invloed heeft OP cl. De specificaties zijn hier
gecorre-leerd. Zij hebben beiden betrekking OP dezelfde variabele. De invoerstroom van spi wordt 00 een vaste waarde gehouden door cl.
Manioulatie van de controloarameter 2 brengt hier geen verande-ring meer in aan, waardoor de specificatie van c2 niet bereikt kan worden (tenzij soecificatie 2 consistent is met soecifica-tie
1>-Dit voo l'bee ld i s niet ui tgerekend olYldat het du ide I i J I...; i s dat voo I"
een een dergelijk orobleem geen oolossing bestaat.
Recycle problemen introduceren kniostromen in het probleem waar-voor het raadzaam is een beginschatting 00 te geven. Dit dient in
de sectie streamdata de cebeuren. De keuze van de kniostrooM kan door de gebruiker middels de rekenvolgorde bepaald worden.
D.1. 1. cOl"troloal-'ametel' griJot aan binnen de )"ecyleloDo, Ce =,pe-cificatie ligt buiten de recycleloop.
1---
-...,
1Ct
In dit oeval bestaan er twee verschillende rekenroutes.
Vb D.l.l.a. tracht eerst de controller 00 te lossen; de
recycle-stroom wordt geknipt en verandert niet van waarde. Na oplossen van de controller 1000 wordt de knipstroom bijgesteld. Voor
iedere nieuwe schatting van de kniostroom herhaalt dit proces zich.
c
( ( ( (c
o
o
o
o
'., 'i sr~PROCESS
INPUT lISTING -
PAGE
TITLE PROJECT=VB.
Dl.~DIMENSION SI,
TIME=S~C,TEHP=C
CALCULATION
NOH9ALANCF.
Il
sEgO~~~ETAI~~~~~~r~~~N,INPUT=NON2
COAPONfNTDt\TA
LI8IO
1IBUTANE/~,PENT~NE THERMO DATA . ITYPE
SYSTEM=SRKSlREAM
DATA
PROP
STRM=1,PHASE:V,RATE(U):100ACCMP(U)=.5/.5~ PRESS=100~TEMP=2COPROP SlRM=51PHASE=V,RATE(U)=15,~CMP(~)=.9/.1,pRESS=100.T~MP=200
UNIT
Of
-
ERAT
ONS [ATBCONTROLLER U10=Cl
~Ä~ÄMSÜ~~T~S~~~!~~~~I~~Ï~T,
CONTROLLER
UID=C2
SPEC STRM:4,COHP:2
f
RATE(Y)=20.0PARAM STRM=l,IPRIN'
lUXER UID=M1
~~58uè15V=
2SPLITTER UIO=SP1
FEED=2PRODUCT
V=3
V=6SPECIFICATIÓN
STF.M=3,RATE(~)=O.5,REFFEEOSEPARA TOR lIIO=S1
FEED=3
CVHD
STRM=5,PHASE=V,!E~P=200I31MS S'IRr1=4 ,PHASE
=V , 1EHP=200
FOVHO
l,~O.9/2"O.1RECYCLE
DATAACCELARATION
TYPE:~EGSSM
PROCESS
OUTPUT
DIRECTery -
V~.rl.IA
UNIT STREAM RELATIONS - P.
1
INPUT IN ORDER
UNIT
1, Ml,
~OLV[DUNIT
2, SP1 ,
SOlvrD
UNIT
3,
5 1 ,SOLVED
UNIT
~,C1, NOT SCLVED
UNIT
2, SPl ,
SOLVfO
UNIT
3, S l ,
SCLVCD
UNIT
4, Cl
, NOT SOLVED
UNIT
2,SPl ,
SOLVCD
UNIT
3, S l .
SOLVED
UNIT
q,Cl
1SOLVfO
LOOP
1 NOT
SOLVEDAf TER
1TRIALS
STREA~
RATES Fon Loer
1 TRIAL
l
-UNIT
1, f J . l ,SOL VED
UNIT
2, SP1 •
SOlVED
UNIT
3, 5 1 .SOLVED
~~Ö~ 14~O~lS0tVEO AF~k~FD
2TRIALS
STREAM
RATES FOR
LCOP
1
TRIAL
2-UNIT
1, 1~1,SOL VED
UNIT
2,SPl ,
SOLVED
UNIT 3, 5 1 .
SOlVED
~~è~ 14NO~lS0tVED A~~~~FD
3
TRIALS
STREHM RATES FOR LOOP
1
TRIAL
3-UNIT
1,
M1.SOLVfD
UNIT
2, SP1 ,
SOL VfD
UNIT 3,