ghent universitylib.ugent.be/fulltxt/rug01/001/311/817/rug01-001311817_2010_000… · voorwoord in...
TRANSCRIPT
FACULTEIT INGENIEURSWETENSCHAPPEN
VakgroepElektrische Energie, Systemen en Automatisering
Voorzitter: Prof. dr. ir. J. Melkebeek
Modelleren en Simuleren van
een Zonnecentrale
door
Mathieu Vandenbulcke
Promotor:Prof. dr. ir. R. De Keyser
Scriptiebegeleiders:
Ir. Clara Mihaela Ionescuen Ir. Manuel Galvez-Carrillo
Scriptie ingediend tot het behalen van de academische graad vanburgerlijk natuurkundig ingenieur
optie toegepaste natuurkundeAcademiejaar 2005-2006
Voorwoord
In deze thesis tracht ik uit te leggen hoe een simulator van een zonnecentrale geprogrammeerd
kan worden. De bedoeling is dat deze simulator gebruikt wordt bij het testen van geavanceerde
regelaars die de centrale moeten besturen. Hiermee hoop ik een, zij het bescheiden, bijdrage
te leveren tot de ontwikkeling van nieuwe technologieen inzake duurzame energie.
Ik zou hierbij ook iedereen willen bedanken die geholpen heeft bij het verwezenlijken van dit
eindwerk.
In de eerste plaats gaat mijn dank vooral uit naar mijn thesisbeleidster Clara Ionescu, die
altijd klaar stond om te antwoorden op al mijn vragen. Verder wil ik haar ook bedanken voor
haar hulp bij mijn tussentijdse presentaties.
Ook een woord van dank aan mijn promotor Robin De Keyser. Door zijn feedback tijdens de
tussentijdse presentaties wist ik mijn simulator telkens te verbeteren.
Verder zou ik nog mijn tweede thesisbegeleider Manuel Galvez-Carrillo willen bedanken die
mij, wegens zijn doctoraat over dezelfde zonnecentrale in het Plataforma Solar de Almeria,
bijkomende inzichten kon verschaffen.
Daarnaast wil ik ook mijn vriendin Inge bedanken, van wie ik veel steun heb gekregen in deze
laatste stresserende weken. Ik hoop dat ik voor haar volgend jaar hetzelfde kan doen, tijdens
haar thesisjaar.
Ook collega Matthias Marescaux zou ik willen bedanken voor het kritisch nalezen van dit
eindwerk en het helpen de spreekwoordelijke puntjes op de i te zetten.
Dit eindwerk zou er grafisch ook veel minder aantrekkelijk uitgezien hebben mocht het niet
i
ii
de professionele tekeningen van Jan Moerman bevatten, waarvoor ik hem dan ook wens te
bedanken.
Toelating tot bruikleen
De auteur geeft de toelating deze scriptie voor consultatie beschikbaar te stellen en delen van
de scriptie te kopieren voor persoonlijk gebruik. Elk ander gebruik valt onder de beperkingen
van het auteursrecht, in het bijzonder met betrekking tot de verplichting de bron uitdrukkelijk
te vermelden bij het aanhalen van resultaten uit deze scriptie.
Mathieu Vandenbulcke,
27 mei 2006.
Overzicht
Er valt een toenemende interesse op merken voor milieuvriendelijke energieproductie. Een
mogelijke manier om ’groene energie’ te produceren is via een thermische zonnecentrale.
Deze verwarmt een thermische olie d.m.v. geconcentreerd zonlicht. De hete olie kan daarna
gebruikt worden in verschillende industriele processen waar warmtebronnen nodig zijn, zoals
een ontziltingsinstallatie of een elektriciteitscentrale.
Deze thesis is als volgt opgebouwd: hoofdstuk 1 bevat een korte inleiding. In hoofdstuk 2
wordt een beschrijving gegeven van de zonnecentrale die gemodelleerd wordt. In hoofdstuk
3 wordt de probleemstelling geformuleerd, er treden immers enkele fysische verschijnselen op
die de modellering bemoeilijken. Vanaf hoofdstuk 4 begint de eigenlijke modellering. In dit
hoofdstuk wordt de centrale gemodelleerd via niet-uniforme tijdsmonsters. In deze methode
wordt gebruik gemaakt van een gedistribueerd parameter model. Daarna worden de resultaten
besproken. In hoofdstuk 5 wordt de tweede methode beschreven die gebruikt wordt om de
centrale te modelleren. Deze methode werkt via Proper Orthogonal Decomposition (POD).
Eerst wordt een kleine theoretische uiteenzetting gegeven over de POD-methode en vervolgens
wordt de methode toegepast op de centrale. Daarna worden opnieuw de resultaten besproken.
In hoofdstuk 6 wordt tot slot een korte besluitvorming geformuleerd.
iii
Extended Abstract
iv
v
Modelling and simulating of a solar power plantMathieu Vandenbulcke
Supervisor(s): Prof. dr. ir. Robin De Keyser, ir. Clara Ionescu, ir. Manuel Galvez-Carrillo
Abstract— This article explains how a simulator is constructed for thesolar power plant located at Plataforma Solar de Alemeria. Two techni-ques are explained. The first one using non-uniform sampling time and thesecond one using Proper Orthogonal Decomposition (POD).
Keywords—Solar power plant, non-uniform sampling time, POD.
I. INTRODUCTION
IT is obvious that fossile fuels won’t be available forever andthat there is an increasing need for renewable energy sources.
A source that has been and will be around for quite some timeis the sun. Solar irradiation can be converted to useful energyin different ways. The method described in this thesis uses pa-rabolic mirrors to concentrate sunlight on a system of parallelpipes. The thermal oil that flows through these pipes gets heatedexstensively and is fed to the top of a storage tank. The heat thatis present in the oil can be used in different industrial processeswhere there’s a need for heat sources. E.g. in an electrical powerplant where steam has to be generated or in a desalination plant.
II. PLANT DESCRIPTION
The plant is located at Plataforma Solar de Almeria, in theSouth-East of Spain and can basically be devided into three lar-ge sections. The first section feeds oil from the bottom of thestorage tank to the system of parallel loops and is called the’feeding section’. The second part of the plant consists of tenparallel loops that collect the sunlight and heat the oil. This sec-tion will be called the ’heating section’. The last section returnsthe hot oil from the ’heating section’ to the top of the storagetank and is called the ’return section’.
Fig. 1. Schematical drawing of the plant.
The oil flow is delivered by a pump situated in the feedingsection. The objective of the plant is to extract as much energy
M. Vandenbulcke is a student of Ghent University (UGent), Gent, Belgium.E-mail: mathieu [email protected].
from the sunlight as possible and to maintain the temperature ofthe oil that flows into the storage tank at a desired level. In orderto do this, there is only one control variable: the flow of the oil.The influence of the flow on the temperature of the oil is simple:a higher flow will lead to a lower temperature, because the oilhas got less time to get heated by the sunlight.
III. NON-UNIFORM TIME SAMPLES
The first methode uses non-uniform time samples [1] to simu-late the plant. This is inspired by the fact that the flow of the oilcan vary substantially during operation. Equation 1 describesthe heat received and stored into the metal tubes, while equation2 describes the amount of heat received by the oil:
ρmCmAm∂Tm
∂t= εDIrr(t)−HlG [Tm − Ta]
−LHt [Tm − Tf ] (1)
ρfCfAf∂Tf
∂t+ ρfCfq(t)
∂Tf
∂x= LHt [Tm − Tf ] (2)
These two equations only hold for the heating section. Thefeeding and return section can be regarded as a pure time delay:these sections are thoroughly insulated and heat losses can beneglected.
Fig. 2. Results for the temperature at the end of the returnsection for the 15thof July.
The results obtained with this first simulator are quite good.The error normally stays below 5%, except during the first mo-ments and when the flow is rather low. The first kind of errorsare due to the fact that the initial temperature distribution alongthe system of parallel pipes is unknown. The second error isprobably caused by an inaccurate heat transfer coefficient Ht.
viIV. POD-METHOD
The second simulator is constructed using the POD-method[2], [3]. This method produces a number of orthonormal ba-se functions φi(x) which represent the spatial distribution of animportant parameter in the system, in this case the temperature.These base functions can be derived from measured or calcula-ted data. To describe the variations in time, each base function ismultiplied by its own time-varying coefficient ai(t). In this waythe time- and place dependant temperature of the system can be
described by the approximation :n∑
i=1
ai(t)φi(x). The advanta-
ge of using the POD-method is the fact that only a low numberof base functions φi(x) needs to be considered to describe thesystem. To find the base functions φi(x), data concerning thespatial distribution of temperature along the system, is needed.Since this data is not available, it needs to be calculated. In or-der to do is, a state-space model of the system is constructed[4]. The state-space model is derived from a first order partialdifferential equation which describes the conservation of energyin the plant:
ρfcfDT (x, t)
Dt= S(x, t) (3)
where DDt = ∂
∂t + vx(t) ∂∂x is a substantial derivative and
S(x, t) denotes a time and place depandent heat source, in thiscase the solar irradiation. This can be cast into a state spacemodel [5]:
T(t) = A−1(t)T(t− 1) + A−1(t)u(t) (4)
T(t) refers to the temperature distribution of the system attime t and u(t) is a vector with input signals. Substituting T by
its decompositionn∑
i=1
ai(t)φi(x) = Φna(t) leads to:
Φna(t) = A−1(t)Φna(t− 1) + A−1(t)u(t) (5)
Projection of equation 5 on the orthonormal set of base func-tions Φn results in:
a(t) = ΦnTA−1(t)Φna(t− 1) + Φn
TA−1(t)u(t) (6)
Equation 6 gives a simple expression for the time varyingcoefficients ai(t). The result of this method can be seen in fi-gures 3 and 4. The results for the 15th of July look very good,even for low values of the flow. The results for the 16th of Julyon the other hand are less accurate. Only in the second half ofthe experiment there is a match between the real and simulateddata. A possible explanation for this could be the lack of a flowdependant heat transfer coefficient Ht in equation 3, which waspresent in the first simulator.
Fig. 3. Results for the temperature at the end of the returnsection for the 15thof July using POD.
Fig. 4. Results for the temperature at the end of the returnsection for the 16thof July using POD.
V. CONCLUSIONS
This article has presented two techniques for obtaining a mo-del of the solar power plant located at Plataforma Solar de Aler-mia. For the first technique some improvements could be maderegarding the heat transfer coefficient Ht. The second techni-que, using the POD-method, is substantially faster than the firstone. For the second technique, the use of a flow dependant heattransfer coefficient should lead to better results.
REFERENCES
[1] R. N. Silva, L. M. Rato, and J.M. Lemos. Observer based time warpedcontrol of distributed collector solar fields. Improving human potential pro-gramma, proceedings of the 2nd users workshop, pages 103–110, February2002.
[2] Anindya Chatterjee. An introduction to proper orthogonal decomposition,December 1999.
[3] Patricia Astrid. Reduction of Process Simulation Models: a proper ortho-gonal decomposition approach. PhD thesis, Technische Universiteit Eind-hoven, November 2004.
[4] Oscar Mauricio Agudelo Manozca. Control of the temperature profile of anone-dimensional bar using a pod approach. presentation, January 2006.
[5] Yang, Cao, Chung, and Morris. Applied Numerical Methods Using Matlab.John Wiley & Sons Inc, 2005.
Inhoudsopgave
Voorwoord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i
Overzicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
Extended Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv
1 Inleiding 1
2 Beschrijving van de centrale 7
3 Probleemstelling 14
4 Modelleren via niet-uniforme tijdsmonsters 16
4.1 Vergelijking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.1.1 Eigenschappen van de olie . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.1.2 Bepalen van Ht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.1.3 Onderstellingen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.2 Verdelen in secties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.2.1 Toevoersectie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.2.2 Verhittingssectie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.2.3 Afvoersectie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.3 Niet-uniforme tijdsmonsters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.3.1 Berekening van tk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.4 Implementatie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.4.1 Toevoersectie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.4.2 Verhittingssectie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.4.3 Afvoersectie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
vii
Inhoudsopgave viii
4.4.4 Beginwaarden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.5 Resultaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.5.1 15 juli: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.5.2 16 juli: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.5.3 28 juli: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.5.4 Conclusies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.6 Experimentele bepaling van de lengte van de afvoersectie. . . . . . . . . . . . 46
5 Methode II: Proper Orthogonal Decomposition 52
5.1 Theorie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.1.1 Bepalen van de basisfuncties . . . . . . . . . . . . . . . . . . . . . . . 54
5.1.2 Bepalen van de tijdsafhankelijke coefficienten . . . . . . . . . . . . . . 57
5.2 Praktijk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.2.1 Vergelijking voor het temperatuursprofiel . . . . . . . . . . . . . . . . 60
5.2.2 Opstellen van het toestandsmodel . . . . . . . . . . . . . . . . . . . . 62
5.2.3 Berekenen van de basisfuncties . . . . . . . . . . . . . . . . . . . . . . 64
5.2.4 Bepalen van de tijdsafhankelijk coefficienten . . . . . . . . . . . . . . . 66
5.2.5 Uitbreiding naar de volledige centrale . . . . . . . . . . . . . . . . . . 67
5.3 Resultaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.3.1 15 juli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.3.2 16 juli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.3.3 28 juli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.3.4 Conclusies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6 Besluit 73
A Dode tijden 75
B Wiskundige bijlage 78
B.1 Definities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
B.2 Oplossing extremumprobleem . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Inhoudsopgave ix
C Figuren 81
C.1 Figuren bij hoofdstuk 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
C.2 Figuren bij hoofdstuk 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
D Matlabcode 100
Bibliografie 121
Hoofdstuk 1
Inleiding
Het tijdperk waarin onze energievoorzieningen tegemoet gekomen worden door hoofdzakelijk
fossiele brandstoffen lijkt genoodzaakt te eindigen. Hiervoor vallen twee redenen te onder-
scheiden: vooreerst is de voorraad fossiele brandstoffen eindig. De tijden waarin per jaar meer
olie werd gevonden dan geconsumeerd zijn over. Als het huidige verbruikerspeil aanhoudt,
zal er voldoende olie zijn tot in 2050. Voor aardgas zijn de vooruitzichten iets beter, geschat
wordt dat er nog 75 jaar aardgas beschikbaar zal zijn. Steenkool is nog het meest voorhanden.
Daar wordt gesproken over voorraden die minstens 200 jaar aanspreekbaar zijn. Een tweede
oorzaak is de milieu-impact. Begrippen als ’het broeikaseffect’, ’C02-uitstoot’ en ’zure regen’
worden allemaal verbonden met het verbruik van fossiele brandstoffen en zijn helemaal niet
wenselijk.
Naast de conventionele energiecentrales bestaan er ook nog kerncentrales, die anno 2006 goed
zijn voor 55% van stroomvoorziening in Belgie. Het controversiele karakter van kernener-
gie leidt ertoe dat het bouwen van nieuwe kerncentrales op veel weerstand stuit. Nieuwe,
alternatieve en vooral duurzame energiebronnen lijken dus een noodzaak.
Veel wordt verwacht van kernfusie. Kernfusie heeft enkele ontegensprekelijke voordelen te-
genover fossiele brandstoffen en kernfissie 1. Zo worden geen milieu-onvriendelijke gassen
geproduceerd, zoals CO2. Een kernfusiereactor brengt geen grote gevaren met zich mee, wat
niet kan gezegd worden van kernfissiecentrales. Zelfs bij zware ongevallen is er weinig kans1kernfissie of kernsplitsing, het fysisch proces in de huidige kerncentrales, waarbij energie wordt vrijgemaakt
door het splitsen van zware atomen
1
Hoofdstuk 1. Inleiding 2
op ernstige schade. Daarenboven geldt: de grondstoffen voor een fusiereactor zijn praktisch
overal ter wereld en in overvloed beschikbaar. Zo kan deuterium (waterstof, maar met een
neutron: 2H) gevonden worden in water en lithium (6Li) in gesteenten. Dit zorgt ervoor
dat geografische conflicten, ontstaan door het feit dat sommige landen bijna alle grondstof-
fen bezitten om energie te produceren en andere niet, in de toekomst bijna niet meer zullen
voorkomen. Maar dit is echter toekomstmuziek, gezien commerciele kernfusiereactoren ten
vroegste over 40 jaar beschikbaar zullen zijn. En dit cijfer is nog vrij optimistisch.
Om de periode tussen vandaag en het kernfusietijdperk te overbruggen is er zeker nog nood
aan alternatieve energiebronnen. Hiernaar werd in het verleden reeds veel onderzoek verricht.
Er kunnen drie grote groepen onderscheiden worden: zonne-energie, windenergie (eigenlijk
ook een gevolg van het zonlicht) en hydro-energie. De laatste groep doelt vooral op stuw-
dammen. In dit geval is de energie eigenlijk ook afkomstig van het zonlicht, denk maar aan
de watercyclus. Deze stuwdammen hebben als nadeel dat ze een grote oppervlakte in beslag
nemen. Vele valleien werden reeds getransformeerd tot meren om de turbines in de stuw-
dammen te laten draaien. Het principe van een hydro-centrale is vrij duidelijk: de potentiele
energie van water op een hoger punt wordt omgezet naar kinetische energie door het naar een
lager punt te laten lopen. De kinetische energie die hierbij ontstaat wordt gebruikt om een
turbine te laten draaien en zodus elektriciteit te produceren.
Ook de wind kan omgezet worden in elektrisch energie. Hiervoor worden hoge windturbi-
nes gebruikt. Deze manier van energie-opwekking krijgt de laatste tijd veel belangstelling.
Denk maar aan de vele windmolenparken die gebouwd worden2. Het geınstalleerd vermogen
aan windenergie bedroeg eind 2005 167 MW in Belgie (bron: the European Wind Energy
Association, www.ewea.org).
De laatste groep betreft de energie geproduceerd uit zonlicht. Zonlicht kan enerzijds meteen
omgezet worden in elektriciteit. Dit is het geval bij fotovoltaısche zonnecellen. Deze cellen
worden hoofdzakelijk gemaakt uit halfgeleidermaterialen zoals silicium en germanium. Voor-
beelden hiervan zijn cellen met kristallijn silicium. Het rendement van deze cellen blijkt te
stagneren rond de 16 a 17 %. Dit betekent dat slechts 16 a 17% van het invallende zonlicht
kan omgezet worden in elektriciteit. Daarnaast heb je ook de dunne film cellen. Deze bestaan2Kluizendok in haven van Gent, Villers-le-Bouillet en in de toekomst op de fameuze Thorntonbank
Hoofdstuk 1. Inleiding 3
uit amorf silicium dat gedeponeerd wordt op een substraat. Hun voordeel is dat de productie
veel goedkoper is, gezien het bestaan van goedkope depositie technieken. Het rendenment van
deze cellen ligt echter lager dan die van de kristallijne cellen en bedraagt 6-10%. Een recentere
vorm van fotovoltaısche cellen maakt geen gebruik meer van halfgeleiders maar van polymeren.
Deze polymere cellen bestaan uit kunststoffen die zich gedragen als halfgeleiders. Aangezien
deze technologie nog in zijn kinderschoenen staat, liggen de rendementen ook eerder laag:
2-3%. Het voordeel van deze technologie is dat de energie gegenereerd in deze fotovoltaısche
cellen rechtstreeks gebruikt kan worden of gestockeerd kan worden in batterijen.
Anderzijds kan het zonlicht in een eerste stadium aangewend worden als warmtebron. In
dit geval kan de geproduceerde warmte gebruikt worden om, via de creatie van stoom, een
generator aan te drijven en zo elektriciteit te produceren. De warmte kan ook opgeslagen
worden in een materiaal dat het een tijdlang kan vasthouden. Zo kan de energie ook aangewend
worden als er even geen zon is. Dit is het geval voor de zonnecentrale die besproken wordt in
dit eindwerk. In dergelijke zonnecentrales wordt olie opgewarmd via zonlicht en gestockeerd in
een grote opslagtank. De energie die vervat zit in de warmte van de olie kan later bijvoorbeeld
aangewend worden voor het creeren van stoom.
Dit eindwerk past in het kader van het onderzoek over dergelijke zonnecentrales. Er wordt
getracht de energie-extractie uit het zonlicht zo optimaal mogelijk te laten verlopen. Verder
wordt er ook geeist dat de temperatuur van de olie gecontroleerd kan worden, om o.a. over-
verhitting te voorkomen. Het controleren van de olietemperatuur is echter niet evident: de
olie warmt immers sneller op onder een wolkeloze hemel dan onder een bewolkte hemel. Om
toch een vooropgestelde temperatuur te krijgen, moet de olie rondgepompt worden met een
varierend debiet: sneller als er veel zon is, trager als er weinig zon is. Dit vereist een geavan-
ceerd regelsysteem en om dit regelsysteem te testen is er nood aan een computermodel dat
de echte centrale simuleert. Het genereren van een dergelijk computermodel is het eigenlijke
onderwerp van deze thesis.
Om dit computermodel te schrijven, is er nood aan een wiskundig model dat het fysisch proces
beschrijft. Dit wiskundig model kan op drie verschillende manieren bekomen worden. Een
eerste manier is via een theoretische analyse. Deze methode vertrekt van de drie bekende
behoudswetten: behoud van massa, behoud van impuls en behoud van energie. Deze drie
Hoofdstuk 1. Inleiding 4
wetten worden toegepast op het proces wat leidt tot een aantal differentiaalvergelijkingen. Het
voordeel van deze methode is dat het wiskundige model kan gevonden worden, nog voor het
fysisch systeem in werkelijkheid bestaat. Zo kunnen reeds simulaties uitgevoerd worden van
een centrale, nog voor ze gebouwd is. Een tweede voordeel van een theoretische analyse is dat
het zogenaamde ’white models’ betreft. De term ’white’ slaat op het feit dat alle parameters
in de vergelijking een duidelijke fysische betekenis hebben. De bekomen vergelijking schept
een duidelijk fysisch inzicht in het proces. Een nadeel van deze methode is dan ook dat er heel
wat fysisch inzicht nodig is om het wiskundig model op te stellen. Zo moet door de ingenieur
besloten worden welke de belangrijkste fysische verschijnselen zijn. Er kan geen rekening
gehouden worden met elk fysisch proces dat optreedt. Dit zou immers tot een te complex
model leiden. Er moet dus ergens een compromis gevonden worden tussen nauwkeurigheid
en efficientie.
Een tweede manier is via experimentele analyse. In deze analyse wordt gebruik gemaakt
van de informatie die in het in- en uitgangssignaal van het proces zit. Deze informatie, meestal
onder de vorm van een Bodeplot, wordt opgemeten en onderworpen aan een identificatiepro-
cedure, wat leidt tot een wiskundig model van het systeem. Dit identificatieproces kan op
twee verschillende manieren gebeuren. Heeft men reeds een idee over de vorm van de vergelij-
king, dan kan een parametrische identificatie toegepast worden. Enkele populaire voorbeelden
van parametrische identificatie algoritmen zijn: de least squares methode, instrumental va-
riables methode en de prediction error methode. Hierbij wordt het model vooropgesteld en
worden de waarden van de parameters gevonden via identificatie. Is de structuur van het
wiskundig model daarentegen niet op voorhand beschikbaar, dan dient men over te stappen
op niet-parametrische identificatie. Enkele voorbeelden van niet-parametrische identificatie
algoritmen zijn: transient analyse, frequentie analyse, correlatie analyse en spectraalanalyse.
Het grote voordeel van een experimentele analyse is dat er eigenlijk niets hoeft gekend te zijn
over het fysisch proces. Leg een ingang aan aan het systeem, registreer wat eruit komt en er
kan een model opgesteld worden. Wat er zich in het systeem afspeelt, hoeft niet perse ge-
kend te zijn. Vandaar dat de verzamelnaam ’black models’ hiervoor frequent gebruikt wordt.
Identificatie procedures kunnen niet enkel gebruikt worden voor het opstellen van een volledig
model, maar ook voor het schatten van ongekende parameters in een model. Het nadeel is
dat er tijdrovende tests moeten uitgevoerd worden.
Hoofdstuk 1. Inleiding 5
Een derde manier om een wiskundige vergelijking voor een fysisch proces op te stellen maakt
gebruik van een combinatie van de vorige twee methodes, theoretische en experimentele ana-
lyse. Hier kan bijvoorbeeld een wiskundig model vooropgesteld worden op basis van een
theoretische analyse, maar waarvan geen uitdrukking gevonden kan worden voor alle fysische
parameters. Een experimentele analyse kan dan aangewend worden om de missende parame-
ters te schatten. Gezien de modellen gevonden via deze methode gebruik maken van zowel de
’white model’ als van de ’black model’ filosofie, worden ze om begrijpelijke redenen ook wel
’grey models’ genoemd.
Zoals reeds gezegd wordt in dit eindwerk een model opgesteld van een zonnecentrale. Gezien
de fysische processen die zich hier in afspelen goed gekend zijn, wordt begonnen met een
theoretische analyse. Er zijn echter enkele parameters waaraan niet onmiddellijk een waarde
kan toegekend worden. Om deze te schatten wordt gebruik gemaakt van een experimentele
analyse. Vandaar dat het model opgesteld in deze thesis een ’grey model’ is.
In de literatuur werden reeds heel wat modellen voor de zonnecentrale voorgesteld. Over het
algemeen kunnen al deze modellen bestempeld worden als een ’black model’ of als een ’grey
model’. De ’black models’ kunnen verder nog opgedeeld worden in zij die bekomen werden
via parametrische en zij die bekomen werden via niet-parametrische identificatie. Bij degene
bekomen via parametrische identificatie is reeds een en ander gekend over de structuur van
het wiskundig model. Sommige van deze voorgestelde modellen beschrijven de fysische wer-
king van de centrale met slechts een enkele vergelijking. Deze worden ook geconcentreerde
parameter modellen genoemd. Voorbeelden hiervan zijn te vinden in [1]. Andere modellen
delen de centrale op in verschillende subsecties en definieren voor elke subsectie een aparte
vergelijking. Deze modellen worden gedistribueerde parameter modellen genoemd. Voorbeel-
den hiervan zijn te vinden in [1],[2],[3] en [4]. In beide gevallen komt het erop neer de waarde
van de parameters te vinden via identificatie methodes.
Bij de modellen bekomen via niet-parametrische identificatie gaat men ervan uit dat niets
gekend is over de werking van het systeem. Hier worden enkel de in- en uitgang van het
systeem bekeken. Een niet parametrische identificatietheorie, die men voor de zonnecentrale
placht te gebruiken, is die van de artificiele neurale netwerken (ANN). Hier wordt een verband
gelegd tussen in- en uitgang, geınspireerd op de werking van biologische neurale netwerken.
Hoofdstuk 1. Inleiding 6
Net zoals mensen en dieren bepaalde gedragspatronen moeten aanleren, moet ook het arti-
ficiele neurale netwerk dit doen. Het programma moet met andere woorden een leerproces
ondergaan. Hiervoor wordt beroep gedaan op de data gegenereerd door het werkelijke proces.
Voorbeelden zijn te vinden in [5] en [6].
Een andere methode van niet-parametrische identificatie betreft de modellen opgesteld via
zogenaamde ’fuzzy logic’. Zoals de naam laat vermoeden wordt er in deze algoritmen geen
gebruik gemaakt van strikte binaire waarden zoals ’goed-fout’ en ’1-0’, maar van meer ’troe-
bele’ of ’fuzzy’ waarheden zoals ’relatief goed’, ’normaal’, ’eerder slecht’, enz. Voorbeelden
hiervan zijn te vinden in [7].
Een derde methode van niet-parametrische identificatie heet Proper Orthogonal Decomposi-
tion of kortweg POD. Deze methode werkt aan de hand van orthogonale basisfuncties, die
worden afgeleid uit gemeten of berekende data. Deze basisfuncties geven de ruimtelijke dis-
tributie van een bepaalde fysische grootheid, zoals bijvoorbeeld de temperatuur, doorheen
het proces, weer. Om de tijdsafhankelijkheid van de fysische grootheid te berekenen, wordt
het oorspronkelijke fysische proces, over het algemeen beschreven door een differentiaalverge-
lijking, geprojecteerd op deze basisfuncties volgens de Galerkin projectie. Uit deze projectie
volgen dan een aantal tijdsafhankelijke coefficienten die de variatie van de basisfuncties in
de tijd weergeven. Deze methode is zeer gelijkend op Fourieranalyse, met dat verschil dat
de hierbesproken basisfuncties over het algemeen geen sinussen of cosinussen zijn. Het grote
voordeel van POD is dat het aantal basisfuncties meestal heel beperkt is (orde 10), waardoor
de simulatie weinig berekeningen vergt [8],[9],[10],[11].
Verder kan er ook nog een onderscheid gemaakt worden tussen algoritmen die gebruik maken
van uniforme tijdsmonsters en algoritmen die gebruik maken van niet-uniforme tijdsmonsters.
Het feit dat het debiet varieert in de tijd heeft sommigen ertoe aangezet niet-uniforme tijds-
monsters te gebruiken. Het toepassen ervan leidt tot een zeer eenvoudige implementatie van
het varierend debiet. Een voorbeeld van het gebruik van niet-uniforme tijdsmonsters is te
vinden in [12].
Hoofdstuk 2
Beschrijving van de centrale
De zonnecentrale bevindt zich op het Plataforma Solar de Almerıa (PSA1), het Europees
centrum voor zonne-energie applicaties in het zuidoosten van Spanje. Op deze site bevinden
zich meerdere centrales (zie figuur 2.1), waarvan het ACUREX-veld onderwerp vormt van dit
eindwerk. Dit veld is een zogenaamd gedistribueerd collector systeem (distributed collector
system of DCS). Dit betekent dat de zonne-energie op verschillende plaatsen wordt omgezet
in thermische energie. Daarnaast bestaan ook systemen waarbij de omzetting op slechts een
plaats gebeurt. Dergelijke systemen noemt men centrale ontvanger systemen (central receiver
system of CRS).
Figuur 2.1: Overzicht van PSA.
1Meer info over PSA op www.psa.es
7
Hoofdstuk 2. Beschrijving van de centrale 8
De bedoeling van de zonnecentrale is olie op te warmen door middel van zonlicht. De ver-
warmde olie wordt gestockeerd in een grote opslagtank en kan gebruikt worden in verschillende
industriele processen, waar veel gebruik gemaakt wordt van warmtebronnen. Twee veel geci-
teerde voorbeelden zijn: het creeren van stoom om elektriciteit op te wekken en energietoevoer
in een ontziltingsinstallatie.
Om het zonlicht te collecteren wordt op het ACUREX-veld gebruik gemaakt van parabolische
spiegels (figuur 2.2). Hun parabolisch profiel zorgt ervoor dat het invallende licht geconcen-
treerd wordt in het brandpunt. Daar de zon overdag van oost naar west beweegt, hebben
de spiegels een rotationele vrijheidsgraad om tijdens de operationele fase steeds naar de zon
gericht te zijn (zie figuur 2.3). Een eenvoudig systeem van twee fotodiodes met daartussen
een klein plaatje zorgt hiervoor, zoals te zien is in figuur 2.4. Is de spiegel niet volledig naar
de zon gericht dan werpt het plaatje zijn schaduw op een van de fotodiodes, die daardoor
minder spanning zal produceren. Hierdoor genereren de diodes een verschillende spanning en
met dit spanningsverschil kan de positie gecorrigeerd worden. Deze werkingsfase wordt de
’Track toestand’ genoemd. Om oververhitting te vermijden is het ook mogelijk de spiegels
enkele graden van de zon weg te richten (Desteer toestand). Op het eind van elke dag of bij
serieuze defecten wordt de ’Stow toestand’ ingenomen. Hierbij worden de spiegels volledig
naar de grond gericht.
Figuur 2.2: Parabolische spiegels zorgen voor concentratie van het zonlicht.
Hoofdstuk 2. Beschrijving van de centrale 9
Figuur 2.3: De spiegels volgen de zon bij haar beweging van oost naar west.
Figuur 2.4: Fotodiodes met daartussen een plaatje.
In het brandpunt van de parabolische spiegels loopt, evenwijdig met de as van de spiegels,
een metalen pijpleiding omhuld door een doorzichtige, glazen buis. Deze glazen buis isoleert
de metalen leiding van de wind. Daar het glas doorzichtig is wordt het zonlicht nauwelijks
belemmerd.
Er zijn in totaal 20 rijen spiegels, waarvan er in figuur 2.2 een te zien is. Deze 20 rijen
vormen samen 10 parallelle lussen of ’loops’ met elk een lengte van 172 m. Elke van deze
loops bevat 48 parabolische spiegels en elke spiegel heeft een nuttige oppervlakte of apertuur
van 1, 83 × 3, 05 m2. Het totale collectoroppervlak bedraagt bijgevolg 10 × 48 × 3, 05 m ×
1, 83 m ≈ 2680 m2. De buitendiameter van de metalen pijpleiding is 3,18 cm, wat leidt tot
een concentratiefactor van het zonlicht van 1,83m0,0318m ≈ 57, 5. Deze concentratiefactor zorgt
Hoofdstuk 2. Beschrijving van de centrale 10
ervoor dat de metalen pijpleiding in het brandpunt van de spiegels sterk verhit wordt. Door
de leiding stroomt een olie die wordt opgewarmd door de verhitte pijpleiding. Aan het begin
van elke loop bevindt zich een klep die de loop kan afsluiten in geval van een noodsituatie
zoals een lek. De olie wordt voortgestuwd door een pomp (zie figuur 2.5), waarvan het debiet
geregeld kan worden. Om veiligheidsredenen is dit debiet beperkt tussen 2 l/s en 10 l/s. In
figuur 2.5 is er ook een buffertank en een driewegenklep te zien. Deze laatste kan aangesproken
worden om de olie enkele malen door het collectorsysteem te laten lopen, tot ze een voldoend
hoge temperatuur bereikt heeft om de opslagtank te betreden.
Figuur 2.5: Schematisch overzicht van de zonnecentrale.
Het volledige buizensysteem kan onderverdeeld worden in drie secties (figuur 2.6). In de
eerste sectie wordt olie vanuit de bodem van de opslagtank naar het collectorveld gepompt.
Deze leiding heet de toevoersectie en is geısoleerd om het warmteverlies te beperken. In de
tweede sectie wordt de leiding gesplitst in tien parallelle leidingen of loops. Elke loop is, zoals
gezegd, voorzien van collectoren die de olie opwarmen. Dit deel wordt de verhittingssectie
genoemd. Om de warme olie terug naar de top van de opslagtank te brengen wordt gebruik
gemaakt van een derde leiding, de afvoersectie, die ook geısoleerd is. De centrale heeft een
thermisch piekvermogen van zo’n 1, 3 MWt bij invallend zonlicht van 900 W/m2. Dagelijks
produceert de centrale gemiddeld een 6, 5 MWht aan thermische energie. Het volume van
de opslagtank (zie figuur 2.7) bedraagt 140 m3 waardoor er bij een olietemperatuur van zo’n
Hoofdstuk 2. Beschrijving van de centrale 11
290°C ongeveer 2, 3 MWh kan in opgeslagen worden. Door de stratificatie-eigenschappen2
van de opslagtank en het thermoclinisch effect3 van de olie kan de warme temperatuur van
de bovenste olielagen verschillende dagen behouden worden. De onderverdeling in drie secties
wordt meer gedetailleerd besproken in hoofdstuk 4.
Figuur 2.6: Onderverdeling in toevoer-, verhittings- en afvoersectie.
2Stratificatie eigenschappen: olielagen op verschillende temperatuur gaan niet met elkaar mixen.3Thermoclinisch effect: de temperatuur van de olie in de opslagtank stijgt sterk van onder naar boven toe.
Hoofdstuk 2. Beschrijving van de centrale 12
Figuur 2.7: Foto van de opslagtank.
Het data acquisitie systeem bestaat uit een centrale computereenheid die alle data vergaart.
In totaal wordt rekening gehouden met meer dan 150 variabelen. De belangrijkste hiervan
zijn de in- en uitgangstemperatuur van het buizensysteem, het debiet, de intensiteit van het
zonlicht, de temperatuur op het eind van elke loop4, de omgevingstemperatuur en de tijd.
In het model kan niet met al deze variabelen rekening gehouden worden, dit zou immers teveel
rekenwerk vragen. De variabelen die gebruikt worden door het model zijn onderverdeeld in:
• Input: het debiet van de olie in m3/s
• Output: de temperaturen op het eind van elke loop in de verhittingssectie en de tem-
peratuur op het eind van de afvoersectie in °C
• Storingen: warmteflux van de zon in W/m2, de temperatuur van de olie die uit de
opslagtank vloeit (= olietemperatuur aan het begin van de toevoersectie) in °C en de
omgevingstemperatuur in °C.4Op het eind van elke loop is een temperatuursensor aangebracht.
Hoofdstuk 2. Beschrijving van de centrale 13
Figuur 2.8: Model
Hoofdstuk 3
Probleemstelling
Het grote nadeel van een zonnecentrale als deze, is de onvoorspelbaarheid van het weer. Het
is eenvoudig in te zien dat onder een wolkeloze hemel de olie veel sneller zal opwarmen dan
onder een zwaar bewolkte hemel. Denk maar aan de plotselinge warmte die je voelt, als de zon
opeens vanachter een wolk verschijnt. Daarnaast ondergaat het zonlicht ook meer regelmatige
veranderingen, zoals de dag-nacht en zomer-winter cyclus. Deze kunnen, in tegenstelling tot
de vorige, exact berekend worden [3].
Niet alleen het zonlicht bevat een onvoorspelbare factor, ook de omgevingstemperatuur kan
een invloed hebben. De warmteverliezen worden beperkt door de aangebrachte isolatie, maar
volledig isoleren kan nooit, waardoor de warmte van de olie gedeeltelijk weglekt naar de
omgeving. Een derde belangrijke factor is de ingangstemperatuur van het systeem. Hoe lager
die ingangstemperatuur, hoe meer er moet opgewarmd worden om eenzelfde eindtemperatuur
te krijgen. Er is immers een veel grotere hoeveelheid energie nodig om olie van bijvoorbeeld
60°C op te warmen tot 300°C dan olie van 120°C. De sterke invloed van de ingangstemperatuur
kan men zien in figuur C.2 in bijlage C.
Om de invloed van al deze fluctuaties te controleren en zo de uitgangstemperatuur van de
olie op een gewenste waarde te houden, is er slechts een input: het debiet. De invloed van
het debiet kan als volgt begrepen worden: onderstel dat het niet bewolkt is en dat de olie
wordt rondgepompt met een welbepaald debiet. Op deze manier wordt de temperatuur van
de olie tussen in- en uitgang van het systeem met een bepaald aantal graden verhoogd. Als er
plots een wolk voor de zon verschijnt, zal de opwarming van de olie bij eenzelfde debiet fors
14
Hoofdstuk 3. Probleemstelling 15
dalen. Om dezelfde temperatuurstijging te krijgen, moet de olie trager rondgepompt worden.
Zo heeft de olie meer tijd om op te warmen. Het nadeel van deze debietvariaties is dat ze
een tijdsafhankelijke dode tijd (het tijdsverschil tussen het ogenblik dat de olie het systeem
betreedt en het ogenblik dat dezelfde olie het systeem terug verlaat) induceren:
V
q(t)= τ(t) (3.1)
• V : volume van de olie in het systeem in m3
• q(t): debiet van de olie in m3/s
• τ(t): tijdsafhankelijke dode tijd in s
Het is duidelijk dat er een geavanceerd regelsysteem nodig is om met al deze factoren rekening
te houden. Dit is het onderwerp van de doctoraatsstudie van ir. Manuel Galvez-Carrillo. In
het eerste deel van zijn proefschrift wordt gezocht naar een degelijk model voor predictive
control. In het tweede deel wordt dit model gebruikt in een predictive controller ontworpen
via de EPSAC1 of NEPSAC (alnaargelang het gevonden model lineair dan wel niet-lineair
is) om een regelaar te ontwerpen. Om de werking van deze regelaar te kunnen testen is er
nood aan een simulatiemodel van de zonnecentrale. De constructie van deze simulator is het
eigenlijke onderwerp van dit eindwerk.
1Extended Prediction Self-Adaptive Control
Hoofdstuk 4
Modelleren via niet-uniforme
tijdsmonsters
In de eerste methode wordt gebruik gemaakt van niet-uniforme tijdsmonsters om op een
eenvoudige manier het varierend debiet te modelleren. Zoals in de inleiding reeds vermeld
werd, wordt er in dit eindwerk uitgegaan van een gedistribueerd parameter model. Dit bete-
kent dat het volledige buizennetwerk wordt opgedeeld in een groot aantal subsystemen (cfr
discretisatie). Voor elk subsysteem wordt vervolgens de bijhorende vergelijking opgelost.
4.1 Vergelijking
Als men het systeem in meer detail bekijkt, kunnen er twee verschillende fysische processen
onderscheiden worden. In een eerste fase wordt de metalen leiding opgewarmd door het
geconcentreerde zonlicht en in een tweede fase geeft het metaal haar warmte af aan de olie.
In de literatuur wordt het systeem daarom vaak beschreven door twee vergelijkingen [1],[3]:
ρmCmAm∂Tm(x, t)
∂t= εDIrr(t)−HlG [Tm(x, t)− Ta(x, t)]− LHt [Tm(x, t)− Tf (x, t)] (4.1)
ρfCfAf∂Tf (x, t)
∂t+ ρfCfq(t)
∂Tf (x, t)∂x
= LHt [Tm(x, t)− Tf (x, t)] 1 (4.2)
1de temperatuursafhankelijkheid van ρf , Cf , Ht en Hl wordt niet expliciet vermeld, om de notatie te
verlichten.
16
Hoofdstuk 4. Modelleren via niet-uniforme tijdsmonsters 17
• m: metaal
• f : olie
• ρ: dichtheid in kg/m3
• C: specifieke warmtecapaciteit in J/kg K
• A: transversale oppervlakte in m2
• T (x, t): tijds- en plaatsafhankelijke temperatuur in K
• ε: optische efficientie (dimensieloos)
• D: breedte van de spiegels in m
• Irr(t): warmteflux van de zon in W/m2
• Hl: warmteverliescoefficient tussen metaal en omgeving in W/m2
• G: buitendiameter van de pijpleiding in m
• L: binnendiameter van de metalen leiding in m
• Ht: warmtetransfercoefficient tussen metaal en olie in W/m2 K
• q(t): debiet van de olie in m3/s
Hierbij berekent de eerste vergelijking de temperatuur van de metalen leiding. In het rechterlid
van vergelijking 4.1 slaat de eerste term op de warmte die het metaal van de zon ontvangt,
de tweede term staat voor de warmte die het metaal verliest aan de omgeving en de derde
term staat voor de warmte die het metaal doorgeeft aan de olie. De tweede vergelijking
legt de temperatuur van de olie vast. In het rechterlid is enkel een term aanwezig die het
warmtetransport tussen metaal en olie bepaalt. Bovenstaande vergelijkingen zijn enkel geldig
in dat deel van het systeem waar de collectoren aanwezig zijn. In de andere delen (toevoer- en
afvoersectie) dient in vergelijking 4.1 de term εDIrr(t) weggelaten te worden, aangezien hier
geen verhitting voorkomt. Verder moet ook de warmteverliescoefficient Hl aangepast worden,
aangezien deze stukken sterk geısoleerd zijn.
Hoofdstuk 4. Modelleren via niet-uniforme tijdsmonsters 18
4.1.1 Eigenschappen van de olie
De olie die gebruikt wordt om de warmte te transporteren is Santotherm 55. Twee kenmer-
kende eigenschappen van deze olie zijn haar lage warmtegeleidbaarheid en haar dichtheid die
sterk temperatuursafhankelijk is. Door de laatste eigenschap weegt warme olie veel minder
dan koude olie, waardoor er in de opslagtank lagen ontstaan met verschillende temperatuur
(cfr. thermoclinisch effect). Hierna volgen twee temperatuursafhankelijke eigenschappen van
de olie die gebruikt zullen worden:
• dichtheid: ρf (T ) = 903 + 0, 672 T (kg/m3)
• specifieke warmtecapaciteit: Cf = 1820 + 3, 478 T (J/kg K)
4.1.2 Bepalen van Ht
Ht geeft het tempo aan waarmee de olie wordt opgewarmd door de verhitte leiding bij een
gegeven temperatuursverschil tussen olie en leiding. Het is als het ware een convectiecoefficient
(zelfde dimensie). Men kan aanvoelen dat dit tempo afhankelijk zal zijn van het debiet:
hoe groter het debiet, hoe sneller het warmtetransport zal gebeuren. Vergelijk dit met de
gedwongen convectie die gebruikt wordt om een processor sneller af te koelen. Daar zorgt een
ventilator ervoor dat de luchtstroom met een grotere snelheid langs de processor passeert. Op
deze manier wordt de afkoeling versneld. Daarnaast is Ht ook een functie van de temperatuur
van de olie. Ht kan daardoor geschreven worden als:
• Ht = Hv (T ) q(t)0.8 (W/m2 K)
• Hv (T ) = 2.17 106 − 5.01 104T + 4.53 102T 2 − 1.64T 3 + 2.1 10−3T−4 (W/m5 K)
Met q(t) opnieuw het debiet in m3/s en Hv een polynoom die geıdentificeerd werd via een
least squares methode [3]. Voor de waarden van de overige parameters in vergelijkingen 4.1
en 4.2 wordt verwezen naar sectie 4.4.
Hoofdstuk 4. Modelleren via niet-uniforme tijdsmonsters 19
4.1.3 Onderstellingen
Omdat het niet nodig is elk fysisch proces tot in het kleinste detail te beschrijven, dit leidt im-
mers tot een veel te complex model, worden er een paar vereenvoudigende veronderstellingen
gemaakt:
1. ten eerste wordt het warmtetransport in de olie zelf verwaarloosd. Twee naburig gelegen
punten in de olie op een verschillende temperatuur zullen geen warmte uitwisselen, noch
door convectie, noch door conductie. Aan deze eis is grotendeels voldaan, gezien de lage
warmtegeleidingscoeffient van de olie: 0.1923− 1.3 10−4 T (W/m◦C), vergelijk dit met
0,6 W/m°C voor water en 50 W/m°C voor staal.
2. ten tweede wordt de olie onsamendrukbaar ondersteld. Hierdoor zal bij een debietswij-
ziging, geınduceerd door de pomp, het debiet in elk punt van het systeem op hetzelfde
moment en op eenzelfde manier veranderen. Er treedt met andere woorden geen ver-
traging op in de debietsverandering tussen een punt net na de pomp en een punt ver
van de pomp verwijderd.
3. het debiet in elk van de tien loops is hetzelfde. Stel dat de pomp een debiet levert van
10 l/s dan zal, aangezien er 10 parallelle loops zijn, door elk van de loops olie vloeien
aan een tempo van 1 l/s. In werkelijkheid zal het debiet in loop 1 hoger zijn dan in
loop 2, omdat deze eerste dichter bij de pomp ligt dan de tweede. Het debiet in loop 2
zal hoger zijn dan dat in loop 3, enz.
4. de eigenschappen van elke loop worden identiek beschouwd. In werkelijkheid zullen
deze licht verschillen van loop tot loop, de spiegels zullen bijvoorbeeld niet allemaal
dezelfde reflectiviteit hebben. Daarnaast zullen ook de warmteverliezen in elke loop
licht verschillen. Voor de eenvoud worden deze verschillen genegeerd.
5. het warmteverlies van de toevoer- en afvoersectie wordt verwaarloosd; deze leidingen
zijn sterk geısoleerd.
Hoofdstuk 4. Modelleren via niet-uniforme tijdsmonsters 20
4.2 Verdelen in secties
In hoofdstuk 2 werd het systeem reeds opgedeeld in drie secties: de toevoersectie, de verhit-
tingssectie en de afvoersectie. In de volgende paragrafen wordt elke sectie apart behandeld.
Er wordt soms verwezen naar punten A, Bi, Ci en D waarbij A verwijst naar het begin van
de toevoersectie, Bi naar het begin van loop i in de verhittingssectie, Ci naar het einde van
loop i van de verhittingssectie en D naar het einde van de afvoersectie, zoals ook kan gezien
worden in figuur 4.1:
Figuur 4.1: Definieren van locaties A, Bi, Ci en D.
4.2.1 Toevoersectie
Dit deel brengt olie vanuit de bodem van de opslagtank naar het begin van elke loop van
het collectorsysteem. De toevoerbuis bestaat uit een leiding met een diameter van 10,16
cm. De afstand tussen het begin van de toevoersectie en het begin van een loop van de
verhittingssectie, is voor elke loop verschillend (zie figuur 4.2). Daardoor wordt in het model
de leiding verdeeld in tien parallelle leidingen, met elk een verschillende lengte:
Hoofdstuk 4. Modelleren via niet-uniforme tijdsmonsters 21
Figuur 4.2: Geometrie in werkelijkheid.
Figuur 4.3: Geometrie gebruikt in de simulator.
Hoofdstuk 4. Modelleren via niet-uniforme tijdsmonsters 22
Deze parallellisering van de toevoersectie blijkt weinig invloed te hebben op het dynamisch
gedrag van het systeem. Uit figuren C.1 tot 4.13 en 4.16 tot 4.18 blijkt er een goede over-
eenkomst te zijn tussen het dynamisch gedrag in werkelijkheid en in de simulator. In de
toevoersectie worden warmteverliezen verwaarloosd en is er geen verhitting aanwezig aange-
zien er zich geen collectoren bevinden. De toevoersectie kan dus beschouwd worden als louter
een dode tijd. Aangezien deze sectie opgedeeld werd in tien parallelle leidingen met verschil-
lende lengte, zal elke leiding zijn eigen dode tijd τ1i (t) (i=1...10 en 1: toevoersectie) hebben,
die verder nog debiet- en dus tijdsafhankelijk is. Een uitdrukking voor deze tijdsafhankelijke
dode tijd τ1i (t) valt eenvoudig op te stellen:
τ1i (t) : V 1
i =
t∫t−τ1
i (t)
q(t′))dt
′(4.3)
• τ1i (t): tijdsafhankelijke dode tijd voor leiding i, in de toevoersectie, in s
• V 1i : volume van leiding i in de toevoersectie in m3
• q(t): debiet in m3/s
τ1i (t) geeft dus weer hoe lang het duurt om het volume V 1
i op te vullen met olie rekeninghou-
dend met het tijdsafhankelijk debiet. De temperatuur in het punt B van leiding i, TBi , is dus
eenvoudigweg de temperatuur in punt A, een tijd τ1i (t) vroeger:
TBi(t) = TAi(t− τ1i (t)) (4.4)
De praktische berekening van τ1i (t) in uitdrukkingen 4.4 en ??.
4.2.2 Verhittingssectie
Vervolgens is de verhittingssectie aan de beurt. In dit deel van het systeem zijn de collectoren
aanwezig en wordt de olie opgewarmd. Naast de opwarming is er ook een warmteverlies
aanwezig waarmee rekening gehouden moet worden. De berekening van de olietemperatuur
gebeurt in twee stappen: eerst moet de temperatuur van de metalen leiding bepaald worden,
vervolgens kan overgegaan worden tot de berekening van olietemperatuur.
Hoofdstuk 4. Modelleren via niet-uniforme tijdsmonsters 23
Voor het beschrijven van de opwarming van de metalen leiding wordt gebruik gemaakt van
de vooropgestelde vergelijking 4.1. Er wordt eerst een kleine wijziging doorgevoerd in deze
vergelijking; uitdrukking 4.1 is geldig per lengte-eenheid van de leiding. Daarom wordt ze
vermenigvuldigd met de lengte van de verhittingssectie, zodat de energiebalans per loop
verkregen wordt. Aangezien in de verhittingssectie elke loop dezelfde lengte heeft, wordt
telkens met eenzelfde waarde vermenigvuldigd.
ρmCmVm∂Tm(x, t)
∂t= εAmirrIrr(t)−HlGs [Tm(x, t)− Ta(x, t)]−Amf
Ht
π[Tm(x, t)− Tf (x, t)]
(4.5)
• Vm: volume van een loop in m3
• Amirr: apertuur van de spiegel voor elke loop in m2
• Gs: buitendiameter pijpleiding maal lengte verhittingssectie in m2
• Amf : contactoppervlak tussen metaal en olie per loop in m2
Deze continue partiele differentiaalvergelijking dient gediscretizeerd te worden, zoals reeds
werd aangehaald in het begin van dit hoofdstuk. De partiele afgeleide naar de tijd wordt
vervangen door:
∂Tm(x, t)∂t
→ Tm(x, t)− Tm(x, t−∆t)∆t
(4.6)
De discrete vorm van vergelijking 4.5 ziet er als volgt uit:
Tm(x, t) = Tm(x, t−∆t)+∆t
ρmCmVm
εAmirrIrr(t−∆t)−HlGs [Tm(x, t−∆t)− Ta(x, t−∆t)]
−AmfHtπ [Tm(x, t−∆t)− Tf (x, t−∆t)]
(4.7)
De temperatuur van een stuk pijpleiding in de verhittingssectie is duidelijk samengesteld uit
vier bijdragen (in respectievelijke volgorde):
1. de temperatuur van hetzelfde stuk leiding als een tijd ∆t ervoor
Hoofdstuk 4. Modelleren via niet-uniforme tijdsmonsters 24
2. de temperatuurstijging gecreeerd door het geconcentreerde zonlicht
3. de temperatuurdaling, toe te schrijven aan warmteverlies naar de omgeving
4. de temperatuurverandering, te wijten aan de warmte-uitwisseling met de olie
Voor de berekening van de olietemperatuur wordt gebruik gemaakt van een andere vergelijking
dan uitdrukking 4.2:
dTf (x, t)dt
=Amf
ρfCfVf
Ht
π[Tm(x, t)− Tf (x, t)] (4.8)
• Vf : volume van de olie in een loop van de verhittingssectie
De tijdsafgeleide in vergelijking 4.8 moet ook gediscretizeerd worden, wat leidt tot volgende
iteratieve formule:
Tf (x, t) = Tf (x, t−∆t) +Amf
ρfCfVf
Ht
π[Tm(x, t−∆t)− Tf (x, t−∆t)] (4.9)
Het enige wat voor opwarming van de olie zorgt, is de warmte van de metalen leiding. Ver-
gelijkingen 4.7 en 4.9 lijken eenvoudig te implementeren, ware het niet dat ze geen rekening
houden met het tijdsvarierend debiet. De invoering van het tijdsafhankelijk debiet is geba-
seerd op het gebruik van niet-uniforme tijdsmonsters, terug te vinden in [12]. Dit wordt
uitvoerig besproken in deel 4.3.
4.2.3 Afvoersectie
De laatste sectie brengt de warme olie terug naar de top van opslagtank. De geısoleerde leiding
die hiervoor zorgt, heeft een binnendiameter van 10,16 cm. De lengte van de leiding wordt
verderop experimenteel bepaald, aangezien hierover geen nauwkeurige informatie beschikbaar
is. Evenals bij de toevoersectie worden ook hier de warmteverliezen verwaarloosd waardoor
ook de afvoersectie beschouwd kan worden als louter een dode tijd. Ook hier wordt in het
model de leiding opgesplitst in 10 parallelle leidingen. Dat dit geen grote veranderingen in de
dynamica van systeem teweegbrengt, werd reeds aangehaald in het stuk over de toevoersectie.
Hoofdstuk 4. Modelleren via niet-uniforme tijdsmonsters 25
Door deze splitsing ontstaan er opnieuw tien verschillende dode tijden τ3i (t) (i=1...10 en 3:
afvoersectie ): voor elke leiding een. De dode tijden kunnen op exact dezelfde wijze berekend
worden als vorige keer:
τ3i (t) : V 3
i =
t∫t−τ3
i (t)
q(t′)dt
′(4.10)
• τ3i (t): tijdsafhankelijke dode tijd voor leiding i in de afvoersectie in s
• V 3i : volume van leiding i in de afvoersectie in m3
• q(t): debiet in m3/s
De temperatuur in het punt D van leiding i, TDi , valt opnieuw eenvoudig te berekenen als de
temperatuur in punt C, een tijd τ3i (t) vroeger:
TDi(t) = TCi(t− τ3i (t)) (4.11)
Op deze manier berekent het model tien temperaturen voor het eind van de afvoersectie. In
werkelijkheid is er natuurlijk maar een temperatuur, aangezien er maar een leiding is. Daarom
wordt het gemiddelde genomen van de tien temperaturen die het model genereert. Zo wordt
slechts een waarde bekomen en kan het model beter gevalideerd worden.
TD(t) =110
10∑i=1
TDi(t) (4.12)
De praktische berekening van τ3i (t) in uitdrukkingen 4.9 en 4.10 wordt hierna behandeld.
Hoofdstuk 4. Modelleren via niet-uniforme tijdsmonsters 26
4.3 Niet-uniforme tijdsmonsters
Figuur 4.4: buis
Beschouw een rechtlijnige, lange buis waardoor olie gepompt wordt. Het debiet van de olie,
q(t), wordt geregeld door een pomp en is tijdsafhankelijk. Onderstel dat er in de olie een
rood balletje aanwezig is, dat een verwaarloosbare massa heeft en dus even snel als de olie
beweegt. De tijdsafhankelijke plaats van het balletje is weergegeven in figuur 4.5:
De buis is opgedeeld in 6 segmenten, elk met eenzelfde lengte l. Het is zeer belangrijk dat elk
segment dezelfde grootte heeft. Telkens het balletje een nieuw segment betreedt, wordt
het tijdstip waarop dit gebeurt, tk (k=0...5), onthouden. Aangezien het debiet varieert in de
tijd, zal de afstand tussen twee opeenvolgende tijdstippen, tk−tk−1, eveneens varieren. Ze zijn
met andere woorden niet uniform. Uit de grafiek volgt duidelijk dat het balletje op tijdstip
t0 segment 1 betreedt, op tijdstip t1 segment 2, enzovoort tot het op tijdstip t5 segment 6
betreedt. De olie in segment 6 op een tijdstip tk is met andere woorden de olie in segment 1
op tijdstip tk−5.
Dit voorbeeldje illustreert dat de tijdsafhankelijke dode tijden τ1i (t) en τ3
i (t) uit vergelijkingen
4.3, 4.4, 4.9 en 4.10 eenvoudig berekend kunnen worden, als de tijdstippen tk gekend zijn.
4.3.1 Berekening van tk
Om de tk’s van het buizensysteem van de zonnecentrale te berekenen, moet dit buizensysteem
ook opgedeeld worden in even grote segmenten. Voor de eenvoud worden enkel de tk’s van
de toevoersectie berekend. De werkwijze voor de verhittings- en de afvoersectie is exact
dezelfde. Herinner u eraan dat in het model alledrie de secties opgedeeld zijn in tien
parallelle leidingen. Elk van deze tien parallelle leidingen moet dus opgedeeld worden in
Hoofdstuk 4. Modelleren via niet-uniforme tijdsmonsters 27
Figuur 4.5: Verplaatsing van het balletje.
segmenten. Aangezien elke leiding in het model van de toevoersectie een verschillende lengte
heeft (zie figuur 4.3), zal elke leiding een verschillend aantal segmenten bevatten. Dit aantal
wordt bepaald door het volume van elke leiding te delen door het volume van het segment.
Dit segmentvolume Vsegm wordt vooropgesteld en moet voldoen aan een aantal voorwaarden:
• zo mag het niet te klein zijn, anders zijn er teveel segmenten en duren de berekeningen
te lang.
• anderzijds mag het ook niet te groot zijn, want dan zijn er te weinig segmenten om
nauwkeurige resultaten te krijgen.
• verder moet het segmentvolume Vsegm zo gekozen worden, dat het liefst een geheel
aantal keer in elke leiding past.
Een goede waarde voor het Vsegm kan bekomen worden door te kijken naar de geometrie van
de toevoersectie. In het model wordt de toevoersectie verdeeld in tien parallelle leidingen,
elk met een verschillende lengte en dus verschillend volume. Het volumeverschil ∆V tussen
twee opeenvolgende leidingen is constant en gelijk aan 7,7 liter (zie figuur 4.3). Intuıtief kan
aangevoeld worden dat het segmentvolume best niet groter is dan dit volumeverschil ∆V .
Stel dat dit wel het geval is en dat Vsegm bijvoorbeeld tweemaal ∆V bedraagt, dan zullen er
Hoofdstuk 4. Modelleren via niet-uniforme tijdsmonsters 28
in het model, doordat elk volume afgerond wordt tot een geheel aantal keer Vsegm, zeker twee
opeenvolgende leidingen zijn met eenzelfde aantal segmenten. Dit leidt tot twee dezelfde dode
tijden τ1i en τ1
i+1, wat fouten in de uitkomst kan induceren. Dit fenomeen wordt verderop nog
verduidelijkt.
Nu de toevoersectie in segmenten opgedeeld is, kan overgegaan worden op de berekening van
de tk’s. Om dit te kunnen doen, wordt een denkbeeldig balletje, met verwaarloosbare massa,
in het begin van de toevoersectie geplaatst. De positieverandering van dit balletje en dus
die van de olie kan gevolgd worden door een klok in te voeren. De periode van de klok is
constant en gelijk aan Tklok. Tijdens elke periode van de klok worden de volgende bewerkingen
uitgevoerd:
• Tklok wordt vermenigvuldigd met het debiet op dat moment. Noem dit product Vtemp.
• Vtemp wordt vervolgens vergeleken met het Vsegm.
Is Vtemp groter of gelijk aan Vsegm, dan beweegt het balletje tijdens Tklok zeker door gans
segment 1 en is t1 = Tklok. t1 wordt onthouden en de klok wordt op nul gesteld. Is daarentegen
Vtemp kleiner dan Vsegm, dan tikt de klok verder. Opnieuw wordt Tklok vermenigvuldigd met
het debiet op dat moment. Deze nieuwe Vtemp wordt bij de vorige opgeteld. Vervolgens wordt
deze som vergeleken met het segmentvolume. Is de som groter dan Vsegm, dan heeft het
balletje twee klokperiodes Tklok nodig om een segment te doorlopen en is t1 = 2Tklok. Daarna
wordt de klok op nul gesteld. Is de som daarentegen kleiner dan Vsegm, dan tikt de klok
opnieuw verder enzovoort. Eenmaal een waarde voor t1 gevonden is, kan op dezelfde manier
een waarde voor t2 gevonden worden.
Het komt er dus op neer een goede waarde voor Tklok te vinden. Deze waarde mag niet te
klein zijn, anders zal de berekening te lang duren. Noch mag ze te groot zijn, anders treden
er onnauwkeurigheden op. Voor een goede eerste schatting wordt opnieuw gekeken naar de
geomtrie van de leidingen. Het volume van een segment Vsegm werd gekozen op 7,7 liter.
Het maximumdebiet in het systeem bedraagt 9 l/s(2). Aangezien er tien parallelle leidingen
aanwezig zijn, zal het debiet in elke leiding 0,9 l/s bedragen. Een segment wordt dus bij2Het debiet overschreed tijdens de experimenten nooit 9 l/s.
Hoofdstuk 4. Modelleren via niet-uniforme tijdsmonsters 29
dit debiet opgevuld in 7,70,9 = 8, 55s. Aangezien 9 l/s het maximumdebiet was, zal 8,55 s de
minimum tijd zijn die de olie nodig heeft om een segment te vullen. Een eerste schatting
voor Tklok is 10 s . Er treedt echter een probleem op bij een Tklok van 10 s. Er werd reeds
berekend dat bij een debiet van 9 l/s, het ongeveer 8,55 s duurt om Vsegm te vullen:
7, 70, 9
= 8, 55 ≈ Tklok (4.13)
Stel nu dat het debiet verlaagt van 9 l/s naar 8 l/s. Bij dit debiet doet de olie er eveneens 1
Tklok over om door een segment te vloeien:
7, 70, 8
= 9, 625 ≈ Tklok (4.14)
Met deze Tklok zal het model dus geen onderscheid maken tussen een debiet van 9 l/s en
een debiet van 8 l/s. In tabel 4.3.1 wordt voor verschillende waarden van Tklok weergegeven
hoeveel klokperiodes de olie nodig heeft om een segment te vullen bij verschillende waarden
van het debiet:
debiet per leiding tijd om segment te vullen aantal klokperiodes
(l/s) (s) Tklok = 10s Tklok = 2s Tklok = 1s
0,2 38,5 4 20 39
0,3 25,66 3 13 26
0,4 19,25 2 10 20
0,5 15,4 2 8 16
0,6 12,833 2 7 13
0,7 11 2 6 11
0,8 9,625 1 5 10
0,9 8,55 1 5 9
Tabel 1
Op deze manier vindt het model met een Tklok van 10 s slechts vier waarden voor de dode
tijd van een segment, nl 4Tklok, 3Tklok, 2Tklok en Tklok, terwijl er in werkelijkheid toch acht
Hoofdstuk 4. Modelleren via niet-uniforme tijdsmonsters 30
verschillende waarden voor het debiet zijn. Dit is natuurlijk niet erg nauwkeurig. Een moge-
lijkheid om dit probleem op te lossen is Tklok verlagen. Pas vanaf een waarde voor Tklok van
1 s, worden acht verschillende waarden voor de dode tijd gevonden.
Dat een goede keuze voor Tklok belangrijk is om goede resultaten te verkrijgen kan ook gezien
worden in figuur C.2 van bijlage C.
4.4 Implementatie
Nu beide vergelijkingen, die het fysisch proces beschrijven, omgezet zijn naar hun discrete
vorm en er een methode gevonden werd om het varierend debiet in rekening te brengen, kan
overgegaan worden tot de implementatie ervan in matlab.
In figuur 2.8 van hoofdstuk 2, werd getoond dat de ingang van het systeem het debiet van
de olie is, de uitgang de temperatuur op het eind van de centrale is en verder dat er drie
storingen aanwezig zijn: de warmteflux van de zon, de ingangstemperatuur van de olie en
de omgevingstemperatuur. Om het model te kunnen testen zijn er waarden nodig voor deze
variabelen. Hiervoor kan beroep gedaan worden op data die verzameld werd gedurende drie
dagen: 15, 16 en 28 juli 2003. Voor elk van deze drie dagen is er data beschikbaar over:
• het tijdstip
• het debiet
• de temperatuur aan het begin van de toevoersectie
• de temperatuur op het eind van de afvoersectie
• de omgevingstemperatuur
• de warmteflux van het invallend zonlicht
• de temperatuur van de olie op het eind van elke leiding3 in de verhittingssectie.
Een eerste probleem dat opduikt is de bemonsteringstijd van deze data. Die bedraagt 30 s.
Dus pas om de 30 seconden wordt een nieuwe waarde van de variabelen gegeven. Aangezien3leiding 1 was afgesloten wegens problemen, er waren dus slechts 9 leidingen operationeel.
Hoofdstuk 4. Modelleren via niet-uniforme tijdsmonsters 31
een goede periode voor de interne klok 1 s bedraagt, is er elke seconde een waarde voor
de variabelen nodig. Dit probleem kan eenvoudig opgelost worden door een zero order hold
te gebruiken: elk monster van het data-acquisitie systeem wordt gedurende 30 klokperiodes
vastgehouden.
Vervolgens wordt berekend in hoeveel segmenten elke leiding in elke sectie opgedeeld moet
worden. Hiervoor moeten eerst de volumes van elke leiding in elke sectie gekend zijn. De
lengtes en diameters van elke sectie zijn weergegeven in de tabel 4.4:
toevoersectie verhittingssectie afvoersectie
lengte (m) 35.12 172 37.694
binnendiameter (cm) 10.16 2.969 10.16
Tabel 2
De toevoer- en afvoersectie worden in het model gesplitst in tien parallelle leidingen, met
elk een verschillende lengte. Dit leidt tot de volgende waarden (leiding 1 wordt afgesloten):
m3 toevoersectie verhittingssectie afvoersectie
leiding 2 0.041 0.103 0.043
leiding 3 0.049 0.103 0.052
leiding 4 0.058 0.103 0.061
leiding 5 0.067 0.103 0.070
leiding 6 0.076 0.103 0.079
leiding 7 0.085 0.103 0.087
leiding 8 0.094 0.103 0.096
leiding 9 0.103 0.103 0.105
leiding 10 0.112 0.103 0.114
Tabel 3: volumes van de leidingen in elke sectie.
4Deze waarde blijkt niet volledig correct te zijn, daarom wordt ze in een volgende hoofdstuk experimenteel
bepaald
Hoofdstuk 4. Modelleren via niet-uniforme tijdsmonsters 32
toevoersectie verhittingssectie afvoersectie
leiding 2 5 13 6
leiding 3 6 13 7
leiding 4 8 13 8
leiding 5 9 13 9
leiding 6 10 13 10
leiding 7 11 13 11
leiding 8 12 13 13
leiding 9 13 13 14
leiding 10 15 13 15
Tabel 4: aantal segmenten in elke leiding.
De waarden voor het aantal segmenten worden gestockeerd in de matrix N. Nu wordt de
tijdsiteratie met tijdsindex j gestart. Aangezien Tklok 1 seconde bedraagt, zal de tijdsiteratie
gebeuren in stappen van 1 seconde. t0 wordt gelijkgesteld aan 0. Vervolgens wordt berekend
hoelang het duurt vooraleer de olie een segment vult, gegeven het huidige debiet. Dit gebeurt
door Tklok te vermenigvuldigen met het ogenblikkelijke debiet, q(j). De waarde van deze
vermenigvuldiging, Vtemp, wordt vergeleken met het volume van een segment, Vsegm. Is Vtemp
kleiner dan Vsegm, dan loopt de tijdsiteratie j verder naar j + 1. Opnieuw wordt Tklok
vermenigvuldigd met het debiet op dat moment, q(j+1). Dit product wordt opgeteld bij Vtemp.
Deze nieuwe Vtemp wordt opnieuw vergeleken met Vsegm. Stel nu dat de nieuwe Vtemp groter
dan of gelijk is aan dan Vsegm, dan wordt t1 gelijkgesteld aan j+1 en Vtemp wordt teruggebracht
op nul. t1 wordt bewaard in de niet-uniforme tijdsmonster vector TIJD= [t0 t1 t2 ...].
Opnieuw wordt een onderscheid gemaakt in de berekeningen voor de drie secties. Maar eerst
worden nog enkele parameters gedefinieerd.
Temperatuursafhankelijke parameters
Aangezien enkele van de parameters in de vergelijkingen 4.7 en 4.9 temperatuursafhanklijk
zijn moeten deze eerst geevalueerd worden. Het gaat hier in het bijzonder om de parameters
Ht, ρf en Cf . Deze worden voor elk oliesegment apart berekend.
Hoofdstuk 4. Modelleren via niet-uniforme tijdsmonsters 33
Bepalen van Hl en ε en de overige parameters
Er moet nog een waarde toegekend worden aan de parameters Hl en ε die voorkomen in
vergelijkingen 4.1, 4.5, 4.7 en 4.16. Deze parameters worden op een experimentele manier
bepaald. Door ’trial and error’ blijken de beste waarden:
• Hl = 28 W/m2
• ε = 0, 7
Verder moet er ook nog een waarde toegekend worden aan de parameters ρm en Cm:
• ρm = 7850 Kg/m3
• Cm = 419 J/Kg K
4.4.1 Toevoersectie
Aangezien de toevoersectie louter als dode tijd beschouwd kan worden en de waarden voor tk
tot het huidige tijdstip bekend zijn, is het eenvoudig om te temperatuur op het eind van de
toevoersectie te berekenen. Formule 4.4 wordt als volgt ingevoerd:
TBi(t) = TAi(t− τ1i (t)) → TBi(tk) = TAi(tk−l) (4.15)
waarbij l aangeeft in hoeveel segmenten leiding i in de toevoersectie verdeeld is. Deze waarde
is terug te vinden in de matrix N.
4.4.2 Verhittingssectie
Hierna worden de temperatuursafhankelijke coefficienten ρf , Cf en Ht geevalueerd. Voor de
evaluatie op tk wordt gekeken naar de waarde van de olietemperatuur op het vroegere tijdstip
tk−1, zoals ook kan gezien worden in uitdrukkingen 4.7 en 4.9. ∆t is gelijk aan het verschil
tk − tk−1. Eens deze waarden gekend zijn, hebben we alle waarden van de rechterleden in
uitdrukkingen 4.7 en 4.9 (in de veronderstelling dat de iteratie al enige tijd bezig is en er
reeds waarden bestaan voor Tm(x, t − ∆t) en Tf (x, t − ∆t)). Voor de implementatie moet
nog onderscheid gemaakt worden tussen de verschillende loops (index i; i=1..9) en er moet
Hoofdstuk 4. Modelleren via niet-uniforme tijdsmonsters 34
nog geıtereerd worden over alle segmenten van elke loop (index n). De implementatie van
uitdrukking 4.7 is eenvoudig, de vergelijking kan zo overgenomen worden:
Tm(n, tk, i) = Tm(n, tk−1, i)+∆t
ρmCmVm
εAmirrIrr(tk−1)−HlGs [Tm(n, tk−1, i)− Ta(n, tk−1, i)]
−AmfHtπ [Tm(n, tk−1, i)− Tf (n, tk−1, i)]
(4.16)
Deze vergelijking drukt uit dat de temperatuur van het metaal in segment n van leiding
i op een tijdstip tk gelijk is aan de temperatuur van datzelfde stuk metaal op het vorige
tijdstip tk−1 (eerste term in het rechterlid), vermeerderd met de warmte ontvangen van de
zon (eerste term binnen de rechte haken), verminderd met de warmte die weggelekt is naar de
omgeving(tweede term binnen de rechte haken) en gecorrigeerd voor de warmte-uitwisseling
met de olie (derde term binnen de rechte haken).
Voor de implementatie van vergelijking 4.9 komt het grote voordeel van de niet-uniforme tijds-
monsters naar voren. Vergelijkingen 4.8 en 4.9 zijn eigenlijk enkel geldig als de olie stilstaat;
ze houden geen rekening met de verplaatsing van de olie. De niet-uniforme tijdsmonsters wer-
den in de eerste plaats ingevoerd, om dit te verhelpen. Stel dat het rode oliesegment in figuur
4.6 wordt gevolgd. Onderstel dat dit oliesegment zich op tijdstip tk−1 in het segment n − 1
bevindt. Het gebruik van niet-uniforme tijdsmonsters zorgt ervoor dat ditzelfde segment zich
op tijdstip tk in segment n zal bevinden. Intuıtief kan aangevoeld worden dat de temperatuur
van het rode olievolume op tijdstip tk in segment n, de temperatuur van datzelfde olievolume
zal zijn op het vroegere tijdstip tk−1 in het segment n−1, vermeerderd met de warmte die de
olie ontvangen heeft van het metaal in segment n− 1 (zie figuren 4.64.7. Of in computertaal:
Tf (n, tk, i) = Tf (n− 1, tk−1, i) +Amf
ρfCfVf
Ht
π[Tm(n− 1, tk−1, i)− Tf (n− 1, tk−1, i)] (4.17)
Hoofdstuk 4. Modelleren via niet-uniforme tijdsmonsters 35
Figuur 4.6: Een deel uit loop i van de verhittingssectie op tijdstip tk−1.
Figuur 4.7: Een deel uit loop i van de verhittingssectie op tijdstip tk.
Hoofdstuk 4. Modelleren via niet-uniforme tijdsmonsters 36
Nu kunnen de temperaturen TCi (i=2...10) in het punt C berekend worden. Deze tempera-
turen zijn voor elke loop i gelijk aan de temperatuur van de olie in het laatste segment van
loop i in de verhittingssectie:
TCi(tk) = Tf (ni, tk, i) (i = 2...10)
met ni het aantal segementen in loop i van de verhittingssectie. Deze waarde is terug te
vinden in de matrix N.
4.4.3 Afvoersectie
Het laatste deel van het traject bestaat uit de afvoersectie. Net als de toevoersectie kan ook
deze sectie beschouwd worden als een sectie die enkel een dode tijd invoert. Formule 4.15 kan
dus rechstreeks overgenomen worden, mits aanpassing van de indices:
TDi(t) = TCi(t− τ3i (t)) → TDi(tk) = TCi(tk−l′ ) (4.18)
Waar l′
aangeeft in hoeveel segmenten loop i van de afvoersectie verdeeld is. Ook deze
waarde werd gestockeerd in matrix N. Op deze manier worden 9 (normaal 10 maar loop 1 is
afgesloten) temperaturen verkregen op het eind van de afvoersectie. Om deze te kunnen
vergelijken met de eenwaardige, werkelijk eindtemperatuur wordt het gemiddelde van de
berekende uitgangstemperaturen genomen:
TD(t) =19
9∑i=1
Di(t) (4.19)
Op deze manier worden de gesimuleerde waarde voor de uitgangstemperatuur bekomen. Het
probleem dat hier optreedt, is dat er in elk van de vier vergelijkingen 4.15, 4.16, 4.17 en 4.18
verwezen wordt naar een temperatuurswaarde op een vorig tijdstip tk−1,tk−l of tk−l′ . Dus
voor de berekening van de temperatuur op de eerste tijdstippen t0, t1, t2,... kan het zijn
dat wordt verwezen naar tijdstippen met een negatieve index, wat natuurlijk niet kan. In de
volgende paragraaf wordt uitgelegd hoe dit opgelost wordt.
Hoofdstuk 4. Modelleren via niet-uniforme tijdsmonsters 37
4.4.4 Beginwaarden
Wanneer het programma gestart wordt, is er nood aan enkele beginwaarden. Bij de bereke-
ning van vergelijking 4.15 wordt verwezen naar de temperatuur op tijdstip tk−l. Indien het
programma zich op tijdstip t0 bevindt, bestaat er nog geen waarde voor de temperatuur op
dit tijdstip. TBi kan dus niet berekend worden. Daarom worden de eerste l waarden van TBi
geınitialiseerd op TAi(0), de ingangstemperatuur5 op tijdstip 0. Dus:
TBi(t0) = TBi(t1) = TBi(t2) = ... = TBi(tl−1) = TAi(t0)
De volgende stap in de berekening is het uitrekenen van vergelijking 4.16. In deze vergelijking
wordt telkens verwezen naar de temperatuur van het metaal en de olie en naar de warmteflux
van de zon op een vorig tijdstip tk−1. Hier treedt enkel een probleem op bij de berekening
van Tm op het moment t0. Dan kan niet verwezen worden naar t−1. De temperatuur van
Tm moet dus ook geınitialiseerd worden. Er wordt hier ook gekozen om als beginwaarde de
ingangstemperatuur te nemen:
Tm(n, t0, i) = TAi(t0) (i = 2...10; n = 1...ni)
met ni het aantal segmenten in loop i in de verhittingssectie.
Hierna wordt de temperatuur van de olie in de verhittingssectie berekend. Formule 4.17
wordt hiervoor uitgerekend. Hier treedt een dubbel probleem op: er wordt enerzijds verwezen
naar de temperatuur op een vorig tijdstip (tk−1) en anderzijds naar de temperatuur in een
vorig segment (n − 1). Als beginwaarde voor de temperatuur van de olie wordt ook hier de
ingangstemperatuur gekozen:
Tf (n, t0, i) = TAi(t0) (i = 2...10; n = 1...ni)
Het tweede probleem, de verwijzing naar het segment n − 1 als n = 1 levert niet eenmalig,
maar voor alle tijdstippen tk een probleem. Aangezien de verhittingssectie voorafgegaan5Deze waarde wordt gemeten en hoeft dus niet berekend te worden
Hoofdstuk 4. Modelleren via niet-uniforme tijdsmonsters 38
wordt door de toeversectie (zie figuur 2.6), kan verwezen worden naar het laatste segment
van de toevoersectie voor de berekening van de olietemperatuur in het eerste segment van
de verhittingssectie (n = 1). De temperatuur van de olie op het einde van de toevoersectie
speelt hier dus de rol van het segment n− 1 als n = 1. Dit leidt tot de volgende uitdrukking
voor de randvoorwaarde:
Tf (0, tk, i) = TBi(tk) (i = 2...10)
In de laatste sectie, de afvoersectie, treedt net hetzelfde probleem op als in de toevoersectie.
Bij het uitrekenen van vergelijking 4.18 wordt er de eerste l′
tijdstippen verwezen naar een
temperatuur die niet gekend is. Hier dienen de eerste l′waarden voor TDi geınitialiseerd te
worden. Als beginwaarde wordt opnieuw gekozen voor de ingangstemperatuur:
TDi(t0) = TDi(t1) = TDi(t2) = ... = TDi(tl′−1) = TAi(t0)
Op deze manier worden temperatuurswaarden voor alle olie- en metaalsegmenten bekomen op
alle tijdstippen. Dit impliceert dat het berekenen van de temperatuursafhankelijke coefficienten
Ht, ρf en Cf geen problemen oplevert.
Nu alles geımplementeerd is en de begin- en randvoorwaarden gedefinieerd zijn, kan overge-
gaan worden tot het simuleren.
4.5 Resultaten
Nu het volledige programma af is kan overgegaan worden tot simuleren. Hiervoor kan beroep
gedaan worden op data gegenereerd op drie verschillende testdagen: 15, 16 en 28 juli. Aange-
zien de temperatuur in de centrale gemeten wordt op zowel het einde van de verhittingssectie
(9 waarden, voor elke loop 1) als op het einde van de afvoersectie (een waarde), kan er op
deze twee punten een vergelijking gemaakt worden tussen de werkelijke temperatuur en de
temperatuur bekomen via de simulatie. Omdat het wat omslachtig is om de negen gemeten
temperatuurswaarden op het einde van de verhittingssectie te vergelijking met de negen ge-
simuleerde waarden, wordt telkens het gemiddelde genomen. Met andere woorden, de negen
Hoofdstuk 4. Modelleren via niet-uniforme tijdsmonsters 39
gemeten temperatuurswaarden worden vervangen door het gemiddelde van die negen waar-
den. Hetzelfde wordt gedaan met de gesimuleerde waarden. Deze gemiddelde waarden wordt
in de volgende grafieken aangeduid met Tgem. De fout in de grafieken is gedefinieerd als het
verschil tussen de werkelijke en de gesimuleerde waarde, genormeerd op het temperatuursbe-
reik van de werkelijke waarden. De eenheid van de tijdsas in onderstaande grafieken is een
tijdsmonster. Een tijdsmonster slaat op de bemonsteringsperiode van klok en bedraagt Tklok
of dus 1 seconde.
4.5.1 15 juli:
Eerst worden de resultaten bekeken als de gegevens van 15 juli gesimuleerd worden. In figuur
C.16 zijn de resultaten te zien van de temperatuur op het einde van de verhittingssectie en in
de tweede grafiek die op het einde van de afvoersectie.
0 2000 4000 6000 8000 10000 12000 14000200
400
600
800
1000
zonl
icht
(W
/m²)
tijdsmonster0 2000 4000 6000 8000 10000 12000 14000
0
5
10
debi
et (
l/s)
tijdsmonster
0 2000 4000 6000 8000 10000 12000 14000120
130
140
150
160
inga
ngst
empe
ratu
ur (
°C)
tijdsmonster
0 2000 4000 6000 8000 10000 12000 14000
50
100
150
200
250
Tge
m (
°C)
tijdsmonster
reële temperatuurgesimuleerde temperatuur
0 2000 4000 6000 8000 10000 12000 140000
5
10
tijdsmonster
fout
in %
Figuur 4.8: Resultaten voor de temperatuur in punt C op 15 juli.
6Voor een groter formaat van de figuren wordt verwezen naar bijlage C
Hoofdstuk 4. Modelleren via niet-uniforme tijdsmonsters 40
De berekende waarden aan het begin van de simulatie blijken niet goed overeen te stemmen
met de werkelijkheid. Dit komt omdat de eerste temperatuurswaarden die worden gemeten
in punt C, afkomstig zijn van de olie die nog in de toevoer- en verhittingssectie aanwezig
was. Deze olie heeft een volledige nacht in de leidingen doorgebracht en is daarom vrij
koud. De eerste temperatuurswaarden die berekend worden door de simulator, starten met
de eerste waarde van de ingangstemperatuur. Daarom begint de gesimuleerde curve op een
hogere temperatuur en begint ze ook onmiddellijk te stijgen. Verder kan rond het 2900ste
tijdsmonster een klein dipje (omcirkeld) opgemerkt worden in de reele temperatuur. Na
nauwkeuriger onderzoek van de data, bleek dit afkomstig te zijn van loop 9 (zie figuur C.1
in bijlage C). In het temperatuursverloop op het einde van loop 9 is rond dit tijdstip een
sterke daling van de temperatuur merkbaar. Wellicht werden de spiegels van deze loop even
van de zon weggedraaid. Helemaal op het einde van het experiment treedt er ook een grote
fout op. Dit komt omdat op het eind van de dag de spiegels volledig naar beneden gericht
worden om ze beschermen tegen stof en regen. Daardoor neemt de temperatuur van de olie
op het eind zo sterk af. Dit verdraaien van de spiegels wordt niet gesimuleerd. Buiten deze
fenomenen komt de gesimuleerde temperatuur redelijk goed overeen met de werkelijke. De
fout blijft bijna overal onder de 5%. In de foutplot werd bij 5% een horizontale lijn getekend
om te zien waar de simulator een fout genereert groter dan 5%. Na de 10 000 tijdsmonsters
treedt er echter een grote fout op, groter dan de 5% limiet. Opvallend is dat het debiet op dit
tijdstip laag is. De tendens dat er grotere fouten optreden bij een lager debiet zal op volgende
testdagen ook merkbaar zijn, wat leidt tot het vermoeden dat de enige coefficient die van het
debiet afhankelijk is, Ht, niet bepaald nauwkeurig is.
In de figuur 4.9 staan de resultaten voor de uitgangstemperatuur van het systeem, met andere
woorden de temperatuur in punt D:
Hoofdstuk 4. Modelleren via niet-uniforme tijdsmonsters 41
0 2000 4000 6000 8000 10000 12000 14000200
400
600
800
1000
zonl
icht
(W
/m²)
tijdsmonster0 2000 4000 6000 8000 10000 12000 14000
0
5
10
debi
et (
l/s)
tijdsmonster
0 2000 4000 6000 8000 10000 12000 14000120
130
140
150
160
inga
ngst
empe
ratu
ur (
°C)
tijdsmonster
0 2000 4000 6000 8000 10000 12000 1400060
80
100
120
140
160
180
200
220
240
260
uitg
angs
tem
pera
tuur
(°C
)
tijdsmonster
reële temperatuurgesimuleerde temperatuur
0 2000 4000 6000 8000 10000 12000 140000
5
10
tijdsmonster
fout
in %
Figuur 4.9: Resultaten voor de temperatuur in punt D op 15 juli.
De werkelijke temperatuur in punt D start hoger dan die in punt C. Ook dit is vrij logisch:
de afvoersectie is veel sterker geısoleerd dan de verhittingssectie. Hierdoor is de temperatuur
van de olie die ’s nachts in de afvoersectie aanwezig was, minder sterk afgenomen dan de
temperatuur van de olie in de verhittingssectie. Vervolgens is er een sterke daling waarneem-
baar in de werkelijke temperatuur in punt D. Op dit ogenblik vloeit de olie die ’s nachts
in de verhittingssectie aanwezig was en dus sterker is afgekoeld, langs de temperatuursensor
in punt D. Daarna stijgt de olietemperatuur sterk tot de werkelijke en gesimuleerde tempe-
ratuur elkaar goed benaderen. Dit gebeurt rond het 2000ste tijdsmonster. Als er gekeken
wordt naar de grafiek die de fout weergeeft, kan gezien worden dat die licht toeneemt in
vergelijking met figuur C.1. De fout komt nu enkele keren boven de 5%. Dit is te wijten
aan een lichte tijdsshift die optreedt tussen de werkelijke en de gesimuleerde waarden. De
gesimuleerde waarden komen eerder in tijd dan de werkelijke. Deze shift komt nog beter tot
Hoofdstuk 4. Modelleren via niet-uniforme tijdsmonsters 42
uiting in de resultaten van 28 juli, zoals zal blijken. Aangezien deze shift niet aanwezig is in
de berekening van de temperaturen in punt C, mag besloten worden dat ze volledig te wijten
is aan de afvoersectie. Later komt aan bod hoe deze shift weggewerkt kan worden. Daarnaast
treden er opnieuw fouten op voor de beginwaarden, die nooit goed benaderd kunnen worden,
en voor de waarden na de 10 000 tijdsmonsters. Maar er werd reeds gesuggereerd dat deze
laatste fout waarschijnlijk te wijten is aan een verkeerde uitdrukking voor Ht.
4.5.2 16 juli:
Hierna volgen de resultaten voor 16 juli. Opnieuw eerst de waarden in punt C en erna die in
punt D.
0 0.5 1 1.5 2
x 104
400
600
800
1000
zonl
icht
(W
/m²)
tijdsmonster0 0.5 1 1.5 2
x 104
0
5
10
debi
et (
l/s)
tijdsmonster
0 0.5 1 1.5 2
x 104
50
100
150
200
inga
ngst
empe
ratu
ur (
°C)
tijdsmonster
0 0.5 1 1.5 2
x 104
50
100
150
200
250
Tge
m (
°C)
tijdsmonster
reële temperatuurgesimuleerde temperatuur
0 0.5 1 1.5 2
x 104
0
5
10
tijdsmonster
fout
in %
Figuur 4.10: Resultaten voor de temperatuur in punt C op 16 juli.
Hier gelden dezelfde opmerkingen in verband met de slechte resultaten voor de beginwaarden
als voor 15 juli. Uit de grafiek van de fout blijkt dat de resultaten vrij goed zijn; de fout
Hoofdstuk 4. Modelleren via niet-uniforme tijdsmonsters 43
overstijgt nergens de 5% lijn, behalve voor de beginwaarden en helemaal op het einde. Er
komen opnieuw mindere resultaten voor bij lage waarden van het debiet, zo rond het 14 000ste
en 16 000ste tijdsmonster. Een mogelijke oorzaak is reeds aangehaald: de debietafhankelijke
parameter Ht.
0 0.5 1 1.5 2
x 104
400
600
800
1000
zonl
icht
(W
/m²)
tijdsmonster0 0.5 1 1.5 2
x 104
0
5
10
debi
et (
l/s)
tijdsmonster
0 0.5 1 1.5 2
x 104
50
100
150
200
inga
ngst
empe
ratu
ur (
°C)
tijdsmonster
0 0.5 1 1.5 2
x 104
60
80
100
120
140
160
180
200
220
240
260ui
tgan
gste
mpe
ratu
ur (
°C)
tijdsmonster
reële temperatuurgesimuleerde temperatuur
0 0.5 1 1.5 2
x 104
0
5
10
tijdsmonster
fout
in %
Figuur 4.11: Resultaten voor de temperatuur in punt D op 16 juli.
Uit de foutgrafiek van figuur 4.11 blijkt duidelijk dat die dramatisch is toegenomen. Deze toe-
name kan opnieuw verklaard worden door het optreden van een tijdsshift. Hoe dit verholpen
kan worden, komt later aan bod.
4.5.3 28 juli:
De derde meetwaarden werden bekomen op 28 juli. Hieronder zijn de resultaten van deze data
zichtbaar. Er wordt opnieuw eerst gekeken naar de temperatuur in het punt C en vervolgens
die in punt D.
Hoofdstuk 4. Modelleren via niet-uniforme tijdsmonsters 44
0 0.5 1 1.5 2 2.5
x 104
200
400
600
800
1000
zonl
icht
(W
/m²)
tijdsmonster0 0.5 1 1.5 2 2.5
x 104
0
5
10
debi
et (
l/s)
tijdsmonster
0 0.5 1 1.5 2 2.5
x 104
0
50
100
150
200
inga
ngst
empe
ratu
ur (
°C)
tijdsmonster
0 0.5 1 1.5 2 2.5
x 104
50
100
150
200
250
Tge
m (
°C)
tijdsmonster
reële temperatuurgesimuleerde temperatuur
0 0.5 1 1.5 2 2.5
x 104
0
5
10
tijdsmonster
fout
in %
Figuur 4.12: Resultaten voor de temperatuur in punt C op 28 juli.
Voor de resultaten van 28 juli zien we opnieuw de fout in de eerste waarden voor de tempe-
ratuur. Ongeveer halverwege het experiment, zo rond de 10 000 tijdsmonsters, is er een dip
in de ingangstemperatuur (omcirkeld). Deze komt duidelijk naar voor in zowel de werkelijke
als de gesimuleerde eindtemperatuur. Dit onderstreept de sterke invloed van de ingangstem-
peratuur op het systeem. Het feit dat de dip ook voorkomt in de gesimuleerde waarden, is
een teken dat het model goed reageert op deze storing.
Hoofdstuk 4. Modelleren via niet-uniforme tijdsmonsters 45
0 0.5 1 1.5 2 2.5
x 104
200
400
600
800
1000
zonl
icht
(W
/m²)
tijdsmonster0 0.5 1 1.5 2 2.5
x 104
0
5
10
debi
et (
l/s)
tijdsmonster
0 0.5 1 1.5 2 2.5
x 104
0
50
100
150
200
inga
ngst
empe
ratu
ur (
°C)
tijdsmonster
0 0.5 1 1.5 2 2.5
x 104
60
80
100
120
140
160
180
200
220
240
260
uitg
angs
tem
pera
tuur
(°C
)
tijdsmonster
reële temperatuurgesimuleerde temperatuur
0 0.5 1 1.5 2 2.5
x 104
0
5
10
tijdsmonster
fout
in %
Figuur 4.13: Resultaten voor de temperatuur in punt D op 28 juli.
In bovestaande figuur komt de tijdsshift pas echt goed naar voor. Door de vele pieken in
de eindtemperatuur vanaf 15 000 tijdsmonsters kan een schatting gemaakt worden van de
grootte van de shift: ongeveer 120 s of 2 minuten.
4.5.4 Conclusies
Voor alle drie de testdagen zijn de resulaten in het begin, ongeveer de eerste 2500 tijdsmon-
sters, niet erg nauwkeurig. Dit komt omdat de temperatuursdistributie van de olie in het
systeem, voor de centrale wordt opgestart, niet gekend is. Dat de tijd die de olie nodig heeft
om gans het systeem te doorlopen ongeveer 1800 tijdsmonsters bedraagt bij een debiet van
2 l/s, lijkt deze hypothese deels te bevestigen. Het lage debiet van 2 l/s wordt in het begin
bijna altijd gebruikt om de pomp niet te overbelasten aangezien de olie in het begin koud
en dus erg visceus is. Voorts werden er steeds grote fouten ontdekt als het debiet laag is.
Hoofdstuk 4. Modelleren via niet-uniforme tijdsmonsters 46
Dit leidt tot het vermoeden dat de enige coefficient die van het debiet afhangt, Ht, niet erg
nauwkeurig is. Een derde opmerking is dat er bij de temperatuursberekeningen in punt D een
tijdsshift optreedt van ongeveer 2 minuten. In wat volgt zal de lengte van de afvoersectie op
een experimentele manier berekend worden om deze shift weg te werken.
De voordelen van het model zijn dat de simulator slechts een kleine steady sate fout heeft.
Dit is zichtbaar in de resultaten van 15 juli, tussen de 2000 en de 4000 seconden, aangezien
gedurende deze periode de storingen constant zijn. Verder reageert het model ook goed op
veranderingen in de intensiteit van het zonlicht. Dit is zichtbaar in de resultaten van 16
juli. Hier neemt de intensiteit van het zonlicht vrij sterk toe tussen de 5000 en de 10 000
seconden. Dit genereert geen grote fouten in de berekende resultaten. En als laatste reageert
de simulator blijkbaar ook goed op veranderingen van de ingangstemperatuur. Dit is zichtbaar
in de resultaten van 28 juli.
4.6 Experimentele bepaling van de lengte van de afvoersectie.
Er wordt nu getracht om op een experimentele manier de lengte van de afvoersectie te be-
rekenen. De gegevens over de lengte ervan, lijken niet zeer nauwkeurig. Deze experimentele
bepaling gebeurt als volgt:
1. Er wordt begonnen met de data van 28 juli te analyseren. Hieruit kan gevonden worden
hoeveel tijd de olie nodig heeft om van het einde van loop 2 naar het einde van de
afvoersectie te reizen.
2. Vervolgens wordt gekeken bij welk debiet dit gebeurt.
3. De lengte van het afvoerstuk kan dan eenvoudig berekend worden met de volgende
formules (de precieze binnendiameter van de afvoersectie is wel gekend):
∆t q(t) = Vf
Vf = lA
⇒ l = ∆t q(t)A
• ∆t: tijdsverschil in seconden
Hoofdstuk 4. Modelleren via niet-uniforme tijdsmonsters 47
• q(t): het debiet in m3/s
• Vf : volume van de olie in m3
• A: doorsnede van de afvoersectie in m2
• l: lengte van de afvoersectie in m
Figuur 4.14: detail van de afvoersectie.
Aangezien het einde van loop 2 zich het dichtst bij het einde van de afvoersectie bevindt (loop
1 is afgesloten), zal een temperatuursverandering op het einde van de afvoersectie eerst en
vooral te wijten zijn aan een temperatuursverandering in T27. Daarom wordt gekeken naar
het tijdsverschil tussen een temperatuursverandering in T2 en Tout (=TD), dat geınduceerd
wordt door een debietverandering. Dit tijdsverschil wordt ∆t genoemd en kan gehaald worden
uit de figuur 4.15 (Hier is de eenheid van de tijdas de bemonsteringstijd van de data en die
bedraagt 30 s):7Dit is de temperatuur geregistreerd door de temperatuursensor op het einde van loop 2
Hoofdstuk 4. Modelleren via niet-uniforme tijdsmonsters 48
500 520 540 560 580 600 620 640 660 680
210
215
220
225
230
235
240
245
250
255
tem
pera
tuur
(°C
)
tijdsmonster
einde afvoersectieeinde loop 2
Figuur 4.15: Detail van T2 en Tout op 28 juli.
Als gekeken wordt naar het debiet dat op de overeenkomstige tijdstippen geleverd werd, kan
de volgende tabel opgesteld worden:
wijziging wijziging ∆t q(t) l
T2(K) Tout(K) (s) (m3/s) (m)
258 263 150 5 10−3 92,51
270 281 330 5 10−3 203,52
395 399 120 8 10−3 118,41
405 412 210 8 10−3 207,22
519 525 180 7 10−3 155.42
567 573 180 9 10−3 199,82
597 603 180 8 10−3 177,62
652 658 180 7,5 10−3 166,52
Tabel 5: Experimentele bepaling van de lengte van de afvoersectie.
De eerste kolom geeft het tijdstip weer van een temperatuurswijziging op het eind van loop
2, met als tijdseenheid de bemonsteringstijd van de data, nl. 30 s. De tweede kolom geeft het
tijdstip aan van de overeenkomstige temperatuurswijziging op het einde van de afvoersectie.
Hoofdstuk 4. Modelleren via niet-uniforme tijdsmonsters 49
Het gemiddelde van alle berekende lengtes bedraagt 165,13 m en deze waarde wordt nu
gebruikt in de simulator. Dit levert de volgende resultaten voor de temperatuur op het eind
van de afvoersectie (punt D) voor 15, 16 en 28 juli:
0 2000 4000 6000 8000 10000 12000 14000200
400
600
800
1000
zonl
icht
(W
/m²)
tijdsmonster0 2000 4000 6000 8000 10000 12000 14000
0
5
10
debi
et (
l/s)
tijdsmonster
0 2000 4000 6000 8000 10000 12000 14000120
130
140
150
160
inga
ngst
empe
ratu
ur (
°C)
tijdsmonster
0 2000 4000 6000 8000 10000 12000 1400060
80
100
120
140
160
180
200
220
240
260ui
tgan
gste
mpe
ratu
ur (
°C)
tijdsmonster
reële temperatuurgesimuleerde temperatuur
0 2000 4000 6000 8000 10000 12000 140000
5
10
tijdsmonster
fout
in %
Figuur 4.16: Resultaten voor de temperatuur in punt D op 15 juli, met de nieuwe lengte voor de
afvoersectie.
Hoofdstuk 4. Modelleren via niet-uniforme tijdsmonsters 50
0 0.5 1 1.5 2
x 104
400
600
800
1000
zonl
icht
(W
/m²)
tijdsmonster0 0.5 1 1.5 2
x 104
0
5
10
debi
et (
l/s)
tijdsmonster
0 0.5 1 1.5 2
x 104
50
100
150
200
inga
ngst
empe
ratu
ur (
°C)
tijdsmonster
0 0.5 1 1.5 2
x 104
60
80
100
120
140
160
180
200
220
240
260
uitg
angs
tem
pera
tuur
(°C
)
tijdsmonster
reële temperatuurgesimuleerde temperatuur
0 0.5 1 1.5 2
x 104
0
5
10
tijdsmonster
fout
in %
Figuur 4.17: Resultaten voor de temperatuur in punt D op 16 juli, met de nieuwe lengte voor de
afvoersectie.
Hoofdstuk 4. Modelleren via niet-uniforme tijdsmonsters 51
0 0.5 1 1.5 2 2.5
x 104
200
400
600
800
1000
zonl
icht
(W
/m²)
tijdsmonster0 0.5 1 1.5 2 2.5
x 104
0
5
10
debi
et (
l/s)
tijdsmonster
0 0.5 1 1.5 2 2.5
x 104
0
50
100
150
200
inga
ngst
empe
ratu
ur (
°C)
tijdsmonster
0 0.5 1 1.5 2 2.5
x 104
60
80
100
120
140
160
180
200
220
240
260
uitg
angs
tem
pera
tuur
(°C
)
tijdsmonster
reële temperatuurgesimuleerde temperatuur
0 0.5 1 1.5 2 2.5
x 104
0
5
10
tijdsmonster
fout
in %
Figuur 4.18: Resultaten voor de temperatuur in punt D op 28 juli, met de nieuwe lengte voor de
afvoersectie.
De tijdsshift is praktisch verdwenen. Het positieve effect van de nieuwe lengte van de afvoer-
sectie wordt pas duidelijk als gekeken wordt naar de procentuele fout (linksonder in de figuren
4.16, 4.17 en 4.18). Als de beginwaarden genegeerd worden, is deze enkel nog groter dan 5%
voor 15 juli, maar dat is hoogstwaarschijnlijk te wijten aan een slechte waarde voor Ht.
Hoofdstuk 5
Methode II: Proper Orthogonal
Decomposition
Een veelgebruikte methode om systemen waarin bewegende vloeistoffen of gassen voorkomen
te modelleren is via CFD-technieken (Computational Fluid Dynamics). Deze methode ver-
deelt het systeem in een groot aantal1 segmenten. Op elk van deze segmenten worden de
wetten van behoud van energie, momentum en massa toegepast. Dit leidt voor elk segment
tot een aantal differentiaalvergelijkingen. Het is duidelijk dat via deze methode heel wat
berekeningen moeten worden uitgevoerd. Tegenwoordig is dat meestal geen probleem, gezien
de grote rekenkracht van moderne computers. Doch, in sommige gevallen is het gewenst
de rekenintensiteit te verlichten, bijvoorbeeld in het geval van ’real time prediction’, ’model
based predictive control’ (MBPC), ... Voor deze applicaties moet de simulator veel sneller
werken dan het werkelijke proces omdat de simulator de toekomstige uitgang moet voorspel-
len. Vandaar de nood aan technieken die op een snellere manier de uitgang van een proces
kunnen reproduceren. Ondermeer hiervoor werd de POD-methode ontwikkeld. Het aantal
berekeningen kan via deze methode soms met een factor 100 gereduceerd worden [11].
De tweede simulator steunt op de POD-methode. Zoals reeds aangehaald in de inleiding
gebruikt ze een aantal orthonormale basisfuncties die uit gemeten of berekende gegevens kun-
nen gedistilleerd worden. Deze gegevens worden best gemeten (of berekend) in een situatie
waarbij het systeem sterk geexciteerd wordt teneinde zoveel mogelijk informatie te verzamelen1Dit aantal kan oplopen tot 108.
52
Hoofdstuk 5. Methode II: Proper Orthogonal Decomposition 53
in de basisfuncties. De orthonormale basisfuncties geven de ruimtelijke distributie van een
bepaalde fysische grootheid, zoals bijvoorbeeld de temperatuur, weer. Om verder de tijds-
afhankelijkheid van het systeem te beschrijven wordt elke basisfunctie vermenigvuldigd met
zijn tijdsafhankelijke coefficient. Deze coefficienten kunnen gevonden worden door de diffe-
rentiaalvergelijking, die het systeem beschrijft, op de basisfuncties te gaan projecteren. Uit
deze projectie ontstaat een set van vergelijkingen die samen met een aantal rand- en begin-
voorwaarden uitdrukkingen genereren voor de tijdsafhankelijke coefficienten [8],[9],[10],[11].
5.1 Theorie
Omdat het misschien allemaal wat magisch overkomt is een stukje theorie hier op zijn plaats.
Omdat dit werk echter niet theoretisch is opgevat, blijft dit inleidend stukje theorie beperkt
tot de belangrijkste begrippen. Voor een wiskundige, maar zeer begrijpelijke uitleg wordt
verwezen naar [11]. Een belangrijk theorema hierin luidt als volgt:
Theorema 5.1 Als (χ, (., .)) een separabele Hilbert ruimte2is met orthonormale basis {φi}i∈I ,
dan kan elk element f ∈ χ geschreven worden als:
f =∑i∈I
(f, φi)φi (5.1)
met χ een lineaire vectorruimte en I een aftelbare verzameling.
Hierin stelt (f, φi) de projectie van de functie f op φi voor. We kunnen deze expansie nu
toepassen op de tijds- en plaatsafhankelijke temperatuur T (x, t) van het systeem. Om dit te
kunnen doen moet de ruimte χ waartoe de functie T (x, t) behoort, voldoen aan de volgende
voorwaarden:
• de ruimte χ moet een lineaire ruimte zijn, voorzien van optelling en vermenigvuldiging.
• de ruimte χ moet voorzien zijn van het inwendig product: χ×χ→ R, zodat het begrip
orthonormaliteit geformuleerd kan worden.2Zie bijlage B voor een definitie van separabele Hilbert ruimte.
Hoofdstuk 5. Methode II: Proper Orthogonal Decomposition 54
• de ruimte χ moet een separabele Hilbertruimte zijn.
Aan deze drie voorwaarden is voldaan [11] en theorema 5.1 is van toepassing. De functie
T (x, t) kan als volgt voorgesteld worden:
T (x, t) =∑i∈I
ai(t)φi(x) (5.2)
met voor alle t ∈ T:
ai(t) = (T (x, t), φi(x))
de tijdsafhankelijk coefficienten. Beschouw nu Tsnap als
Tsnap = {T(t) ∈ χ | t ∈ T}
Met T(t) wordt de temperatuursdistributie over het ganse systeem op tijdstip t bedoeld en
T ⊆ R stelt het tijdsdomein voor. Tsnap is dus een verzameling van tijd- en plaatsafhankelijke
temperaturen, die worden bekomen uit metingen of berekeningen. Uit deze Tsnap moet de
set van orthonormale basisfuncties {φi}i∈I gevonden worden.
5.1.1 Bepalen van de basisfuncties
Alnaargelang de Hilbertruimte χ eindig of oneindig dimensionaal is, zal de sommatie in 5.2
gebeuren over een eindig of oneindig aantal basisfuncties. Gezien een computer slechts kan
werken met een eindig aantal variabelen, worden de functies φ(x)i voorgesteld door vectoren
met een eindig aantal elementen φ(k)i, k = 1...N . Dit impliceert dat de ruimte die kan
opgespannen worden door deze vectoren φi(k) maximaal N dimensionaal kan zijn. Bijgevolg
gebeuren de sommaties in wat volgt over een eindig aantal basisfuncties. Verder moeten de
signalen ai(t) in de computer ook voorgesteld worden door vectoren met een eindig aantal
elementen ai(t) waarbij t nu een discrete waarde voorstelt (t = 1...M). Dit leidt tot de
volgende nieuwe uitdrukking voor 5.2:
T (k, t) =N∑i
ai(t)φi(k), t = 1...M, k = 1...N (5.3)
Hoofdstuk 5. Methode II: Proper Orthogonal Decomposition 55
Bedoeling van de POD methode is het reduceren van het aantal basisfuncties φi, maar op een
zodanige manier dat de expansie 5.3 nog nauwkeurig blijft. Op een meer wiskundige manier
wordt dit als volgt geformuleerd:
Probleem 5.1 Gegeven de expansieN∑iai(t)φi(k) van de functie T (k, t) in de Hilbertruimte
χ waartoe T (k, t) behoort, vind T (k, t)′
=n∑iai(t)φi(k) waarvoor geldt dat n < N , zo dat
d(T (k, t) , T (k, t)
′)
minimaal is.
met de volgende definitie:
Definitie 5.1 d(T (k, t) , T (k, t)
′)
= ‖T (k, t)− T (k, t)′‖
Er wordt dus een T (k, t)′
gezocht waarbij de sommatie in expansie 5.3 over n loopt met
n < N . In het extreme geval dat n = 1 wordt expansie 5.3 dus1∑
i=1ai(t)φi(k) = a1(t)φ1(k).
De ruimtelijke component van de tijd- en plaatsafhankelijke temperatuur T (k, t) wordt in
deze expansie dus enkel gegeven door φ1. Deze eerste basisfunctie moet dus de ruimtelijke
distributie van de temperatuur zo goed mogelijk weergeven en dit voor alle tijdstippen t =
1...M . Om dit te bekomen wordt de volgende extremumvergelijking opgesteld:
φ1 = maxφ1∈χ
⟨(T (k, t), φ1)2
⟩‖φ1‖2
(5.4)
Waarbij 〈 〉 staat voor het tijdsgemiddelde. De projectie van φ1 op de functie T (k, t) moet
dus gemaximaliseerd worden en dit voor alle tijdstippen t.
De oplossing van dit extremumprobleem wordt afgeleid in bijlage B. Het resultaat van de
berekening is eenvoudig; φ1 moet voldoen aan volgende eigenwaardevergelijking:
〈(T (k, t), φ1)χT (k, t)〉 = λ1φ1 (5.5)
Zoals reeds eerder vermeld worden de basisfuncties φi bekomen uit gemeten of berekende
data. Deze data werd verzameld in de snapshot matrix Tsnap die dus niets anders is dan een
matrixvoorstelling van de functie T (k, t) geevalueerd in een aantal punten k = 1...N op een
aantal tijdstippen t = 1...M :
Hoofdstuk 5. Methode II: Proper Orthogonal Decomposition 56
T (1, 1) T (1, 2) · · · T (1,M)
Tsnap = T (2, 1) T (2, 2) · · · T (2,M)...
.... . .
...
T (N, 1) T (N, 2) · · · T (N,M)
Vergelijking 5.5 kan dus geschreven worden als:
⟨(Tsnap, φ1)χ Tsnap
⟩= λ1φ1 (5.6)
Dit kan korter geschreven worden in operatorvorm, waarbij de operator C gedefinieerd wordt
als C(φi) = 〈(Tsnap, φi)χTsnap〉:
C(φ1) = λ1φ1 (5.7)
λ1 is dus een eigenwaarde van de operator C met bijhorende eigenvector φ1 die de eerste
basisvector vormt van de expansie 5.3. De tweede basisfunctie φ2 wordt uit dezelfde extre-
mumvergelijking 5.4 gevonden, maar met de restrictie dat φ2 orthonormaal moet zijn met φ1.
Ditzelfde geldt nu voor alle basisfuncties; ze voldoen allemaal aan de extremumvergelijking 5.4
en ze moeten allemaal orthonormaal zijn. Als nu de operator C zelftoegevoegd is, dan kan
aangetoond worden dat al zijn eigenvectoren orthogonaal (en na normering orthonormaal)
zijn en dat zijn eigenwaarden voldoen aan de ongelijkheid:
λ1 ≥ λ2 ≥ ... ≥ λN (5.8)
De gezochte basisfuncties zijn dus eenvoudigweg de eigenvectoren operator C. Uit de manier
waarop de basisfuncties φi geconstrueerd worden is het duidelijk dat de basisfunctie met
de meeste informatie over de ruimtelijke distributie van de temperatuur, basisfunctie φ1 is.
Basisfunctie φ2 is die met het op een na meeste informatie over de ruimtelijke distributie van
de temperatuur enzovoort. Het is echter niet de bedoeling om alle gevonden basisfuncties φi
te gaan gebruiken, maar slechts een deel ervan. Het feit dat niet alle φi’s nodig zijn voor
Hoofdstuk 5. Methode II: Proper Orthogonal Decomposition 57
een nauwkeurige voorstelling van de functie T (x, t) is juist het grote voordeel van de POD-
methode. Er is echter een criterium nodig om te weten welke functies φi nog als belangrijk
mogen beschouwd worden en welke niet. Hiervoor wordt gekeken naar de eigenwaarden λi
die volgen uit eigenwaardevergelijking 5.5. Er werd reeds gezegd dat de relevantie van de
basisfuncties φi afneemt bij toenemende index i. Samen met ongelijkheid 5.8 levert dit volgend
criterium:
Pn =
n∑i=1
λi
N∑i=1
λi
(5.9)
Als alle basisfuncties in gebruik worden genomen is n = N en wordt Pn gelijk aan 1. Hoe
minder basisfuncties beschouwd worden, hoe minder nauwkeurig decompositie 5.3 en hoe
lager Pn zal worden. Pn kan beschouwd worden als een maat voor de nauwkeurigheid van
decompositie 5.3.
5.1.2 Bepalen van de tijdsafhankelijke coefficienten
Er wordt nu getracht een uitdrukking te vinden voor tijdsafhankelijke coefficienten ai(t).
Definieer daartoe de volgende partiele differentiaalvergelijking voor de functie
T (x, t) : X× T → R:
M(T ) = D(T ) (5.10)
Met D een differentiaaloperator die enkel afgeleiden naar de plaats bevat en M een differen-
tiaaloperator die enkel afgeleiden naar de tijd bevat:
M(T ) = M0 +M1∂T∂t + ...+MP
∂P T∂tP
D(T ) = D0 +D1∂T∂x + ...+DP
′ ∂P′T
∂xP′
(5.11)
Definieer nu de restoperator R van vergelijking 5.10 als volgt:
R(T ) = M(T )−D(T ) (5.12)
Hoofdstuk 5. Methode II: Proper Orthogonal Decomposition 58
Voor de functie T in vergelijking 5.10 is R(T ) dus duidelijk nul. Stel dat er reeds een POD-
basis {φi}Ni=1 voor de functie T (x, t) gevonden werd. Als de oplossing T (x, t) van diffe-
rentiaalvergelijking 5.10 vervangen wordt door een gereduceerde lineaire combinatie van de
basisfuncties φi, waarbij de sommatie over n loopt met n ≤ N :
Tn =n∑
i=1
ai(t)φi(x) ≈ T (x, t) (5.13)
dan zal de restoperator R(Tn) over het algemeen niet meer nul zijn. Om de originele partiele
differentiaalvergelijking 5.10 zo goed mogelijk te benaderen wordt geprobeerd om de tijdsaf-
hankelijke coefficienten ai(t) zodanig te kiezen dat de restoperator R(Tn) nul wordt. Om dit
na te streven wordt gebruik gemaakt van een zogenaamde Galerkin Projectie.
Definitie 5.2 Gegeven een orthonormale basis {φi}Ni=1 van een Hilbertruimte χ en een resi-
duele operator R van het model M(T ) = D(T ). Als T benaderd wordt door een expansie van
de vorm Tn(k, t) =n∑
i=1ai(t)φi(k) dan resulteert een Galerkin projectie in:
(R (Tn) , φi) = 0; i = 1...n (5.14)
Deze definitie zegt dat de projectie van de restoperator R(Tn) op het gereduceerde aantal
basisfuncties {φi}ni=1; n ≤ N nul moet zijn. Deze projectie leidt tot een uitdrukking voor de
tijdsafhankelijk coefficienten ai(t):
R(Tn) = M(Tn)−D(Tn) = M0+M1∂Tn
∂t+...+MP
∂PTn
∂tP−D0−D1
∂Tn
∂x−...−DP ′
∂P′Tn
∂xP ′ (5.15)
De restoperator R(Tn) wordt nu geprojecteerd op de gereduceerde basis {φj}nj=1 en Tn wordt
voluit geschreven:
(R(Tn), φj(x)) =
M0
n∑i=1
ai(t) (φi(x), φj(x)) +M1
n∑i=1
∂ai(t)∂t (φi(x), φj(x)) + ...+MP
n∑i=1
∂P ai(t)∂tP
(φi(x), φj(x))
−D0
n∑i=1
ai(t) (φi(x), φj(x))−D1
n∑i=1
ai(t)(
∂φi(x)∂x , φj(x)
)− ...−DP ′
n∑i=1
ai(t)(
∂P′φi(x)
∂xP′ , φj(x)
)= 0
(5.16)
Hoofdstuk 5. Methode II: Proper Orthogonal Decomposition 59
Rekeninghoudend met de orthonormaliteit van de basisfuncties: (φi, φj) = δij leidt dit tot
een differentiaalvergelijking voor de coefficienten ai(t):
MP∂P aj(t)
∂tP+ ...+M1
∂aj(t)∂t +M0aj(t) =∑
i=1nai(t)
[D0 +D1
(∂φi(x)
∂x , φj(x))
+ ...+DP ′
(∂P′ φi(x)
∂xP′ , φj(x)
)] (5.17)
5.2 Praktijk
De analytische formules en algebraısche basis zijn nu beschikbaar om dit in de praktijk toe te
passen. Er bestaat een eenvoudige methode die toelaat de beschreven theorie in praktijk om
te zetten [13]. Daartoe wordt een eerste orde partiele differentiaalvergelijking opgesteld die
het tijdsafhankelijke temperatuursprofiel van de olie beschrijft. Vervolgens wordt van deze
vergelijking een discreet toestandsmodel opgesteld. Dit toestandsmodel genereert het tijdsaf-
hankelijk temperatuursprofiel in het systeem en kan dus gebruikt worden om de waarden voor
Tsnap te berekenen. Uit de uitdrukking voor het toestandsmodel kunnen verder de tijdsaf-
hankelijk coefficienten ai(t) gevonden worden. Deze methode impliceert wel dat de resultaten
via de POD-methode nooit beter kunnen zijn dan de resultaten van het toestandsmodel. De
reden dat de POD-methode gebruikt wordt, is dat het aantal berekeningen sterk gereduceerd
wordt.
Er wordt opnieuw ondersteld dat het volledige buizensysteem is opgedeeld in tien parallelle
leidingen zoals te zien in figuur 4.3. Verder wordt opnieuw een onderscheid gemaakt tussen
de toevoer-, verhittings- en afvoersectie. Het is belangrijk dat hier ondersteld wordt dat de
leidingen dezelfde diameter hebben in elk van deze drie secties. In de methode waarbij niet-
uniforme tijdsmonsters gebruikt werden, was dit niet het geval (zie tabel 4.4). Daar was het
ook niet nodig omdat enkel het volume van elk segment gelijk moest zijn. In de methode
waarbij POD-technieken gehanteerd worden, moeten alle segmenten hetzelfde volume en de-
zelfde lengte ∆x hebben. Dit laatste volgt uit het feit dat er bij de discretizering slechts een
ruimtelijke discretisatie geformuleerd wordt. Dit impliceert dat de diameter van elk segment
gelijk moet zijn. Daardoor wordt de diameter van de leidingen in de toevoer- en afvoersectie
gelijkgesteld aan de diameter van de leidingen in de verhittingssectie. Dit zal de lengte van de
leidingen in toevoer- en afvoersectie veranderen, maar dit is niet erg want hun volume blijft
Hoofdstuk 5. Methode II: Proper Orthogonal Decomposition 60
ongewijzigd. De nieuwe lengte voor leiding i in de toevoersectie (en een volledige analoge
formule voor de afvoersectie) is eenvoudig te berekenen volgens de formule:
V toevi = Ltoev
i
19
(dtoev
2
)2
π
= Ltoevnieuwi
(dverhit
2
)2
π
⇓
Ltoevnieuwi
= Ltoevi
19
(dverhit
)2
(dtoev)2(5.18)
met:
• V toevi : het volume van leiding i in de toevoersectie in m3
• Ltoevi : de lengte van leiding i in de toevoersectie in m
• dtoev: de werkelijke diameter van de toevoersectie in m
• Ltoevnieuwi
: de aangepaste lengte van leiding i in de toevoersectie in m
• dverhit: de werkelijke diameter van een leiding in de verhittingssectie in m
Voor de eenvoud wordt de methode eerst enkel toegepast op leiding 2. In een volgende stap
wordt overgegaan op de uitbreiding naar de volledige centrale.
5.2.1 Vergelijking voor het temperatuursprofiel
Voor het berekenen van een vergelijking die het temperatuursprofiel langsheen het systeem
beschrijft, wordt vertrokken van de wet van behoud van energie [14]:
ρfcfDT (x, t)Dt
= k∂2
∂x2T (x, t) + S(x, t) (5.19)
• ρf : dichtheid van de olie in kg/m3
• cf : specifieke warmtecapaciteit van de olie in J/kg K
Hoofdstuk 5. Methode II: Proper Orthogonal Decomposition 61
• T (x, t): plaats- en tijdsafhankelijk temperatuursprofiel van de olie
• k: warmtegeleidingscoefficient van de olie in W/m K
• S(x, t): plaats- en tijdsafhankelijke warmtebron in W/m3
Hierin stelt DDt = ∂
∂t + vx(t) ∂∂x een substantiele afgeleide voor. Dit is een tijdsafgeleide die
rekening houdt met de verplaatsing van de olie (vx(t) is de tijdsafhankelijke snelheid van de
olie in m/s). De warmtegeleidingscoefficient k wordt opnieuw verwaarloosd en de warmtebron
is in dit geval het geconcentreerde zonlicht Irr(t) (in W/m2). De differentiaalvergelijking
5.19 is enkel geldig voor de verhittingssectie. In de toevoer- en afvoersectie is immers geen
warmtebron aanwezig. In deze twee secties wordt volgende vergelijking gebruikt:
ρfcfDT (x, t)Dt
= ρfcf∂T (x, t)∂t
+ ρfcfvx(t)∂T (x, t)∂x
= 0 (5.20)
Het zonlicht wordt gecollecteerd door parabolische spiegels die een apertuur Amirr en een
reflectiecoefficient ε hebben. Vergelijkingen 5.19 en 5.20 zijn geldig per m3 en worden dus
vermenigvuldigd met het volume van de respectievelijke secties: Vtoev,Vverhit en Vafv. Dit
leidt tot:
ρfcfVtoev∂T (x, t)∂t
+ ρfcfVtoevvx(t)∂T (x, t)∂x
= 0 (5.21)
ρfcfVverhit∂T (x, t)∂t
+ ρfcfVverhitvx(t)∂T (x, t)∂x
= Irr(t)εAmirr (5.22)
ρfcfVafv∂T (x, t)∂t
+ ρfcfVafvvx(t)∂T (x, t)∂x
= 0 (5.23)
Waarbij vergelijkingen 5.21, 5.22 en 5.23 geldig zijn voor respectievelijk de toevoer-, de
verhittings- en de afvoersectie. Verder kan elk van de drie volumes Vtoev,Vverhit en Vafv
opgesplitst worden als Vi = A.Li waarbij A (m2) de dwarsdoornede en Li (m) de lengte van
leiding 2 in sectie i voorstelt (i =toev, verhit of avf). De diameter in elk van de drie secties
werd gelijk gekozen dus is de dwarsdoorsnede A in elk van de drie secties ook gelijk. Het
product van vx(t) met A vormt een uitdrukking voor het debiet q(t) van de olie in loop 2.
Dit leidt tot de volgende vormen voor de partiele differentiaalvergelijking:
Hoofdstuk 5. Methode II: Proper Orthogonal Decomposition 62
ρfcfVtoev∂T (x, t)∂t
+ ρfcfLtoevq(t)∂T (x, t)∂x
= 0 (5.24)
ρfcfVverhit∂T (x, t)∂t
+ ρfcfLverhitq(t)∂T (x, t)∂x
= Irr(t)εAmirr (5.25)
ρfcfVafv∂T (x, t)∂t
+ ρfcfLafvq(t)∂T (x, t)∂x
= 0 (5.26)
Er wordt een randvoorwaarde gedefinieerd voor het begin van het systeem, aan de ingang van
de toevoersectie:
T (0, t) = Tin(t) (5.27)
De ruimtelijke distributie van de temperatuur in het systeem is niet gekend op tijdstip t = 0,
daarom wordt ze gelijk gesteld aan een constante, nl. de ingangstemperatuur op tijdstip
t = 0:
T (x, 0) = Tin(0) (5.28)
5.2.2 Opstellen van het toestandsmodel
Vergelijkingen 5.24, 5.25 en 5.26 dienen nu gediscretizeerd te worden om een discreet toe-
standsmodel te krijgen. Voor de discretizering wordt beroep gedaan op de ’Implicit Backward
Euler Method’[15]. Dit leidt tot de volgende uitdrukkingen:
c31T t
k − T t−1k
∆t+ c21
T tk − T t
k−1
∆x= 0 voor k = 1...N1 (5.29)
c32T t
k − T t−1k
∆t+ c22
T tk − T t
k−1
∆x= c1Irr
tk voor k = N1 + 1...N1 +N2 (5.30)
c33T t
k − T t−1k
∆t+ c23
T tk − T t
k−1
∆x= 0 voor k = N1 +N2 + 1...N1 +N2 +N3(5.31)
met
• T tk: temperatuur in segment k op tijdstip t in K
• c1 = εAmirr
Hoofdstuk 5. Methode II: Proper Orthogonal Decomposition 63
• c21 = ρfcfLtoev c22 = ρfcfLverhit c23 = ρfcfLafv
• c31 = ρfcfVtoev c32 = ρfcfVverhit c33 = ρfcfVafv
• N1, N2 en N3 het aantal ruimtelijke discretizatiestappen in respectievelijk de toevoer-,
verhittings- en afvoersectie
Door de verschillende termen te herschikken in vergelijking 5.29 wordt een uitdrukking beko-
men voor T t−1k :
T t−1k = T t
k +c21∆tc31∆x
(T t
k − T tk−1
)= T t
k + at11
(T t
k − T tk−1
)= (1 + at
11)Tkt − at
11Ttk−1 (5.32)
Voor vergelijkingen 5.30 en 5.31 volgen analoge resultaten:
T t−1k = (1 + at
12)Tkt − at
12Ttk−1 + at
2Irrt (5.33)
T t−1k = (1 + at
13)Tkt − at
13Ttk−1 (5.34)
met
• at11 = c21∆t
c31∆xqt at
12 = c22∆tc32∆xq
t at13 = c23∆t
c33∆xqt
• at2 = − c12∆t
c32
Om T t1 te berekenen wordt randvoorwaarde 5.27 gebruikt:
T t−11 = (1 + at
11)Tt1 − at
11Tt0 + a2Irr
t (5.35)
waarbij T t0 verwijst naar de ingangstemperatuur Tin van het systeem. Vergelijkingen 5.32,
5.33 en 5.34 kan in matrixvorm gegoten worden:
Hoofdstuk 5. Methode II: Proper Orthogonal Decomposition 64
1 + at11
−1 1 + at11
. . . . . .
−1 1 + at12
. . . . . .
−1 1 + 1at13
T t1
T t2
...
T tN1+1
...
T tN1+N2+N3
+
0
0...
a2Irrt
...
0
=
T t−11 + at
1Tt0
T t−12
...
T t−1N1+1...
T t−1N1+N2+N3
(5.36)
De matrices kunnen wat beter gerangschikt worden:
1 + at11
−1 1 + at11
. . . . . .
−1 1 + at12
. . . . . .
−1 1 + 1at13
T t1
T t2
...
T tN1+1
...
T tN1+N2+N3
=
T t−11 + at
1Tt0
T t−12
...
T t−1N1+1...
T t−1N1+N2+N3
−
0
0...
a2Irrt
...
0
(5.37)
Dit kan nog korter geschreven worden als:
A(t)T(t) = T(t− 1) + u(t)
⇓
T(t) = A−1(t)T(t− 1) + A−1(t)u(t) (5.38)
5.2.3 Berekenen van de basisfuncties
Er is dus een uitdrukking beschikbaar om het temperatuursprofiel in het systeem op elk tijd-
stip t = 1...M te berekenen. Hiermee kan de snapshotmatrix Tsnap opgesteld worden. Eens
deze gekend is kan vergelijking 5.6 berekend worden. Dit leidt tot de volgende uitdrukking:
C(φi) = 〈(Tsnap, φi)χTsnap〉 =1M
TsnapTφiTsnap =
1M
TsnapTsnapTφi = λiφi (5.39)
Hoofdstuk 5. Methode II: Proper Orthogonal Decomposition 65
De operator C kan dus zeer eenvoudig berekend worden aan de hand van de matrixvermenig-
vuldiging:
C =1M
TsnapTsnapT (5.40)
Het totaal aantal segmenten N1 +N2 +N3 waarin leiding 2 wordt opgedeeld wordt vanaf nu
N genoemd. Op de N×N matrix C wordt nu een eigenwaardendecompositie uitgevoerd, wat
leidt tot N eigenwaarden λi en N bijhorende eigenvectoren φi. In figuur 5.1 zijn als voorbeeld
de eerste drie basisfuncties zichtbaar voor de gegevens van 15 juli:
Figuur 5.1: De eerste drie basisfuncties voor de gegevens van 15 juli.
De essentie van de POD-methode is dat er slechts een klein aantal basisfuncties φi gebruikt
worden. Er werd reeds een criterium opgesteld om te bepalen hoeveel basisfuncties nodig
zijn om nog nauwkeurige resultaten te krijgen (zie vergelijking 5.9). Als voorbeeld worden in
figuur 5.2 de eigenwaarden λi van C geplot voor de gegevens van 15 juli:
Als een waarde voor Pn gekozen wordt, kan berekend worden hoeveel basisfuncties er nodig
zijn.
Hoofdstuk 5. Methode II: Proper Orthogonal Decomposition 66
Figuur 5.2: Logaritmische plot van de eigenwaarden.
5.2.4 Bepalen van de tijdsafhankelijk coefficienten
De tijdsafhankelijke coefficienten ai(t) worden nu bepaald via de Galerkin projectie. Daartoe
worden de vectoren T(t) en T(t − 1) uit vergelijking 5.38 vervangen door hun decompositie
in basisfuncties:
T(t) →n∑
i=1
ai(t)φi(k) = Φna(t) = Tn(t)
T(t− 1) →n∑
i=1
ai(t− 1)φi(k) = Φna(t− 1) = Tn(t− 1) (5.41)
De differentieverelijking 5.38 kan dus geschreven worden als:
Tn(t) = A−1(t)Tn(t− 1) + A−1(t)u(t) (5.42)
Vervolgens wordt de restoperator R(Tn) van vergelijking 5.42 gedefinieerd:
R(Tn) = Tn(t)−A−1(t)Tn(t− 1)−A−1(t)u(t) (5.43)
Hoofdstuk 5. Methode II: Proper Orthogonal Decomposition 67
Uit definitie 5.2 volgt dat de projectie van R(Tn) van op de set van basisfuncties Φn nul moet
zijn. Dit geeft, rekeninghoudend met 5.41:
ΦnTΦna(t) = Φn
TA−1(t)Φna(t− 1) + ΦnTA−1(t)u(t) (5.44)
Aangezien de basisfuncties orthonormaal zijn is het matrix product ΦnTΦn gelijk aan 1.
ΦnTA−1(t)Φn wordt in wat volgt B(t) genoemd en Φn
TA−1(t) wordt vanaf nu korter ge-
schreven als D(t). Dit leidt tot de zeer eenvoudige uitdrukking voor de tijdsafhankelijk
coefficienten ai(t):
a(t) = B(t)a(t− 1) + D(t)u(t) (5.45)
5.2.5 Uitbreiding naar de volledige centrale
De voorgaande afleiding is slechts geldig voor een enkele leiding uit het model. Het is de
bedoeling dit uit te breiden naar de volledige centrale. Daartoe wordt de centrale gemodelleerd
als een enkele leiding, waarvan het volume hetzelfde is als de som van alle leidingen in de
centrale. Opnieuw wordt de leiding opgesplitst in een toevoer-, verhittings- en afvoersectie.
Om een model van deze nieuwe geometrie op te stellen, kan vertrokken worden van vergelij-
kingen 5.21, 5.22 en 5.23, mits aanpassing van de parameters Vtoev, Vverhit, Vafv en Amirr.
Er wordt nu immers rekening gehouden met alle spiegels en niet enkel met die van loop 2.
Amirr moet dus vermenigvuldigd worden met 9, het aantal loops dat tijdens het experiment in
gebruik werd genomen. Omdat alle leidingen in de verhittingssectie hetzelfde volume hebben,
kan Vverhit ook gewoon met 9 vermenigvuldigd worden, om dezelfde reden. Vtoev is voor elk
van de 9 leidingen verschillend, daarom wordt het gemiddelde van de negen volumes in de
toevoersectie genomen. Dit komt overeen met het volume van leiding 6 in de toevoersectie.
Vervolgens wordt dit volume ook vermenigvuldigd met 9. Dezelfde redenering geldt voor
Vafv; als nieuwe waarde voor deze parameter wordt negen keer het volume van leiding 6 in
de afvoersectie genomen.
De waarde voor de bemonsteringstijd wordt dezelfde gekozen als de bemonsteringstijd van de
data, namelijk 30 s. Als ruimtelijke discretisatiestap wordt 25 m genomen. Dit bleek door
Hoofdstuk 5. Methode II: Proper Orthogonal Decomposition 68
’gis en mis’ de beste waarde te zijn. Deze waarde voor de discretisatiestap zorgt ervoor dat
de leiding wordt opgedeeld in 22 segmenten. De Hilbertruimte van de basisfuncties heeft dus
dimensie 22 en er kunnen bijgevolg 22 orthonormale basisfuncties gevonden worden.
5.3 Resultaten
De basisfuncties moeten maar een keer opgesteld worden. Ze worden best berekend door
gebruik te maken van een experiment waarbij het systeem goed geexciteerd wordt (dit is: er
worden grote variaties aangebracht in het ingangssignaal en de storingen). Op deze manier
komt veel informatie in de basisfuncties terecht. Dit is de reden dat de basisfuncties berekend
worden aan de hand van de gegevens van 28 juli, aangezien er die dag grote variaties in het
debiet waren.
Er moet nog besloten worden hoeveel basisfuncties er in rekening gebracht worden. Daarvoor
werd een criterium opgesteld, zie vergelijking 5.9. De nauwkeurigheid van de POD-methode
werd er voorgesteld door de parameter Pn; hoe dichter Pn bij 1 hoe nauwkeuriger. Daarom
wordt als waarde voor Pn 1− 10−5 genomen. Voor de data van 28 juli komt dit overeen met
4 basisfuncties.
5.3.1 15 juli
In figuur 5.33 zijn de resultaten zichtbaar voor de temperatuur op het eind van de afvoersectie
berekend via de POD-methode. Ze maken zoals gezegd gebruik van eerste de vier basisfuncties
berekend met gegevens van 28 juli.3Voor een groter formaat van de figuren wordt verwezen naar bijlage C
Hoofdstuk 5. Methode II: Proper Orthogonal Decomposition 69
0 50 100 150 200 250 300 350 400200
400
600
800
1000
zonl
icht
(W
/m²)
tijdsmonster0 50 100 150 200 250 300 350 400
0
5
10
debi
et (
l/s)
tijdsmonster
0 50 100 150 200 250 300 350 400120
130
140
150
160
inga
ngst
empe
ratu
ur (
°C)
tijdsmonster
0 50 100 150 200 250 300 350 400100
150
200
250
uitg
angs
tem
pera
tuur
(°C
)
tijdsmonster
reele temperatuurgesimuleerde temperatuur
0 50 100 150 200 250 300 350 4000
5
10
tijdsmonster
fout
in %
Figuur 5.3: Resultaten met de POD-methode voor 15 juli.
De resultaten blijken vrij goed te zijn. De fout komt nergens boven de 5% behalve tijdens
de beginwaarden en helemaal op het einde. De reden voor de afwijkende beginwaarden is
dezelfde is als bij de vorige simulator. De temperatuursdistributie van de olie in het systeem
is niet gekend op de eerste tijdstippen. De reden voor de afwijkende eindwaarden is eveneens
dezelfde als bij de vorige simulator: op het eind van elke dag worden de spiegels naar beneden
gericht om ze te beschermen tegen stof en regen. Daardoor neemt de temperatuur van de olie
sterk af op het einde. Dit verdraaien van de spiegels wordt niet gesimuleerd. De berekende
temperaturen zijn verder ook goed bij lage waarden voor het debiet. Dit in tegenstelling tot
de vorige simulator. Verder is de tijdsshift die in de eerste versie van de vorige simulator
opdook hier afwezig. Dit komt omdat de experimenteel bepaalde lengte van de afvoersectie
(zie sectie 4.6) gebruikt werd. Een laatste opmerking: de simulatie gebeurt zeer snel en neemt
Hoofdstuk 5. Methode II: Proper Orthogonal Decomposition 70
ongeveer een seconde in beslag in vergelijking met ongeveer 30 s bij de vorige simulator. Dit
werd ook verwacht, aangezien het de bedoeling is van POD om het aantal berekeningen sterk
te reduceren. Er wordt nogmaals benadrukt dat de resultaten via de POD-methode niet beter
kunnen zijn dan de resultaten van het toestandsmodel. Voor een vergelijking beide resultaten
voor alledrie de testdagen wordt verwezen naar bijlage C. De afwijkingen die voorkomen
tussen de reele temperatuur en de temperatuur berekend via POD zijn dus vooral te wijten
aan de nauwkeurigheid van het toestandsmodel.
5.3.2 16 juli
In figuur 5.4 zijn de resultaten van de POD-methode zichtbaar voor de gegevens van 16 juli.
0 100 200 300 400 500 600400
600
800
1000
zonl
icht
(W
/m²)
tijdsmonster0 100 200 300 400 500 600
0
5
10
debi
et (
l/s)
tijdsmonster
0 100 200 300 400 500 60050
100
150
200
inga
ngst
empe
ratu
ur (
°C)
tijdsmonster
0 100 200 300 400 500 60040
60
80
100
120
140
160
180
200
220
240
uitg
angs
tem
pera
tuur
(°C
)
tijdsmonster
reele temperatuurgesimuleerde temperatuur
0 100 200 300 400 500 6000
5
10
tijdsmonster
fout
in %
Figuur 5.4: Resultaten met de POD-methode voor 16 juli.
Zelfde opmerkingen voor de beginwaarden als bij de vorige figuur. Daarnaast is er ook een
Hoofdstuk 5. Methode II: Proper Orthogonal Decomposition 71
opmerkelijk grote fout te zien in de eerste helft van het experiment. De reden hiervoor wordt
later onderzocht. De tweede helft van de simulatie ziet er redelijk goed uit. De fout blijft
steeds een stuk onder de 5%.
5.3.3 28 juli
In figuur 5.5 worden de resultaten getoond van de simulatie van 28 juli.
0 100 200 300 400 500 600 700200
400
600
800
1000
zonl
icht
(W
/m²)
tijdsmonster0 100 200 300 400 500 600 700
0
5
10
debi
et (
l/s)
tijdsmonster
0 100 200 300 400 500 600 7000
50
100
150
200
inga
ngst
empe
ratu
ur (
°C)
tijdsmonster
0 100 200 300 400 500 600 7000
50
100
150
200
250
300
uitg
angs
tem
pera
tuur
(°C
)
tijdsmonster
reele temperatuurgesimuleerde temperatuur
0 100 200 300 400 500 600 7000
5
10
tijdsmonster
fout
in %
Figuur 5.5: Resultaten met de POD-methode voor 28 juli.
Opnieuw zijn er sterk afwijkende resultaten voor ruim de eerste helft van de simulatie, maar
dit wordt verderop onderzocht. In figuur 5.5 is ook te zien dat de simulator goed reageert
op een storing in de ingangstemperatuur. De daling in de werkelijke uitgangstemperatuur,
veroorzaakt door een daling in de ingangstemperatuur, is ook aanwezig in de gesimuleerde
uitgangstemperatuur (omcirkeld).
Hoofdstuk 5. Methode II: Proper Orthogonal Decomposition 72
5.3.4 Conclusies
Vooreerst is de POD-simulator veel sneller dan de vorige. Het duurt ongeveer 1 seconde om
alle berekeningen uit te voeren, terwijl de eerste simulator er ongeveer een halve minuut over
deed. Verder bleken de resultaten het best voor 15 juli. De fout bleef er telkens onder de
5%, behalve in het begin en op het einde. Er werden ook goede resultaten geboekt voor lage
waarden van het debiet, wat minder het geval was met de vorige simulator. Voor 16 en 28 juli
waren de resultaten van de simulator sterk afwijkend. Enkel voor de tweede helft van beide
experimenten was er een overeenkomst tussen de waarden berekend door de simulator en de
werkelijke waarden. De reden hiervoor is waarschijnlijk te wijten aan het feit dat de opwar-
ming van de olie via twee mechanismen afhankelijk is van het debiet. Een eerste mechanisme
is vrij logisch; hoe hoger het debiet hoe minder tijd de olie in de verhittingssectie doorbrengt
dus hoe minder de olie zal opwarmen. Hiermee wordt rekening gehouden in de POD-methode
via het gebruik van de substantiele afgeleide DDt . Deze houdt rekening met het debiet van de
olie. Een tweede mechanisme is minder voor de hand liggend en werd reeds aangehaald in het
opstellen van de eerste simulator. Daar werd een warmtetransfercoefficient Ht ingevoerd die
op een niet-lineaire manier afhankelijk was van het debiet. Deze kan beschouwd worden als
een convectiecoefficient: hoe sneller de olie langs de metalen wand van de pijpleiding vloeit,
hoe meer warmte de olie zal opnemen. Dit werd vergeleken met een ventilator die gebruikt
wordt om processors sneller af te koelen. Dit mechanisme heeft dus een omgekeerd effect op
de opwarming van de olie in vergelijking met het vorige mechanisme. In het toestandsmodel
dat werd opgesteld voor de tweede simulator werd de temperatuur van de metalen pijpleiding
niet gesimuleerd en ook de warmtetransfercoefficient Ht werd niet gedefinieerd. Aangezien
de POD-simulator opgesteld wordt uit het toestandsmodel, zal deze de parameter Ht ook
niet bevatten. Dus de gesimuleerde temperatuur zal bij lage debietwaarden waarschijnlijk te
hoog zijn. Dit kan een mogelijke verklaring zijn voor de afwijkingen in de eerste helft van de
simulaties van 16 en 28 juli.
Hoofdstuk 6
Besluit
In dit eindwerk werd op twee manieren een simulator ontworpen voor het ACUREX-veld op
het Plataforma Solar de Almeria. De eerste maakte gebruik van een gedistribueerd parameter
model met niet-uniforme tijdsmonsters. De reden voor het gebruik van niet-uniforme tijds-
monsters was het varierend debiet. Er werd vertrokken van twee vergelijkingen die enerzijds
de temperatuur van de metalen leiding en anderzijds de temperatuur van de olie bepaalden.
Er werden enkele vereenvoudigende veronderstellingen gemaakt om het model niet te com-
plex te maken. De resultaten bleken de werkelijkheid vrij goed te benaderen. Er was wel
telkens een probleem in het begin en op het eind van de simulatie. Het eerste probleem werd
toegeschreven aan het feit dat de initiele temperatuursdistributie in het systeem niet gekend
is. Het tweede probleem was een gevolg van het feit dat de spiegels op het einde van het
experiment naar beneden werden gericht. Verder leken er ook problemen op te treden bij lage
waarden van het debiet. De reden hiervoor is waarschijnlijk een slechte uitdrukking voor de
warmtetransfercoefficient Ht.
Een voordeel van de eerste methode is dat alle parameters een duidelijke fysische betekenis
hebben. Voor sommige diende de waarde op een experimentele manier bepaald te worden,
zoals voor Ht, Hl en de lengte van de afvoersectie.
Een nadeel van de eerste methode is dat het aantal berekeningen relatief groot is; het simuleren
van de gegevens van 15, 16 en 28 juli duurt gemiddeld ongeveer 30 s.
De tweede simulator steunde op POD-technieken. Deze maken gebruik van orthonormale
73
Hoofdstuk 6. Besluit 74
basisfuncties die de ruimtelijke distributie van een belangrijke parameter, in dit geval de
temperatuur, beschrijven. De basisfuncties worden vermenigvuldigd met tijdsafhankelijke
coefficienten om de tijdsafhankelijkheid van het systeem weer te geven. Er werd een discreet
toestandsmodel afgeleid uit de vergelijking van behoud van energie. Dit toestandsmodel le-
verde genoeg data om de basisfuncties te kunnen berekenen. Uit dit toestandsmodel konden
verder op een eenvoudige manier de tijdsafhanklijke coefficienten bepaald worden. De resul-
taten waren het best voor 15 juli. Er was telkens een goede overeenkomst tussen de werkelijk
en de gesimuleerde waarde, behalve in het begin en op het einde. De reden hiervoor is de-
zelfde als bij de vorige simulator. Voorts waren de resultaten ook goed voor lage waarden
van het debiet. Voor 16 en 28 juli daarentegen, bleek er slechts vanaf halverwege het ex-
periment een goede overeenkomst te bestaan tussen de resultaten van de simulator en de
werkelijke waarden. Een mogelijke oorzaak hiervan werd toegeschreven aan het ontbreken
van een niet-lineaire warmtetransfercoefficient Ht.
Een voordeel van deze methode is het lage aantal berekeningen. Daar vooral de eerste basis-
functies het meest representatief zijn voor de temperatuursdistributie in het systeem, moeten
ook enkel die in rekening gebracht worden. Het lage aantal berekeningen heeft als gevolg
dat de simulaties zeer snel kunnen gebeuren. Zo duurde het simuleren van de gegevens van
15, 16 en 28 juli gemiddeld ongeveer 1 s. Verder moeten de basisfuncties slechts eenmaal
berekend worden. Hiervoor wordt best gebruik gemaakt van gegevens verzameld tijdens een
experiment waarbij het systeem voldoende geexciteerd werd, bijvoorbeeld dat van 28 juli.
Een nadeel van de POD-methode is dat de simulator minder goed reageert op data van
twee van de drie testdagen. De simulator kan waarschijnlijk verbeterd worden door in het
toestandsmodel een warmtetransfercoefficient in te voeren die op een niet-lineaire manier van
het debiet afhangt.
Bijlage A
Dode tijden
In de onderstaande tabel staan de dode tijden die optreden in de verschillende leidingen van
de drie secties, voor alle waarden van het debiet. De waarden werden berekend via de formule
τ = 1000Vq met τ de dode tijd in s, V het volume in m3, q het debiet in l/s en 1000 een
omrekenfactor om het volume om te zetten van m3 naar l. Ze zijn dus niet experimenteel
maar theoretisch.
(s) Toevoersectie
debiet loop 1 loop 2 loop 3 loop 4 loop 5 loop 6 loop 7 loop 8 loop 9 loop 10
(l/s)
2 138 177 216 255 293 332 371 410 449 488
3 92 118 144 170 196 222 247 273 299 325
4 69 88 108 127 147 166 186 205 224 244
5 55 71 86 102 117 133 148 164 180 195
6 46 59 72 85 98 111 124 137 150 163
7 39 51 62 73 84 95 106 117 128 139
8 38 49 60 71 82 92 103 114 125 136
9 34 44 54 64 73 83 93 103 112 122
Tabel A.1: Dode tijden voor de toevoersectie.
75
Bijlage A. Dode tijden 76
De volumes van alle loops in de verhittingssectie zijn dezelfde. Daardoor is de dode tijd voor
elke loop ook dezelfde.
(s) Verhittingssectie
debiet loop i; i = 1...10
(l/s)
2 514
3 343
4 257
5 206
6 171
7 147
8 128
9 114
Tabel A.2: Dode tijden voor de verhittingssectie.
(s) Afvoersectie
debiet loop 1 loop 2 loop 3 loop 4 loop 5 loop 6 loop 7 loop 8 loop 9 loop 10
(l/s)
2 610 648 687 726 765 804 843 882 921 959
3 406 432 458 484 510 536 562 588 614 640
4 305 324 344 363 383 402 421 441 460 480
5 244 259 275 290 306 322 337 353 368 384
6 203 216 229 242 255 268 281 294 307 320
7 174 185 196 207 219 230 241 252 263 274
8 152 162 172 182 191 201 211 220 230 240
9 135 144 153 161 170 179 187 196 205 213
Tabel A.3: Dode tijden voor de afvoersectie.
Bijlage A. Dode tijden 77
Als laatste worden de dode tijden voor gans het systeem (toevoer-, verhittings- en afvoersectie
samen) gegeven per leiding.
(s) Toevoer-, verhittings- en afvoersectie
debiet loop 1 loop 2 loop 3 loop 4 loop 5 loop 6 loop 7 loop 8 loop 9 loop 10
(l/s)
2 1261 1339 1417 1495 1572 1650 1728 1806 1883 1961
3 841 893 945 996 1048 1100 1152 1204 1256 1307
4 631 670 708 747 786 825 864 903 942 981
5 505 536 567 598 629 660 691 722 753 784
6 420 446 472 498 524 550 576 602 628 654
7 360 383 405 427 449 471 494 516 538 560
8 315 335 354 374 393 413 432 451 471 490
9 280 298 315 332 349 367 384 401 419 436
Tabel A.4: Dode tijden voor gans het systeem.
Bijlage B
Wiskundige bijlage
B.1 Definities
Definitie B.1 Een deelverzameling V van een genormeerde lineaire vectorruimte is dicht in
χ als zijn compactum gelijk is aan χ. Dit betekent dat voor elk element f van χ een v ∈ V
gevonden kan worden, zodanig dat voor elke ε > 0 geldt dat ‖f − v‖ < ε.
Definitie B.2 Een genormeerde lineaire vectorruimte χ is separabel als het een aftelbaar
dichte deelverzameling bevat.
Een voorbeeld van een aftelbare verzameling is de verzameling van de gehele getallen en een
voorbeeld van een onaftelbare verzameling is de verameling van de reele getallen.
Definitie B.3 Een rij {fn}∞n=1 in een genormeerde ruimte χ is een Cauchy rij als
‖fn − fm‖χ → 0 voor n, m→∞
Definitie B.4 Een genormeerde, lineaire ruimt χ is compleet als elke Cauchy rij een opho-
pingspunt heeft in χ.
Definitie B.5 Een Hilbertruimte is een ruimte waarin het lineair product gedefinieerd is en
die compleet is.
78
Bijlage B. Wiskundige bijlage 79
B.2 Oplossing extremumprobleem
φ1 = maxφ1∈χ
⟨(T (k, t), φ1)2
⟩‖φ1‖2
(B.1)
Definieer om bovenstaand extremumprobleem op te lossen de volgende Lagrangiaan J(φ1)
met de Lagrangiaanse vermenigvuldiger λ1:
J(φ1) =⟨|T(t), φ1|2
⟩T− λ1
(‖φ1‖2 − 1
)(B.2)
Om het extremumprobleem op te lossen wordt gebruik gemaakt van variatierekening en wordt
φ1 vervangen door:
φ1 → φ1 + δψ, δ ∈ R; ψ ∈ χ
met ψ een arbitraire functie in de Hilbert ruimte χ.
Een voorwaarde opdat φ1 een extremum zou zijn van is dat:
d
dδJ(φ1 + δψ) |δ=0= 0 (B.3)
Vergelijking voluit schrijven levert:
d
dδJ(φ1 + δψ) |δ=0 =
d
dδ
[⟨| (T(t), φ1) |2
⟩T − λ1
(‖φ1‖2
χ − 1)]
=d
dδ
[⟨(T(t), φ1 + δψ)χ (T(t), φ1 + δψ)χ
⟩T
]− d
dδ
[λ1 (φ1 + δψ, φ1 + δψ)χ
]|δ=0 (B.4)
met (, )χ het inwendig product in de Hilbert ruimte χ. Vergelijking kan verder uitgewerkt
worden tot:
Bijlage B. Wiskundige bijlage 80
d
dδJ(φ1 + δψ) |δ=0 = − d
dδ[λ1 ((φ1, φ1) + (φ1, δψ) + (δψ, φ1) + (δψ, δψ))] |δ=0
+d
dδ[〈((T(t), φ1) + (T(t), δψ)) ((T(t), φ1) + (T(t), δψ))〉] |δ=0
=d
dδ〈(T(t), φ1) (T(t), φ1) + (T(t), φ1) (T(t), δψ) + (T(t), δψ) (T(t), φ1)〉 |δ=0
− d
dδλ1 ((φ1, φ1) + (φ1, δψ) + (δψ, φ1) + (δψ, δψ)) |δ=0
(B.5)
Door de termen die niet functie zijn van δ zoals (T(t), φ1), gelijk te stellen aan nul en door
alles te herschikken wordt volgende uitdrukking bekomen:
d
dψJ (φ1 + δψ) |δ=0= 2 〈(T(t), φ) (T(t), ψ)〉 − 2λ1 (φ1, ψ) (B.6)
Deze laatste variatie gelijkstellen aan nul levert de uitdrukking:
〈(T(t), φ1) (T(t), ψ)〉 − λ1 (φ1, ψ1) = 0 (B.7)
Gebruik makend van de commutativiteit van de operatoren 〈 〉 en (, ) vinden we:
(〈(T(t), φ1) (T(t))〉 − λ1φ1)ψ = 0 (B.8)
En omdat moet gelden voor elke willekeurige functie ψ geldt er:
〈(T(t), φ1) (T(t))〉 − λ1φ1 = 0
〈(T(t), φ1) (T(t))〉 = λ1φ1
(B.9)
Bijlage C
Figuren
C.1 Figuren bij hoofdstuk 4
In figuur C.1 (elk tijdsmonster meet 30s) is de oorzaak van het dipje in figuur zichtbaar. Er
is een grote daling merkbaar in de temperatuur op het eind van loop 9. Dit kan veroorzaakt
worden doordat de parabolische spiegels van deze loop gedurende enkele ogenblikken van de
zon werden weggedraaid.
81
Bijlage C. Figuren 82
0 50 100 150 200 250 300 350 400300
400
500
600
700
800
900
1000
zonl
icht
(W
/m²)
tijdsmonster0 50 100 150 200 250 300 350 400
0
2
4
6
8
10
debi
et (
l/s)
tijdsmonster
0 50 100 150 200 250 300 350 400120
130
140
150
160
inga
ngst
empe
ratu
ur (
°C)
tijdsmonster0 50 100 150 200 250 300 350 400
100
150
200
250
uitg
angs
tem
pera
tuur
(°C
)
tijdsmonster
reële temperatuur
Figuur C.1: Gegevens van 15 juli met i.h.b. rechtsonderaan het temperatuursverloop op het eind
van loop 9.
In figuur C.2 is de invloed van de ingangstemperatuur op de uitgangstemperatuur merkbaar.
Er is een plotse verlaging van de ingangtemperatuur rond het 310ste tijdsmonster (elk tijds-
monster meet 30s). Deze dip komt ook voor in de uitgangstemperatuur en kan niet te wijten
zijn aan een debietsverhoging aangezien het debiet gedurende dit tijdstip constant blijft. Het
minimum in de dip in de ingangstempetuur komt voor op het 318de tijdsmonster terwijl die
in de eindtemperatuur voorkomt op het 338ste tijdsmonster. Dit komt overeen met een dode
tijd van 20 30s = 600s. Deze waarde ligt tussen de dode tijd van loop 1 en loop 10 bij een
debiet van 5 l/s in tabel A.4.
Bijlage C. Figuren 83
0 100 200 300 400 500 600 700300
400
500
600
700
800
900
1000
zonl
icht
(W
/m²)
tijdsmonster0 100 200 300 400 500 600 700
0
2
4
6
8
10
debi
et (
l/s)
tijdsmonster
0 100 200 300 400 500 600 7000
50
100
150
200
inga
ngst
empe
ratu
ur (
°C)
tijdsmonster0 100 200 300 400 500 600 700
100
150
200
250
uitg
angs
tem
pera
tuur
(°C
)
tijdsmonster
Figuur C.2: Gegevens van 28 juli: invloed van de ingangstemperatuur.
In de twee onderstaande figuren is de invloed van Tklok te zien. In de eerste grafiek werd een
Tklok (en dus tijdsmonster) van 2 s gebruikt. Ter vergelijking werd in de figuur eronder een
Tklok (en dus tijdsmonter) van 1 s gebruikt.
Bijlage C. Figuren 84
0 2000 4000 6000 8000 10000400
600
800
1000
zonl
icht
(W
/m²)
tijdsmonster0 2000 4000 6000 8000 10000
0
5
10
debi
et (
l/s)
tijdsmonster
0 2000 4000 6000 8000 1000050
100
150
200
inga
ngst
empe
ratu
ur (
°C)
tijdsmonster
0 2000 4000 6000 8000 1000060
80
100
120
140
160
180
200
220
240
260
uitg
angs
tem
pera
tuur
(°C
)
tijdsmonster
reële temperatuurgesimuleerde temperatuur
0 2000 4000 6000 8000 100000
5
10
tijdsmonster
fout
in %
Figuur C.3: Gegevens van 16 juli met Tklok = 2s.
Bijlage C. Figuren 85
0 0.5 1 1.5 2
x 104
400
600
800
1000
zonl
icht
(W
/m²)
tijdsmonster0 0.5 1 1.5 2
x 104
0
5
10
debi
et (
l/s)
tijdsmonster
0 0.5 1 1.5 2
x 104
50
100
150
200
inga
ngst
empe
ratu
ur (
°C)
tijdsmonster
0 0.5 1 1.5 2
x 104
60
80
100
120
140
160
180
200
220
240
260
uitg
angs
tem
pera
tuur
(°C
)
tijdsmonster
reële temperatuurgesimuleerde temperatuur
0 0.5 1 1.5 2
x 104
0
5
10
tijdsmonster
fout
in %
Figuur C.4: Gegevens van 16 juli met Tklok = 1s.
In de volgende figuren zijn de resultaten van de simulator bekomen bij het testen van de data
van 15, 16 en 28 juli nog eens in het groot afgedrukt (tijdsmonster telkens 1 s).
Bijlage C. Figuren 86
020
0040
0060
0080
0010
000
1200
014
000
200
400
600
800
1000
zonlicht (W/m²)
tijds
mon
ster
020
0040
0060
0080
0010
000
1200
014
000
0510
debiet (l/s)
tijds
mon
ster
020
0040
0060
0080
0010
000
1200
014
000
120
130
140
150
160
ingangstemperatuur (°C)
tijds
mon
ster
020
0040
0060
0080
0010
000
1200
014
000
50100
150
200
250
Tgem (°C)
tijds
mon
ster
reël
e te
mpe
ratu
urge
sim
ulee
rde
tem
pera
tuur
020
0040
0060
0080
0010
000
1200
014
000
0510
tijds
mon
ster
fout in %
Figuur C.5: Resultaten voor de temperatuur in punt C op 15 juli.
Bijlage C. Figuren 87
020
0040
0060
0080
0010
000
1200
014
000
200
400
600
800
1000
zonlicht (W/m²)
tijds
mon
ster
020
0040
0060
0080
0010
000
1200
014
000
0510
debiet (l/s)
tijds
mon
ster
020
0040
0060
0080
0010
000
1200
014
000
120
130
140
150
160
ingangstemperatuur (°C)
tijds
mon
ster
020
0040
0060
0080
0010
000
1200
014
000
6080100
120
140
160
180
200
220
240
260
uitgangstemperatuur (°C)tij
dsm
onst
er
reël
e te
mpe
ratu
urge
sim
ulee
rde
tem
pera
tuur
020
0040
0060
0080
0010
000
1200
014
000
0510
tijds
mon
ster
fout in %
Figuur C.6: Resultaten voor de temperatuur in punt D op 15 juli met verbeterde lengte van de
afvoersectie.
Bijlage C. Figuren 88
00.
51
1.5
2
x 10
4
400
600
800
1000
zonlicht (W/m²)
tijds
mon
ster
00.
51
1.5
2
x 10
4
0510
debiet (l/s)
tijds
mon
ster
00.
51
1.5
2
x 10
4
50100
150
200
ingangstemperatuur (°C)
tijds
mon
ster
00.
51
1.5
2
x 10
4
50100
150
200
250
Tgem (°C)
tijds
mon
ster
reël
e te
mpe
ratu
urge
sim
ulee
rde
tem
pera
tuur
00.
51
1.5
2
x 10
4
0510
tijds
mon
ster
fout in %
Figuur C.7: Resultaten voor de temperatuur in punt C op 16 juli.
Bijlage C. Figuren 89
00.
51
1.5
2
x 10
4
400
600
800
1000
zonlicht (W/m²)
tijds
mon
ster
00.
51
1.5
2
x 10
4
0510
debiet (l/s)
tijds
mon
ster
00.
51
1.5
2
x 10
4
50100
150
200
ingangstemperatuur (°C)
tijds
mon
ster
00.
51
1.5
2
x 10
4
6080100
120
140
160
180
200
220
240
260
uitgangstemperatuur (°C)
tijds
mon
ster
reël
e te
mpe
ratu
urge
sim
ulee
rde
tem
pera
tuur
00.
51
1.5
2
x 10
4
0510
tijds
mon
ster
fout in %
Figuur C.8: Resultaten voor de temperatuur in punt D op 16 juli met verbeterde lengte van de
afvoersectie.
Bijlage C. Figuren 90
00.
51
1.5
22.
5
x 10
4
200
400
600
800
1000
zonlicht (W/m²)
tijds
mon
ster
00.
51
1.5
22.
5
x 10
4
0510
debiet (l/s)
tijds
mon
ster
00.
51
1.5
22.
5
x 10
4
050100
150
200
ingangstemperatuur (°C)
tijds
mon
ster
00.
51
1.5
22.
5
x 10
4
50100
150
200
250
Tgem (°C)
tijds
mon
ster
reël
e te
mpe
ratu
urge
sim
ulee
rde
tem
pera
tuur
00.
51
1.5
22.
5
x 10
4
0510
tijds
mon
ster
fout in %
Figuur C.9: Resultaten voor de temperatuur in punt C op 28 juli.
Bijlage C. Figuren 91
00.
51
1.5
22.
5
x 10
4
200
400
600
800
1000
zonlicht (W/m²)
tijds
mon
ster
00.
51
1.5
22.
5
x 10
4
0510
debiet (l/s)
tijds
mon
ster
00.
51
1.5
22.
5
x 10
4
050100
150
200
ingangstemperatuur (°C)
tijds
mon
ster
00.
51
1.5
22.
5
x 10
4
6080100
120
140
160
180
200
220
240
260
uitgangstemperatuur (°C)
tijds
mon
ster
reël
e te
mpe
ratu
urge
sim
ulee
rde
tem
pera
tuur
00.
51
1.5
22.
5
x 10
4
0510
tijds
mon
ster
fout in %
Figuur C.10: Resultaten voor de temperatuur in punt D op 28 juli met verbeterde lengte van de
afvoersectie.
Bijlage C. Figuren 92
C.2 Figuren bij hoofdstuk 5
In de volgende figuren zijn de resultaten van de simulator bekomen bij het testen van de data
van 15, 16 en 28 juli via de POD-methode nog eens in het groot afgedrukt.
Bijlage C. Figuren 93
050
100
150
200
250
300
350
400
200
400
600
800
1000
zonlicht (W/m²)
tijds
mon
ster
050
100
150
200
250
300
350
400
0510
debiet (l/s)
tijds
mon
ster
050
100
150
200
250
300
350
400
120
130
140
150
160
ingangstemperatuur (°C)
tijds
mon
ster
050
100
150
200
250
300
350
400
100
150
200
250
uitgangstemperatuur (°C)
tijds
mon
ster
reel
e te
mpe
ratu
urge
sim
ulee
rde
tem
pera
tuur
050
100
150
200
250
300
350
400
0510
tijds
mon
ster
fout in %
Figuur C.11: Resultaten voor de temperatuur op het eind van de afvoersectie op 15 juli via POD-
methode.
Bijlage C. Figuren 94
010
020
030
040
050
060
040
0
600
800
1000
zonlicht (W/m²)
tijds
mon
ster
010
020
030
040
050
060
00510
debiet (l/s)
tijds
mon
ster
010
020
030
040
050
060
05010
0
150
200
ingangstemperatuur (°C)
tijds
mon
ster
010
020
030
040
050
060
040608010
0
120
140
160
180
200
220
240
uitgangstemperatuur (°C)
tijds
mon
ster
reel
e te
mpe
ratu
urge
sim
ulee
rde
tem
pera
tuur
010
020
030
040
050
060
00510
tijds
mon
ster
fout in %
Figuur C.12: Resultaten voor de temperatuur op het eind van de afvoersectie op 16 juli via POD-
methode.
Bijlage C. Figuren 95
010
020
030
040
050
060
070
020
0
400
600
800
1000
zonlicht (W/m²)
tijds
mon
ster
010
020
030
040
050
060
070
00510
debiet (l/s)
tijds
mon
ster
010
020
030
040
050
060
070
0050100
150
200
ingangstemperatuur (°C)
tijds
mon
ster
010
020
030
040
050
060
070
0050100
150
200
250
300
uitgangstemperatuur (°C)
tijds
mon
ster
reel
e te
mpe
ratu
urge
sim
ulee
rde
tem
pera
tuur
010
020
030
040
050
060
070
00510
tijds
mon
ster
fout in %
Figuur C.13: Resultaten voor de temperatuur op het eind van de afvoersectie op 28 juli via POD-
methode.
Bijlage C. Figuren 96
In de volgende drie figuren worden de resultaten van het toestandsmodel met die van de
POD-methode vergeleken. De basisfuncties worden telkens berekend met de gegevens van de
overeenkomstige dag.
Bijlage C. Figuren 97
050
100
150
200
250
300
350
400
200
400
600
800
1000
zonlicht (W/m²)
tijds
mon
ster
050
100
150
200
250
300
350
400
0510
debiet (l/s)
tijds
mon
ster
050
100
150
200
250
300
350
400
120
130
140
150
160
ingangstemperatuur (°C)
tijds
mon
ster
050
100
150
200
250
300
350
400
120
140
160
180
200
220
240
260
uitgangstemperatuur (°C)
tijds
mon
ster
toes
tand
smod
elP
OD
050
100
150
200
250
300
350
400
0123
tijds
mon
ster
fout in %
Figuur C.14: Vergelijking van de resusultaten voor het toestandsmodel en de POD-methode voor
15 juli.
Bijlage C. Figuren 98
010
020
030
040
050
060
040
0
600
800
1000
zonlicht (W/m²)
tijds
mon
ster
010
020
030
040
050
060
00510
debiet (l/s)
tijds
mon
ster
010
020
030
040
050
060
05010
0
150
200
ingangstemperatuur (°C)
tijds
mon
ster
010
020
030
040
050
060
0608010
0
120
140
160
180
200
220
240
uitgangstemperatuur (°C)
tijds
mon
ster
toes
tand
smod
elP
OD
010
020
030
040
050
060
00
0.51
1.52
tijds
mon
ster
fout in %
Figuur C.15: Vergelijking van de resusultaten voor het toestandsmodel en de POD-methode voor
16 juli.
Bijlage C. Figuren 99
010
020
030
040
050
060
070
020
0
400
600
800
1000
zonlicht (W/m²)
tijds
mon
ster
010
020
030
040
050
060
070
00510
debiet (l/s)
tijds
mon
ster
010
020
030
040
050
060
070
0050100
150
200
ingangstemperatuur (°C)
tijds
mon
ster
010
020
030
040
050
060
070
0050100
150
200
250
300
uitgangstemperatuur (°C)
tijds
mon
ster
toes
tand
smod
elP
OD
010
020
030
040
050
060
070
00
0.51
1.5
tijds
mon
ster
fout in %
Figuur C.16: Vergelijking van de resusultaten voor het toestandsmodel en de POD-methode voor
28 juli.
Bijlage D
Matlabcode
100
Bijlage D. Matlabcode 101
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Auteur : Mathieu Vandenbulcke %% laatste versie : 06/06/2006 %% %% Dit programma simuleert de werking van het ACUREX-veld %% op het Plataforma Solar de Almeria. De simulator maakt %% gebruik van niet-uniforme tijdsmonsters. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% HET VOORAFGAANDE WERK %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%% De gegevens inladen %%%%%%%%%%%%%%%%%%%%%%%%
load(’data1507R’);load(’data1607R’);load(’data2807R’);data=data15R; %kies hier data15R, data16R of data28R voor de testdata
%van 15,16 of 28 juli
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Initialiseren van vectoren en %% waarden toekennen aan alle parameters %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
lengte=size(data);lengte=lengte(1,1);
T_klok=1; %in secondenV_segm=0.0077; %in m
V_temp=0;klok=0;
N=zeros(10,3);
aantal=9; %aantal operationele leidingen
1
Bijlage D. Matlabcode 102
r_inner=0.0318/2-0.00211; %straal binnenkant leiding in verhittingssectier_outer=0.0318/2; %straal buitenkant leiding in verhittingssectieR_inner=4*2.54/2*0.01; %straal binnenkant toever- en afvoersectierho_m=7850; %dichtheid metaal van de leidingc_m=419; %specifieke warmtecapaciteit metaal van leiding
TIJD=zeros(30/T_klok*lengte,1); %vector met verschillende t_k’sTa=zeros(lengte,1); %vector voor omgevingstemperatuurIrr=zeros(lengte,1); %vector voor zonlichtflow1=zeros(lengte,1); %vector voor debietV=zeros(9,3); %matrix voor volume van elke sectie
%De temperatuursbereiken van de verschillende loops%worden bewaard voor het berekenen van de fout:maxwaarde=max(data);minwaarde=min(data);bereik2=maxwaarde(7)-minwaarde(7); %temperatuursbereik loop 2bereik3=maxwaarde(8)-minwaarde(8); %temperatuursbereik loop 3bereik4=maxwaarde(9)-minwaarde(9); %temperatuursbereik loop 4bereik5=maxwaarde(10)-minwaarde(10); %temperatuursbereik loop 5bereik6=maxwaarde(11)-minwaarde(11); %temperatuursbereik loop 6bereik7=maxwaarde(12)-minwaarde(12); %temperatuursbereik loop 7bereik8=maxwaarde(13)-minwaarde(13); %temperatuursbereik loop 8bereik9=maxwaarde(14)-minwaarde(14); %temperatuursbereik loop 9bereik10=maxwaarde(15)-minwaarde(15); %temperatuursbereik loop 10bereik11=maxwaarde(4)-minwaarde(4); %temperatuursbereik in punt D
%vector voor het opslaan van de werkelijke%temperatuur van de olie aan het begin%van de toeversectie:Tin=zeros(30/T_klok*lengte,1);
%vector voor het opslaan van de berekende%temperatuur op het eind van de toevoersectie:T1=zeros(30/T_klok*lengte,1);
%vectoren voor het opslaan van de werkelijke%temperatuur van de olie in de verhittingssectie:T2echt=zeros(30/T_klok*lengte,1);T3echt=zeros(30/T_klok*lengte,1);T4echt=zeros(30/T_klok*lengte,1);T5echt=zeros(30/T_klok*lengte,1);T6echt=zeros(30/T_klok*lengte,1);T7echt=zeros(30/T_klok*lengte,1);T8echt=zeros(30/T_klok*lengte,1);
2
Bijlage D. Matlabcode 103
T9echt=zeros(30/T_klok*lengte,1);T10echt=zeros(30/T_klok*lengte,1);
%vector voor het opslaan van de berekende%temperatuur van de olie in de verhittingssectie:T2=zeros(30/T_klok*lengte,9,50);
%vector voor het opslaan van de berekende%temperatuur van het metaal in de verhittingssectie:Tm=zeros(30/T_klok*lengte,9,50);
%vector voor het opslaan van de werkelijke%temperatuur op het eind van de avoersectie:Toutecht=zeros(30/T_klok*lengte,1);
%vectoren om de fout tussen de werkelijke en berekende%temperatuur op het einde van de verhittings- en op het%einde van de afvoersectie te berekenen:fout22=zeros(30/T_klok*lengte,1);fout23=zeros(30/T_klok*lengte,1);fout24=zeros(30/T_klok*lengte,1);fout25=zeros(30/T_klok*lengte,1);fout26=zeros(30/T_klok*lengte,1);fout27=zeros(30/T_klok*lengte,1);fout28=zeros(30/T_klok*lengte,1);fout29=zeros(30/T_klok*lengte,1);fout210=zeros(30/T_klok*lengte,1);foutTout=zeros(30/T_klok*lengte,1);foutTCavg=zeros(30/T_klok*lengte,1);
%vectoren voor het opslaan van de werkelijke en berekende%gemiddelde olietemperatuur op het einde van de verhittingssectie:TCavg_echt=zeros(30/T_klok*lengte,1);TCavg=zeros(30/T_klok*lengte,1);
%vectoren voor het opslaan van de berekende%temperaturen op het eind van de afvoersectie:Touter=zeros(30/T_klok*lengte,1);Tout=zeros(30/T_klok*lengte,9);
%variaIrrplot=zeros(30/T_klok*lengte,1);F=zeros(30/T_klok*lengte,1);
3
Bijlage D. Matlabcode 104
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Berekenen van de volumes van elke %% leiding in elk van de drie secties: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for k=1:3for j=1:aantal
if k==1V(j,k)=(R_inner^2)*pi*(35.12+(j)*9.9)/aantal;
endif k==2
V(j,k)=(r_inner^2)*pi*172;endif k==3
V(j,k)=(R_inner^2)*pi*(155.23+(j)*9.9)/aantal;% met 155.23 de experimenteel berekende lengte
endend
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Berekenen hoeveel V_segm in elke %% leiding van elke sectie gaat: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for j=1:aantalN(j,1)=round(V(j,1)/V_segm);N(j,2)=round(V(j,2)/V_segm);N(j,3)=round(V(j,3)/V_segm);
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Om de 30 s worden nieuwe waarden van de %% data ingelezen %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for i=1:lengte
4
Bijlage D. Matlabcode 105
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% De werkelijke gegevens worden gestockeerd %% in de overeenkomstige vectoren. %% Gezien de data slechts om de 30 s werd gemeten %% en de klok van het programma een periode T_klok %% heeft, wordt er een zero-order hold toegpast. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for s=1+30/T_klok*(i-1):30/T_klok*iTin(s,1)=data(i,3);T2echt(s,1)=data(i,7);T3echt(s,1)=data(i,8);T4echt(s,1)=data(i,9);T5echt(s,1)=data(i,10);T6echt(s,1)=data(i,11);T7echt(s,1)=data(i,12);T8echt(s,1)=data(i,13);T9echt(s,1)=data(i,14);T10echt(s,1)=data(i,15);
% Het gemiddelde van de werkelijk temperaturen op het% einde van de verhittingssectie wordt berekend:TCavg_echt(s,1)=(T2echt(s,1)+T3echt(s,1)+T4echt(s,1)+T5echt(s,1)
+T6echt(s,1)+T7echt(s,1)+T8echt(s,1)+T9echt(s,1)+T10echt(s,1))/9;
%variaToutecht(s,1)=data(i,4);Irrplot(s,1)=data(i,6);F(s,1)=data(i,2);
end
%variaTa(i,1)=data(i,5);flow1(i,1)=data(i,2)/(aantal*1000); %omzetten naar m/s en delen door
%aantal leidingenIrr(i,1)=data(i,6);
%%%%%%%%%%%%%%%%%%%%%%%%%% De tijdsiteratie die %% verspringt met T_klok %%%%%%%%%%%%%%%%%%%%%%%%%%
5
Bijlage D. Matlabcode 106
for s=1+30/T_klok*(i-1):30/T_klok*i
%Berekening van de t_k’s:V_temp=V_temp+flow1(i,1)*T_klok;if V_temp>V_segm
klok=klok+1;V_temp=0;TIJD(klok,1)=s;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% De berekening van de temperatuur op %% het eind van de toevoersectie %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for n=1:aantalif klok<=N(n,1)
T1(s,n)=Tin(1,1); %beginvoorwaarden invullenelse
T1(s,n)=Tin(TIJD(klok-N(n,1)),1);end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% De berekening van de temperatuur %% in de verhittingssectie %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for n=1:aantalepsilon=0.7;A_mirr=5.42*6*8/N(n,2);G_s=(2*r_outer*pi*172/N(n,2));A_mf=2*r_inner*172*pi/N(n,2);V_m=(r_outer^2-r_inner^2)*pi*172/N(n,2);V_f=r_inner^2*pi*172/N(n,2);H_l=29;for k=1:N(n,2)
if s==1H_t=1/pi*(2.17*10^6-5.01*10^4*Tin(1,1)
+4.53*10^2*Tin(1,1)^2-1.64*Tin(1,1)^3+2.1*10^(-3)*Tin(1,1)^4)*(flow1(i,1)^0.8);%beginwaarde
elseH_t=1/pi*(2.17*10^6-5.01*10^4*T2(s-1,n,k)
+4.53*10^2*T2(s-1,n,k)^2-1.64*T2(s-1,n,k)^3+2.1*10^(-3)*T2(s-1,n,k)^4)*(flow1(i,1)^0.8);
end
6
Bijlage D. Matlabcode 107
if (klok==0)||(klok==1)Tm(s,n,k)=Tin(1,1); %beginwaarden invullenT2(s,n,k)=Tin(1,1); %beginwaarden invullen
elsedelta_t=(TIJD(klok,1)-TIJD(klok-1,1))*T_klok;
%randvoorwaarden invullenif k==1
rho_f=903-0.672*(T1(TIJD(klok-1),n));c_f=1820+3.478*(T1(TIJD(klok-1),n));
Tm(s,n,k)=Tm(TIJD(klok-1),n,k)+delta_t/(rho_m*c_m*V_m)*(epsilon*A_mirr*Irr(i,1)-H_l*G_s*(Tm(TIJD(klok-1),n,k)-Ta(i,1))-H_t*A_mf*(Tm(TIJD(klok-1),n,k)-T1(TIJD(klok-1),n)));
T2(s,n,k)=T1(TIJD(klok-1),n)+delta_t/(rho_f*c_f*V_f)*H_t*A_mf*(Tm(TIJD(klok-1),n,k)-T1(TIJD(klok-1),n));
%berekening van de temperaturen in het metaal%en de olie in de verhittingssectie:else
rho_f=903-0.672*(T2(TIJD(klok-1),n,k-1));c_f=1820+3.478*(T2(TIJD(klok-1),n,k-1));
Tm(s,n,k)=Tm(TIJD(klok-1),n,k)+delta_t/(rho_m*c_m*V_m)*(A_mirr*epsilon*Irr(i,1)-H_l*G_s*(Tm(TIJD(klok-1),n,k)-Ta(i,1))-A_mf*H_t*(Tm(TIJD(klok-1),n,k)-T2(TIJD(klok-1),n,k)));
T2(s,n,k)=T2(TIJD(klok-1),n,k-1)+delta_t/(rho_f*c_f*V_f)*A_mf*H_t*(Tm(TIJD(klok-1),n,k-1)-T2(TIJD(klok-1),n,k-1));
endend
end
end
7
Bijlage D. Matlabcode 108
%Het gemiddelde van de berekende waarden op%het einde van de verhittingssecties berekenen:for n=1:aantal
TCavg(s,1)=TCavg(s,1)+T2(s,n,N(n,2));endTCavg(s,1)=TCavg(s,1)/aantal;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% De berekening van de temperatuur %% op het eind van de afvoersectie %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for n=1:aantalif klok<=N(n,3)+1
Tout(s,n)=Tin(1,1); %beginwaarden invullenelse
Tout(s,n)=T2(TIJD(klok-N(n,3)),n,N(n,2));end
end
%Het gemiddelde nemen van%alle temperaturen op einde%van de afvoersectie:for n=1:9
Touter(s,1)=Touter(s,1)+Tout(s,n);endTouter(s,1)=Touter(s,1)/aantal;
%foutenvectoren voor elke loop afzonderlijk:%fout22(s,1)=100*abs(T2echt(s,1)-T2(s,1,N(1,2)))/bereik2;%fout23(s,1)=100*abs(T3echt(s,1)-T2(s,2,N(2,2)))/bereik3;%fout24(s,1)=100*abs(T4echt(s,1)-T2(s,3,N(3,2)))/bereik4;%fout25(s,1)=100*abs(T5echt(s,1)-T2(s,4,N(4,2)))/bereik5;%fout26(s,1)=100*abs(T6echt(s,1)-T2(s,5,N(5,2)))/bereik6;%fout27(s,1)=100*abs(T7echt(s,1)-T2(s,6,N(6,2)))/bereik7;%fout28(s,1)=100*abs(T8echt(s,1)-T2(s,7,N(7,2)))/bereik8;%fout29(s,1)=100*abs(T9echt(s,1)-T2(s,8,N(8,2)))/bereik9;%fout210(s,1)=100*abs(T10echt(s,1)-T2(s,9,N(9,2)))/bereik10;
%foutvector voor de gemiddelde temperatuur op het einde%van de verhittingssectie:foutTCavg(s,1)=100*abs(TCavg_echt(s,1)-TCavg(s,1));
%foutenvector voor de temperatuur op het einde
8
Bijlage D. Matlabcode 109
%van de afvoersectie:foutTout(s,1)=100*abs(Toutecht(s,1)-Touter(s,1))/bereik11;
end
end
%%%%%%%%%%%%%%%%%%%%%%% De figuren plotten %%%%%%%%%%%%%%%%%%%%%%%
%figure;%hold on;
%plot(F,’m’)%plot(tt1,’r’)%plot(Tin,’c’)%plot(Irrplot,’y’)
%plot(T2echt,’r’)%plot(T3echt,’r’)%plot(T4echt,’r’)%plot(T5echt,’r’)%plot(T6echt,’r’)%plot(T7echt,’r’)%plot(T8echt,’r’)%plot(T9echt,’r’)%plot(T10echt,’r’)%plot(TCavg_echt,’r’)%plot(Toutecht,’k’)
%plot(T2(s,1,N(1,2)))%plot(T2(s,2,N(2,2)))%plot(T2(s,3,N(3,2)))%plot(T2(s,4,N(4,2)))%plot(T2(s,5,N(5,2)))%plot(T2(s,6,N(6,2)))%plot(T2(s,7,N(7,2)))%plot(T2(s,8,N(8,2)))%plot(T2(s,9,N(9,2)))%plot(TCavg)
%plot(Tm(s,1,N(1,2)),’k’)%plot(Tm(s,2,N(2,2)),’k’)
9
Bijlage D. Matlabcode 110
%plot(Tm(s,3,N(3,2)),’k’)%plot(Tm(s,4,N(4,2)),’k’)%plot(Tm(s,5,N(5,2)),’k’)%plot(Tm(s,6,N(6,2)),’k’)%plot(Tm(s,7,N(7,2)),’k’)%plot(Tm(s,8,N(8,2)),’k’)%plot(Tm(s,9,N(9,2)),’k’)
%plot(Touter/aantal,’b’);ylabel(’C’)
%plot(fout22)%plot(fout23)%plot(fout24)%plot(fout25)%plot(fout26)%plot(fout27)%plot(fout28)%plot(fout29)%plot(fout210)
%hold off
%figure;%subplot(3,2,1);plot(Irrplot,’b’);ylabel(’zonlicht (W/m)’);xlabel(’tijdsmonster’)
%subplot(3,2,2);plot(F,’b’);ylabel(’debiet (l/s)’);xlabel(’tijdsmonster’);ylim([0,10]);
%subplot(3,2,3);plot(Tin,’b’);ylabel(’ingangstemperatuur (C)’);xlabel(’tijdsmonster’)
%subplot(3,2,[4 6]);hold on;plot(TCavg_echt,’r’);plot(TCavg,’b’);ylabel(’T_g_e_m (C)’);ylim([20,260]);xlabel(’tijdsmonster’);hold off;legend(’reele temperatuur’,’gesimuleerde temperatuur’,’Location’,’SouthEast’);
%subplot(3,2,5);hold on;plot(foutTCavg/(max(TCavg_echt)-min(TCavg_echt)),’b’);plot(5*ones(30/T_klok*lengte,1),’k’);xlabel(’tijdsmonster’);ylabel(’fout in %’);ylim([0,10]);hold off;
%figure;%subplot(2,1,1);hold on;plot(TCavg,’k’);plot(TCavg_echt,’r’);ylabel(’TC average(C)’);ylim([160,260]);xlabel(’timesamples’);hold off
10
Bijlage D. Matlabcode 111
%subplot(2,1,2);hold on;plot(foutTCavg/(max(TCavg_echt)-min(TCavg_echt)),’k’);plot(5*ones(30/T_klok*lengte,1),’r’);ylabel(’error in %’);ylim([0,10]);hold off;
%figure;%subplot(3,2,1);plot(Irrplot,’b’);ylabel(’zonlicht (W/m)’);xlabel(’tijdsmonster’)
%subplot(3,2,2);plot(F,’b’);ylabel(’debiet (l/s)’);xlabel(’tijdsmonster’);ylim([0,10]);
%subplot(3,2,3);plot(Tin,’b’);ylabel(’ingangstemperatuur (C)’);xlabel(’tijdsmonster’)
%subplot(3,2,[4 6]);hold on;plot(Toutecht,’r’);plot(Touter,’b’);ylabel(’uitgangstemperatuur (C)’);ylim([60,260]);xlabel(’tijdsmonster’);hold off;legend(’reele temperatuur’,’gesimuleerde temperatuur’,’Location’,’SouthEast’);
%subplot(3,2,5);hold on;plot(foutTout,’b’);plot(5*ones(30/T_klok*lengte,1),’k’);xlabel(’tijdsmonster’);ylabel(’fout in %’);ylim([0,10]);hold off;
%figure;%subplot(2,1,1);hold on;plot(Touter,’b’);plot(Toutecht,’r’);ylabel(’Tout(C)’);xlabel(’samples’);ylim([180,250]);hold off;
%subplot(2,1,2);hold on;plot(foutTout,’b’);plot(5*ones(30/T_klok*lengte,1),’r’);ylabel(’error in %’);hold off;
%figure;%subplot(4,1,[1 2]);hold on;plot(Toutecht,’r’);plot(Touter,’b’);ylabel(’outlet temperature (C)’);ylim([100,250]);xlabel(’time(s)’);hold off;legend(’real temperature’,’simulated temperature’,’Location’,’SouthEast’);
%subplot(4,1,3);plot(F,’b’);ylabel(’flow (l/s)’);xlabel(’time (s)’);ylim([0,10]);
%subplot(4,1,4);hold on;plot(foutTout,’b’);plot(5*ones(30/T_klok*lengte,1),’k’);xlabel(’time (s)’);ylabel(’error in %’);ylim([0,10]);hold off;
11
Bijlage D. Matlabcode 112
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Auteur : Mathieu Vandenbulcke %% laatste versie : 06/06/2006 %% %% Dit programma simuleert de werking van het ACUREX-veld %% op het Plataforma Solar de Almeria. De simulator maakt %% gebruik van POD-technieken. %% %% Nota: Om dit programma te kunnen gebruiken dient de %% file ’berekenbasis2.m’ zich in dezelfde directory als %% deze file te bevinden. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all;
load (’data1507R’); % data inladen van 15 juliload (’data1607R’); % data inladen van 16 juliload (’data2807R’); % data inladen van 28 juli
%%%%%%%%%%%%%%%%%%%% INPUT: %% vul de gewenste %% waarden in %%%%%%%%%%%%%%%%%%%%
par1=1; % ’fine tuning’ parameter 1
par2=0.51; % ’fine tuning’ parameter 2
data=data28R; % selecteer de gewenste data% (data15R, data16R of data28R)
dag=3; % dag waarop je de basisfuncties% wil berekenen (1=15 juli,2=16 juli% 3=28 juli)
begin=1; % simulatie wordt gestart op dit% tijdsmonster
einde=length(data); % simulatie wordt beeindigd op dit% tijdsmonster
Nref=1 ; % aantal keer dat je het tijdsegment van% de data (30s) wil verfijnen
1
Bijlage D. Matlabcode 113
dx=25; % ruimtelijke stap in meter
n=12; % aantal basisfuncties die% gebruikt moeten worden
%%%%%%%%%%%%%% PROGRAMMA %%%%%%%%%%%%%%nr_of_loop=6; % er wordt gesteund op de eigenschappen
% van loop 6
N=einde-begin; % aantal tijdstappen
N2=Nref*N; % aantal tijdstappen na verfijning
L1=35.12+(nr_of_loop-1)*9.9; % lengte van de toevoersectieL1_apt=L1*(0.1016/2)^2/9*1/(0.02969/2)^2;
% lengte van de toevoersectie, na% aanpassing van de diameter
L2=172; % lengte van de verhittingssectie
L3=155.23+(nr_of_loop-1)*9.9; % lengte van de afvoersectieL3_apt=L3*(0.1016/2)^2/9*1/(0.02969/2)^2;
% lengte van de afvoersectie, na% aanpassing van de diameter
dt=(30*N)/N2; % tijdstap
M1=round(L1_apt/dx); % aantal segmenten in toevoersectieM2=round(L2/dx); % aantal segmenten in verhittingssectieM3=round(L3_apt/dx); % aantal segmenten in afvoersectie
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% de data aanpassen aan de verfijnde tijdstap %% via een zero-order hold %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for i=1:Nfor s=(i-1)*Nref+1:i*Nref
flow(s,1)=data(begin+i-1,2)/(1000); % debietirr(s,1)=data(begin+i-1,6); % zonlichtTin(s,1)=data(begin+i-1,3); % ingangstemperatuur
2
Bijlage D. Matlabcode 114
Tout_real(s,1)=data(begin+i-1,4); % uitgangstemperatuurTendloopi(s,1)=data(begin+i-1,nr_of_loop+5);
% temperatuur op einde% van gebruikte loop
endend
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% tijdsonafhankelijk parameters %% definieren %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
rho_f=903-0.672*250; % dichtheid van de olieL=0.029; % binnendiameter verhitt.sect.
V1=(L/2)^2*pi*9*L1_apt; % totaal volume toevoersectieV2=(L/2)^2*pi*9*L2; % totaal volume verhitt. sectieV3=(L/2)^2*pi*9*L3_apt; % totaal volume afvoer sectie
c_f=1820+3.478*250; % warmtecapaciteit olieeff=0.69; % reflectiecoeff. spiegelsG=9*5.42*8*6; % volledige apertuur spiegels
c1=eff*G;
c21=rho_f*c_f*L1_apt;c22=rho_f*c_f*L2;c23=rho_f*c_f*L3_apt;
c31=rho_f*c_f*V1;c32=rho_f*c_f*V2;c33=rho_f*c_f*V3;
%%%%%%%%%%%%%%%%%%%%%%%% POD-basis berekenen %%%%%%%%%%%%%%%%%%%%%%%%
phi=berekenbasis2(dag,dx,nr_of_loop,L1_apt,L2,L3_apt,M1,M2,M3,par1,par2);
phi_n=phi(:,1:n); % getrunceerde set basisfuncties
3
Bijlage D. Matlabcode 115
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% berekening van de tijdsaf- %% hankelijk coefficienten a_i(t) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
a(1:n,1)=phi_n’*ones(M1+M2+M3,1)*data(1,3);% als temperatuursdistributie% op het eerste tijdstip wordt% de ingangstemperatuur op het% eerste tijdstip gekozen
for k=2:N2
a11=par1*(c21*dt/(c31*dx)*flow(k-1));a12=par1*(c22*dt/(c32*dx)*flow(k-1));a13=par1*(c23*dt/(c33*dx)*flow(k-1));
a2=par2*(-c1*dt/c32);
for i=1:M1+M2+M3 % opvullen van de matrix Aif i<=M1
A(i,i)=1+a11;if (i>1)
A(i,i-1)=-a11;end
elseif (i>M1)&&(i<=M2)A(i,i)=1+a12;A(i,i-1)=-a12;
elseif (i>M2)A(i,i)=1+a13;A(i,i-1)=-a13;
endend
A_inv=inv(A); % inverse van A berekenenB=phi_n’*A_inv*phi_n; % matrix B berekenenD=phi_n’*A_inv; % matrix D berekenen
a(1:n,k)=B*a(1:n,k-1)+D*([a11*Tin(k-1,1);zeros(M1+M2+M3-1,1)]-[zeros(M1,1);ones(M2,1)*a2*irr(k-1,1);zeros(M3,1)]);
end
4
Bijlage D. Matlabcode 116
T_POD=phi_n*a; % Temperatuur berekenen met% POD-methode
%%%%%%%%%%%%%%%%%%% fout berekenen %%%%%%%%%%%%%%%%%%%
bovengrens=max(Tout_real(:,1));ondergrens=min(Tout_real(:,1));
fout=abs(Tout_real(:,1)-T_POD(M1+M2+M3,:)’)/(bovengrens-ondergrens)*100;
FOUT=sum(fout)/(N2);
%%%%%%%%%%%%%%%%%%%% figuren plotten %%%%%%%%%%%%%%%%%%%%
figure;subplot(3,2,1);plot(irr,’b’);ylabel(’zonlicht (W/m)’);xlabel(’tijdsmonster’);
subplot(3,2,2);plot(1000*flow,’b’);ylabel(’debiet (l/s)’);xlabel(’tijdsmonster’);ylim([0,10]);
subplot(3,2,3);plot(Tin,’b’);ylabel(’ingangstemperatuur (C)’);xlabel(’tijdsmonster’)
subplot(3,2,[4 6]);hold on;plot(Tout_real,’r’);plot(T_POD(M1+M2+M3,:),’b’);ylabel(’uitgangstemperatuur (C)’);xlabel(’tijdsmonster’);hold off;legend(’reele temperatuur’,’gesimuleerde temperatuur’,’Location’,’SouthEast’);
subplot(3,2,5);hold on;plot(fout,’b’);plot(5*ones(length(fout),1),’k’);xlabel(’tijdsmonster’);ylabel(’fout in %’);ylim([0,10]);hold off;
5
Bijlage D. Matlabcode 117
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Auteur : Mathieu Vandenbulcke %% laatste versie : 06/06/2006 %% %% Dit programma simuleert de werking van het ACUREX-veld %% op het Plataforma Solar de Almeria. De simulator maakt %% gebruik van POD-technieken. %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [phi]=berekenbasis2(dag,dx,nr_of_loop,L1_apt,L2,L3_apt,M1,M2,M3,par1,par2)
load (’data1507R’); % data inladen van 15 juliload (’data1607R’); % data inladen van 16 juliload (’data2807R’); % data inladen van 28 juli
if dag==1data=data15R; % POD-basis berekenen uit
end % gegevens 15 juli
if dag==2data=data16R; % POD-basis berekenen uit
end % gegevens 16 juli
if dag==3data=data28R; % POD-basis berekenen uit
end % gegevens 28 juli
%%%%%%%%%%%%%%%%%%%% INPUT: %% vul de gewenste %% waarden in %%%%%%%%%%%%%%%%%%%%
begin=1; % simulatie wordt gestart op dit% tijdsmonster
einde=length(data); % simulatie wordt beeindigt op dit% tijdsmonster
Nref=1 ; % aantal keer dat het het tijdsegment van% de data (30s) wil verfijnen
1
Bijlage D. Matlabcode 118
%%%%%%%%%%%%%% PROGRAMMA %%%%%%%%%%%%%%
N=einde-begin; % aantal tijdstappen
N2=Nref*N; % aantal tijdstappen na verfijning
dt=(30*N)/N2; % tijdstap
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% de data aanpassen aan de verfijnde tijdstap %% via een zero-order hold %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for i=1:Nfor s=(i-1)*Nref+1:i*Nref
flow(s,1)=data(begin+i-1,2)/(1000); % debietirr(s,1)=data(begin+i-1,6); % zonlichtTin(s,1)=data(begin+i-1,3); % ingangstemperatuurTout_real(s,1)=data(begin+i-1,4); % uitgangstemperatuurTendloopi(s,1)=data(begin+i-1,nr_of_loop+5);
% temperatuur op einde% van gebruikte loop
endend
for i=1:M1+M2+M3u(i,1)=data(begin,3); % temperatuursdistributie op
% tijdstip 1 is onbekend en wordt% gelijkgesteld aan ingangstemp.% op tijdstip 1
end
rho_f=903-0.672*250; % dichtheid van de olieL=0.029; % binnendiameter verhitt.sect.
V1=(L/2)^2*pi*9*L1_apt; % totaal volume toevoersectieV2=(L/2)^2*pi*9*L2; % totaal volume verhitt. sectieV3=(L/2)^2*pi*9*L3_apt; % totaal volume afvoer sectie
2
Bijlage D. Matlabcode 119
c_f=1820+3.478*250; % warmtecapaciteit olieeff=0.69; % reflectiecoeff. spiegelsG=9*5.42*8*6; % volledige apertuur spiegels
c1=eff*G;
c21=rho_f*c_f*L1_apt;c22=rho_f*c_f*L2;c23=rho_f*c_f*L3_apt;
c31=rho_f*c_f*V1;c32=rho_f*c_f*V2;c33=rho_f*c_f*V3;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% berekenen van de temperatuursdistributie %% in het systeem op de verschillende tijdstippen %% door middel van discreet toestandsmodel %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for k=2:N2
a11=par1*(c21*dt/(c31*dx)*flow(k-1));a12=par1*(c22*dt/(c32*dx)*flow(k-1));a13=par1*(c23*dt/(c33*dx)*flow(k-1));
a2=par2*(-c1*dt/c32);
for i=1:M1+M2+M3 % opvullen van de matrix Aif i<=M1
A(i,i)=1+a11;if (i>1)
A(i,i-1)=-a11;end
elseif (i>M1)&&(i<=M2)A(i,i)=1+a12;A(i,i-1)=-a12;
elseif (i>M2)A(i,i)=1+a13;A(i,i-1)=-a13;
endend
3
Bijlage D. Matlabcode 120
b=[a11*Tin(k-1,1);zeros(M1+M2+M3-2,1);0]+u(1:M1+M2+M3,k-1)-[zeros(M1,1);ones(M2,1)*a2*irr(k-1,1);zeros(M3,1)];
u(1:M1+M2+M3,k)=trid(A,b);
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%% berekenen basisfuncties %%%%%%%%%%%%%%%%%%%%%%%%%%%%
C=1/N2*u*u’; % correlatie matrix[V W]=eig(C); % eigenwaardendecompositie
for i=1:M1+M2+M3lambda(i,1)=real(W(i,i)); % door numerieke fouten durven
end % er al eens complexe eigenwaarden% te ontstaan, wat niet kan, aan-% gezien C reeel symmetrisch is
phi=real(V); % zelfde opmerking voor% eigenvectoren
4
Bibliografie
[1] E.F. Camacho, M. Berenguel, and F.R. Rubio. Advanced control of solar power plants.
1997.
[2] Tor A. Johansen and Camilla Storaa. An internal energy controller for distributed solar
collector fields. Improving human potential programme, proceedings of the 2nd users
workshop, pages 111–117, February 2002.
[3] E.F. Camacho, M. Berenguel, and F.R. Rubio. Simulation software package for the
ACUREX field. Springer.
[4] Tor A. Johansen and Camilla Storaa. Energy-based control of a distributed solar collector
field.
[5] Michaela Sbarciog, Bart Wyns, Clara Ionescu, Robin De Keyser, and Luc Boullart.
Neural network models for a solar power plant.
[6] Clara Ionescu, Bart Wyns, Mihaela Sbarciog, Luc Boullart, and Robin De Keyser. Com-
parison between physical modelling and neural network modelling of a solar power plant.
[7] C. Pereira and A. Dourade. Application of a neuro-fuzzy network with support vector
learning to a solar power plant. Improving human potential programma, proceedings of
the 2nd users workshop, pages 71–78, February 2002.
[8] Y. C. Liang, H. P. Lee, S. P. Lim, W. Z. Lin, K. H. Lee, and C. G. Wu. Proper
orthogonal decomposition and its applications-part i: Theory. Journal of Sound and
Vibration, 252(3):527–544, 2002.
121
Bibliografie 122
[9] Y. C. Liang, W. Z. Lin, H. P. Lee, S. P. Lim, K. H. Lee, and H. Sun. Proper orthogonal
decomposition and its applications-part ii: Model reduction for mems dynamical analysis.
Journal of Sound and Vibration, 256(3):515–532, December 2002.
[10] Anindya Chatterjee. An introduction to proper orthogonal decomposition, December
1999.
[11] Patricia Astrid. Reduction of Process Simulation Models: a proper orthogonal decompo-
sition approach. PhD thesis, Technische Universiteit Eindhoven, November 2004.
[12] R. N. Silva, L. M. Rato, and J.M. Lemos. Observer based time warped control of
distributed collector solar fields. Improving human potential programma, proceedings of
the 2nd users workshop, pages 103–110, February 2002.
[13] Oscar Mauricio Agudelo Mannozca. Control of the temperature profile of an one-
dimensional bar using a pod approach. presentation, January 2006.
[14] James R. Welty, Charles E. Wicks, Robert E. Wilson, and Gregory Rorrer. Fundamentals
of Momentum, Heat and Mass Transfer.
[15] Yang, Cao, Chung, and Morris. Applied Numerical Methods Using Matlab. John Wiley
& Sons Inc, 2005.