Technische Universiteit Delft Faculteit Elektrotechniek, Wiskunde en Informatica Delft Institute of Applied Mathematics Modelleren en simuleren van het immuunsysteem (Modeling and simulation of the immune system) Verslag ten behoeve van het Delft Institute of Applied Mathematics als onderdeel ter verkrijging van de graad van BACHELOR OF SCIENCE in TECHNISCHE WISKUNDE door MARLIJN VAN VEEN Delft, Nederland Februari 2015 c 2015 door Marlijn van Veen. Alle rechten voorbehouden. Copyright BSc verslag TECHNISCHE WISKUNDE “Modelleren en simuleren van het immuunsysteem” (“Modeling and simulation of the immune system”) MARLIJN VAN VEEN Technische Universiteit Delft Begeleider Dr.ir. F.J. Vermolen Overige commissieleden Dr. J.L.A. Dubbeldam Dr. J.G. Spandaw Februari, 2015 Delft ABSTRACT Dit verslag behandelt een wiskundig model voor het gedrag van het immuunsysteem gedurende de genezing van wonden. Het model wordt geanalyseerd naar stabiliteit van evenwichten. Bovendien worden er simulaties uitgevoerd op basis van Eindige Volume Discretisatie van de partiële differentiaalvergelijkingen. In een Matlab omgeving is programmatuur ontwikkeld om de oplossingen van de partiële differentiaalvergelijkingen te benaderen. De implementatie is tot stand gekomen voor twee gevallen: een één dimensionaal geval wat biologisch gezien kan worden als een snijwond en een twee dimensionale vierkante wond. Verwacht wordt dat het model de werkelijkheid kwalitatief goed weer zal geven, waarbij er duidelijke resultaten kunnen worden verkregen over de situatie in de wond. Dit project kan uitgebreid worden om het nog realistischer te maken en de werkelijkheid beter weer te geven. Vervolgens kunnen de resultaten gebruikt worden door biologen om beter te begrijpen van wat er in een wond gebeurd. Uit de resultaten is gebleken dat de meeste wonden goed kunnen genezen. Dit dankzij het immuunsysteem met de witte bloedcellen. Ook is duidelijk gebleken dat het erg voordelig is voor het lichaam om overal haarvaten te hebben. Dit zorgt ervoor dat de leukocyten het gebied goed kunnen bereiken, zodat de wond sneller en beter kan genezen. Tot slot voorspelt het model dat een geı̈nfecteerde wond niet meer geheel kan genezen als de bacteriën een te sterke concurrent zijn in de competitie met de fibroblasten. Het is dus voor het lichaam erg belangrijk om een goed immuunsysteem te hebben. Dit zal ervoor zorgen dat wonden kunnen genezen, zelfs onder moeilijke omstandigheden. 4 1 Voorwoord In dit verslag kunt u lezen over het modelleren van de heling van een wond. Wanneer er een wond optreedt, delen de cellen van het huidoppervlak zich en bewegen deze naar de open wond. Hierdoor zal de wond zich gaan opvullen en zichzelf genezen. Helaas komen er meestal bacteriën in een wond en wordt dit proces verstoord. Gelukkig heeft het lichaam hier een natuurlijk afweermechanisme voor, het immuunsysteem. Door de aanwezigheid van bacteriën zullen de witte bloedcellen naar de wond toe komen om deze op te ruimen. Wat centraal zal staan in dit verslag, is het numeriek benaderen van hoe deze opperhuidcellen zich gedragen in het proces van de wondheling. Het model dat gebruikt zal worden in dit verslag is gebaseerd op [2]. Het project is gedaan als bachelorproject bij de afdeling numerieke analyse aan de Universiteit Delft en is begeleid door de docent Dr.ir. F.J. Vermolen. Het verslag zal beginnen met een beschrijving van het biologische proces. Hier zullen de processen beschreven worden die plaatsvinden op het moment dat er schade is aan het huidoppervlak. Vervolgens zal het model worden geı̈ntroduceerd. Hier zal een analyse op worden toegepast, waarbij gekeken wordt naar de constanten en stabiele oplossingen. Na de analyse van het model zullen de vergelijkingen gediscretiseerd gaan worden. Dit zal gedaan worden door middel van de eindige-volumemethode. Eerst zal er gekeken worden naar een één dimensionaal geval. Biologisch kan dit gezien worden als een snijwond. Vervolgens wordt dit geval uitgebreid naar een wond in R2 . Nadat het model gediscretiseerd is kan deze worden ingevoerd in Matlab. Vervolgens zullen de resultaten hiervan getoond en besproken worden. Als laatste is er de conclusie. 5 Inhoudsopgave 1 Voorwoord 5 2 Inleiding 7 3 Het model voor het immuunsysteem 3.1 Wiskundig model . . . . . . . . . . . . . . . 3.2 Analyse van het model . . . . . . . . . . . . 3.2.1 Stationaire toestanden . . . . . . . . 3.2.2 Migratiesnelheid van de fibroblasten 3.2.3 Biologische voorwaarde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 9 11 12 15 16 4 Uitwerking 4.1 Een wond in één dimensie: Snijwond . . 4.1.1 Vergelijking voor de fibroblasten 4.1.2 Vergelijking voor de leukocyten . 4.1.3 Tijdsintegratie . . . . . . . . . . 4.2 Een vierkante wond in R2 . . . . . . . . 4.2.1 Vergelijking voor de fibroblasten 4.2.2 Vergelijking voor de leukocyten . 4.2.3 Tijdsintegratie . . . . . . . . . . 4.3 Simmulatie parameters . . . . . . . . . . 4.3.1 De constanten . . . . . . . . . . 4.3.2 De Beginvoorwaarden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 17 17 20 22 24 27 33 35 37 37 38 5 Resultaten 5.1 Resultaten van de snijwond . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Resultaten van een vierkante wond . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 39 46 6 Conclusie 52 . . . . . . . . . . . . . . . . . . . . . . 7 Appendix 7.1 Figuren . . . . . . . . . . . . . . . . . . . . . . . 7.2 Matlab codes . . . . . . . . . . . . . . . . . . . . 7.3 Implementatie van de snijwond in Matlab . . . . 7.4 Implementatie van de vierkante wond in Matlab . 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 55 81 82 86 2 Inleiding Het menselijk lichaam is opgebouwd uit ongeveer 1014 cellen. Deze cellen zijn constant onderhevig aan celdood en deling. Vandaar dat er elk uur rond de é We bekijken de biologische processen bij schade aan de huid. Op het moment dat het oppervlak van de huid wordt beschadigd, treedt er gelijk een ketting aan reacties op. Deze reacties zijn biologisch gezien cruciaal voor een organisme om mechanische of chemische schade te repareren. Bij een wond in het huidoppervlak is er een deel van de aanwezige huidcellen beschadigd of geheel verwijderd. De huidcellen worden ook wel fibroblasten genoemd. Op zo’n plek waar er sprake is van beschadigde of afwezige fibroblasten kunnen bacteriën de wond binnen komen. Bacteriën zijn eencellige organismen. De gemiddelde grootte van een bacterie is één micrometer. De meeste bacteriën zijn onschuldig of zelfs nuttig, maar sommige kunnen ziektes veroorzaken. Als eerst zal er gekeken worden naar een eenvoudige situatie. Een deel van het huidoppervlak wordt beschadigd, maar er kunnen geen bacteriën in de wond komen. Doordat er geen bacteriën in de wond aanwezig zijn kunnen de fibroblasten zich gaan delen. Hierdoor zal de wond opgevuld worden met nieuwe cellen en zichzelf genezen. Helaas komen er in de meeste gevallen wel bacteriën in een open wond. Als er bacteriën in een wond aanwezig zijn, ontstaat er een tekort aan zuurstof en voedingsstoffen. Immers de bacteriën hebben deze nodig, maar ook de aanwezige fibroblasten. Hierdoor zal er een competitie ontstaan tussen de fibroblasten en bacteriën om de beschikbare voedingsstoffen en zuurstof. In figuur 1 is een schematische afbeelding te vinden van een wond waarin bacteriën aanwezig zijn. In de werkelijkheid zijn de fibroblasten rond de hele wond aanwezig. Figuur 1: Schematische afbeelding van een wond waarin bacteriën aanwezig zijn. Tijdens de concurrentie om zuurstof en voedingsstoffen tussen bacteriën en fibroblasten verhoogt de zuurgraad. Dit modelleren we met een concentratie lactaten als chemokine. Deze chemokine is een molecuul dat ervoor zorgt dat de witte bloedcellen arriveren in de haarvaten door middel van chemotaxis. In dit verslag worden de witte bloedcellen aangeduid met leukocyten. Op de plaatsen waar haarvaten aanwezig zijn rondom de wond kunnen de leukocyten de wond in stromen. Dit is te zien in figuur 2. Deze zullen vervolgens de bacteriën op gaan ruimen, zodat de fibroblasten zich kunnen gaan delen en de wond kan genezen. 7 Figuur 2: Schematische afbeelding van een wond waarin bacteriën aanwezig zijn en leukocyten het gebied binnenstromen. Om te kunnen analyseren wat er allemaal gebeurt als de huid beschadigd wordt, kan er gebruik worden gemaakt van de wiskunde. Door middel van een wiskundig model kan de situatie in de wond worden gesimuleerd. Dit model bestaat uit een stelsel van differentiaalvergelijkingen. De onderzoeksvragen die zullen worden behandeld zijn: • Wat gebeurt er met een open wond waarin bacteriën aanwezig zijn? • Wat is het effect van de witte bloedcellen hierin? In het volgende hoofdstuk zal het wiskundig model besproken worden. 8 3 Het model voor het immuunsysteem 3.1 Wiskundig model Het biologische verhaal uit de vorige sectie is vertaald naar een wiskundig model. Als eerst zijn er een aantal variabelen gedefinieerd. • De fibroblasten dichtheid (aantal/µm2 ), f , aangenomen wordt dat deze migreren door diffusie, en onderworpen zijn aan celgroei, sterfte en dat ze concurreren met de bacteriën. • De bacteriën dichtheid (aantal/µm2 ), b, hiervan wordt aangenomen dat deze migreren door diffusie, en onderworpen zijn aan groei, sterfte en dat ze concurreren met de fibroblasten. • De leukocyten dichtheid (aantal/µm2 ), l, in principe worden alle soorten witte bloedcellen meegenomen, maar in dit project wordt verwezen naar leukocyten. Ook de leukocyten migreren door diffusie, maar ook door chemotaxis, door de aanwezigheid van de chemokinen. Leukocyten verschijnen aan de randen die samenliggen met de haarvaten, als een bepaalde chemokine is uitgescheiden door de aanwezigheid van bacteriën. • De chemokinen dichtheid (aantal/µm2 ), c, deze worden uitgescheiden als gevolg van de competitie tussen bacteriën en fibroblasten. We nemen aan dat deze alleen uitgescheiden worden als er bacteriën aanwezig zijn. De chemokinen zijn onderworpen aan moleculaire diffusie. Voor het model is ten eerste de flux nodig van elk van deze variabelen. Laat Jp de flux van variabele p, p ∈ {f, b, l, c}. Dan hebben we: Jf = −Df (c)∇f, Jb = −Db ∇b, (1) Jl = −Dl ∇l + χl ∇c, Jc = −Dc ∇c. (2) Merk op dat de mobiliteit van de fibroblasten afhangt van de hoeveelheid aanwezige chemokinen. Er wordt aangenomen dat de chemokine concentratie de mobiliteit van de fibroblasten remt, door: Df (c) = Df0 max(0, 1 − c ), cr (3) hierbij is cr > 0 en deze stelt de verzadigdheidsdichtheid van de chemokinen voor waarbij de fibroblasten helemaal niet meer kunnen bewegen. Merk op dat als c ≥ cr in het gebied van de wond, dan kunnen de fibroblasten dit deel van het domein niet bereiken en dus zal het verwonde gebied beschadigd blijven als c ≥ cr . Samen met de biologische processen en de fluxen is er een stelsel van partiële differentiaalvergelijkingen opgesteld. De vergelijking voor de fibroblasten luidt als volgt: ∂f + ∇ · Jf = k f f ∂t 1− f + αf b b f∞ , (4) hierbij zijn kf , f ∞ , en, αf b , respectievelijk de groeifactor, de verzadigdheidsdichtheid, en een maat waarop de bacterie-populatie de fibroblast-populatie beı̈nvloedt. 9 De vergelijking voor de bacteriën is gegeven door: ∂b b + αbf f + αbl l , + ∇ · Jb = k b b 1 − ∂t f∞ (5) hierbij zijn kb , b∞ , en, αbf , respectievelijk de groeifactor, de verzadigdheidsdichtheid, en een maat waarop de fibroblast-populatie de bacterie-populatie beı̈nvloedt. Verder is de parameter αbl de afname van bacteriën door de leukocyten. De vergelijking voor de leukocyten luidt: ∂l + ∇ · Jl = −kl l, ∂t (6) hierbij is kl het sterftecijfer van de leukocyten als ze eenmaal het haarvat hebben verlaten. Dit haarvat wordt hierbij geı̈ntroduceerd, aangezien er bekend is dat leukocyten een gemiddelde levensduur hebben van 8 uur tot een dag als ze eenmaal de haarvaten hebben verlaten. In het model wordt aangenomen dat de bron van de leukocyten in de randvoorwaarden zijn verwerkt en de deling en groei van de leukocyten is verwaarloosbaar verondersteld. De vergelijking voor de chemokinen is gegeven door: ∂c + ∇ · Jc = kc b − kcl cl, ∂t (7) hierbij zijn kc en kcl respectievelijk de regeneratie door de bacteriën en de vervals coëfficiënt als gevolg van de aanwezige leukocyten. Bij alle randen van het domein wordt aangenomen dat er geen flux is van fibroblasten, bacteriën en chemokinen, dus Jp · n = 0, op ∂Ω, p ∈ {f, b, c}, (8) hierbij is ∂Ω de gehele rand van het gebied. Het gedeelte van de rand van het gebied dat haarvaten bevat, waaruit leukocyten de wond kunnen binnendringen, wordt ∂Ωv genoemd. Dan geldt ( Jl · n = −κ, als x ∈ ∂Ωv , 0, als x ∈ ∂Ω\∂Ωv . (9) hierbij is κ de afgiftesnelheid van de leukocyten vanuit de haarvaten. Als er sprake is van ziekte kan het zijn dat deze lager of juist hoger is dan gebruikelijk. Merk op dat als κ = 0, dat dan ook l = 0 geldt en dan zijn enkel de fibroblasten en bacteriën met elkaar in competitie. Als c groter wordt dan cr , dan zal de wond nooit genezen. Dit geval correspondeert met een volledig niet-werkend immuunsysteem. 10 3.2 Analyse van het model Voor de analyse van het model zal het nul-dimensionale geval worden bekeken. Hierbij zal worden verondersteld dat de oplossing constant is. De vergelijking voor de fibroblasten, bacterië, leukocyten en chemokinen zijn als volgt: ( ∂f ∂ ∂x Df (c) ∂x −Df (c) ∂f ∂x = 0, Fibroblasten : ( Bacterien : ∂f ∂t ∂b ∂t = ∂ ∂b ∂x Db ∂x ∂b −Db ∂x = 0, = + kf f 1 − + kb b 1 − f +αf b b f∞ , als 0 < x < L, t > 0, αbf f +b+αbl l b∞ , als 0 < x < L, t > 0, (11) als x = 0 of x = L en t > 0. ∂l ∂ ∂l ∂c ∂t = ∂x Dl ∂x − χl ∂x − kl l, als 0 < x < L, t > 0, ∂b Leukocyten : −Dl ∂x = 0, als x = 0, t > 0, ∂l ∂c Dl ∂x − χl ∂x = κ, als x = L, t > 0. ( (10) als x = 0 of x = L en t > 0. ∂ ∂c = ∂x Dc ∂x + kc b − kcl cl, als 0 < x < L, t > 0, Chemokinen : ∂c −Dc ∂x = 0, als x = 0 of x = L en t > 0. ∂c ∂t (12) (13) We analyseren de stabiliteit van evenwichten van de partiële differentiaalvergelijkingen waarin we constantstates bekijken. We zijn eerst geı̈nteresseerd in de dynamica van het systeem waarin we de ruimtelijke verdeling niet in beschouwing nemen. De ruimtelijke verdeling van leukocyten wordt vervangen door de totale dichtheid op het weefsel: 1 l(x, t) −→ l(t) = L Z L l(x, t) dx. (14) 0 Dit gebeurt vervolgens ook voor de fibroblasten, bacteriën en chemokinen. Hiertoe analyseren we de evenwichten en stabiliteiten van de volgende differentiaalvergelijkingen: df = f (1 − f − αb), dt db = k1 b(1 − βf − b − γl), dt dl = κ − k2 l, dt dc = k3 b − k4 cl. dt (15) (16) (17) (18) Waarbij f αf b b∞ b kb αbf f ∞ αbl l∞ , t ≡ k t, α = , b ≡ , k = , β = , γ = , f 1 f∞ f∞ b∞ kf b∞ b∞ κ k2 c kc b∞ kcl l∞ l , k = , c ≡ , k = , k = . l ≡ ∞, κ ≡ 2 3 4 l kf l ∞ kf c∞ kf c∞ kf f≡ 11 (19) (20) Hierin kunnen l, f, b en c geı̈nterpreteerd worden als p −→ p(t) = {f en F, b en B, l en L, c en C}. 3.2.1 1 P RP 0 p(x, t) dx, waarbij p en P ∈ Stationaire toestanden Als eerst zal er worden gekeken naar het geval dat κ = 0. Er is dan sprake van een ongekoppelde competitie tussen te fibroblasten en bacteriën. Aangezien κ = 0 zal ook gelden dat l = 0, er zijn geen leukocyten aanwezig in het weefsel. Er is sprake van een evenwicht tussen de fibroblasten en bacteriën als geldt dat andere woorden, als geldt dat: df dt = 0 en db dt = 0. Met f (1 − f − αb) = 0, (21) k1 b(1 − βf − b) = 0 (22) Hieruit volgen de volgende oplossingen: 1. fI = 0, bI = 0 dit is de triviale oplossing. Er wordt gekeken naar de stabiliteit. De Jacobi-matrix voor het stelsel vergelijkingen is: 1 − 2f − αb −αf J(f, b) = −βk1 b k1 − βkf − b Als hier de oplossing fI = 0, bI = 0 wordt ingevuld dan: 1 0 J(0, 0) = 0 k1 (23) (24) Hieruit volgt dat de eigenwaarden gegeven worden door λ = 1 of λ = k1 . Deze oplossing is dus onvoorwaardelijk instabiel. 2. fII = 1, bII = 0 Er is sprake van totale genezing. De fibroblasten zijn hersteld en de bacteriën zijn weg. Voor de stabiliteit van deze oplossing geldt: J(1, 0) = −1 0 −α k1 − βk1 (25) Deze matrix heeft de eigenwaarden λ = −1 en λ = k1 − βk1 = k1 (1 − β). De oplossing is stabiel dan en slechts dan als β > 1. 3. fIII = 0, bIII = 1 Er is sprake van totale infectie. De fibroblasten zijn geheel weg en door het hele gebied zijn de bacteriën aanwezig. 12 Voor de stabiliteit van deze oplossing geldt: J(0, 1) = 1−α −βk1 0 k1 − 1 (26) Deze matrix heeft de eigenwaarden λ = 1 − α en λ = 1 − k1 . De oplossing is kan alleen stabiel zijn dan en slechts dan als α > 1. 4. Als geldt α, β > 1 of α, β < 1, dan voor de oplossing: f (1 − f − αb) = 0 ⇔ 1 − f − αb = 0 ⇔ f = 1 − αb (27) Deze oplossing invullen in de vergelijking van de bacteriën: k1 b(1−βf −b) = 0 ⇔ 1−βf −b = 0 ⇔ 1−β(1−αb)−b = 0 ⇔ 1−β = b(1−αβ) ⇔ b = 1−β (28) 1 − αβ Met de oplossing van b is de oplossing van f te vinden: f = 1 − αb = 1 − α 1−α 1−β = 1 − αβ 1 − αβ (29) Merk op dat er niet kan gelden dat αβ = 1, aangezien er dan door nul gedeeld wordt. Er is sprake van een chronische infectie, aangezien de bacteriën niet geheel verdwijnen en de fibroblasten niet de normale dichtheid bereikt hebben. Op analoge wijze als bovenstaand kan worden aangetoont dat deze oplossing stabiel is als αβ < 1 en instabiel als αβ > 1. Een overzicht van de evenwichtstoestanden is te vinden in figuur 3. Figuur 3: Een overzicht van de evenwichtstoestanden voor de fibroblasten en bacterië in het geval dat κ = 0. 13 In het vervolg zal de volgende notatie worden gebruikt: p• is de evenwichtsoplossing van p. Tot slot wordt er nog naar de chemokinen gekeken worden. Er geldt: oplossing b• in, dan: c• = k3 b• . dc dt = k2 b. Vul hier de evenwichts- Vervolgens kan het geval κ 6= 0 bekeken worden. Er zal volgen dat de resultaten hiervan vergelijkbaar zijn met bovenstaande resultaten en ook de manier waarop deze resultaten kunnen worden verkregen is vergelijkbaar. Aangezien nu geldt dat κ 6= 0, zal ook gelden dat l 6= 0. De evenwichtsoplossing voor de leukocyten is gelijk aan: κ dl = 0 ⇔ κ − k2 l = 0 ⇔ l• = dt k2 (30) dc k 3 b• = 0 ⇔ k3 b − k4 cl = 0 ⇔ c• = dt k4 l• (31) En voor de chemokinen: Voor de bacteriën en fibroblasten volgen de volgende stabiele oplossingen: 1. fI = 0, bI = 0 De triviale oplossing, deze is onvoorwaardelijk instabiel. 2. fII = 1, bII = 0 Er is sprake van gehele genezing. Deze oplossing is stabiel ⇔ β > 1 − γl• . 3. Als 1 − γl• > 0, dan is er de stabiele oplossing fIII = 0 en bIII = 1 − γl• . Er is sprake van gehele infectie. Deze oplossing is stabiel ⇔ α > 1 1−γl• , 1−α(1−γl• 1−αβ 4. Als α < fIV = 1 1−γl• , 1−α(1−γl• −β . 1−αβ β < 1 − γl• of α > en bIV = 1 1−γl• . β > 1 − γl• dan is er de volgende stabiele oplossing Merk op dat er niet kan gelden dat αβ = 1, aangezien er dan door nul gedeeld wordt. Er is sprake van een chronische infectie. De oplossing is stabiel ⇔ αβ < 1 en instabiel ⇔ αβ > 1. Een overzicht van de evenwichtstoestanden is te vinden in figuur 4. 14 Figuur 4: Een overzicht van de evenwichtstoestanden voor de fibroblasten en bacterië in het geval dat κ 6= 0. 3.2.2 Migratiesnelheid van de fibroblasten Voor de migratiesnelheid van de fibroblasten nemen we het volgende verband aan, zie [6]: c Df (c) = Df0 max 0, 1 − cr (32) Een plot van deze functie is te vinden in figuur 5. Figuur 5: Een plot van de functie voor de migratiesnelheid van de fibroblasten. Er is te zien dat bij c = 0, Df (c) de waarde Df0 aanneemt. Bij c ≥ cr volgt dat Df (c) = 0. Er kan geconcludeerd worden dat als cr groot is, dan volgt Df (c) ≈ Df0 en als cr klein is, dan volgt: Df (c) ≈ 0. 15 3.2.3 Biologische voorwaarde Tot slot zal er met de keuze van de constanten rekening gehouden worden met het volgende: • Fibroblasten zijn een sterke concurrent in de competitie met de bacteriën. Er volgt dat β > 1. α f∞ Aangezien β = bfb∞ , en er voor gekozen zal worden de oplossingen genormaliseerd te houden (dus f ∞ = 1 en b∞ = 1∞ ), zal moeten gelden dat αbf > 1. • Bacteriën zijn een zwakke concurrent in de competitie met de fibroblasten. Er volgt dat α < 1. α b∞ Aangezien α = ffb∞ , en er voor gekozen zal worden de oplossingen genormaliseerd te houden, zal moeten gelden dat αf b > 1. • Tot slot zullen de leukocyten een sterke concurrent in de comperitie met bacteriën zijn. Er volgt ∞ dat γ > 1. Aangezien γ = αfbl∞l , en er voor gekozen zal worden de oplossingen genormaliseerd te houden, zal moeten gelden dat αbl > 1. 16 4 4.1 Uitwerking Een wond in één dimensie: Snijwond Als eerst wordt het model bekeken op een simpel gebied, namelijk een één-dimensionale lijn. Biologisch kan dit gezien worden als een snijwond. De snijwond die in dit geval geanalyseerd zal worden heeft een lengte van 1 cm. Om de partiële differentiaalvergelijkingen te discretiseren zal de eindige-volumemethode worden toegepast. Om dit te doen wordt het gebied geanalyseerd. Als eerst zal het gebied van de wond opgedeeld worden in controlevolumes met gridpunten. Om er voor te zorgen dat er geen verwarring ontstaat worden de gridpunten genummerd. Dit zal gebeuren van links naar rechts. Er worden N gridpunten genomen met een gelijke afstand tussen elk gridpunt. De aftand tussen te gridpunten wordt genoteerd met ∆x. 1 Het aantal gridpunten hangt af van de gekozen stapgrootte ∆x op de volgende manier: N = ∆x + 1. Om elk gridpunt komt een ’controlevolume’ met lengte ∆x, behalve bij de gridpunten 1 en N . Bij deze punten heeft het controle volume lengte 21 ∆x. Een afbeelding van het grid over de snijwond is te zien in figuur 6. Figuur 6: Schematische afbeelding van de snijwond Vervolgens kunnen de vergelijkingen gedicretiseerd worden. Er is hier gekozen om de vergelijking voor de fibroblasten en de leukocyten uit te werken. Dit is zo gekozen in verband met het feit dat de vergelijkingen voor de bacteriën en de chemokinen erg overeenkomen met deze vergelijkingen. De vergelijking voor de leukocyten zal wel uitgewerkt worden in verband met de afwijkende randvoorwaarden en de chemotaxis. 4.1.1 Vergelijking voor de fibroblasten Eerst zal gekeken worden naar de vergelijking van de fibroblasten. Merk op dat deze er als volgt uit ziet: ∂f + ∇ · Jf = k f f ∂t f + αf b b 1− f∞ . (33) Deze wordt geı̈ntegreerd over een controlevolume Ωj . Er wordt is gekozen voor een controlevolume waarbij j 6= 1, N . Z Ωj ∂f dΩ + ∂t Z Z ∇ · Jf dΩ = Ωj kf f Ωj f + αf b b 1− dΩ. f∞ (34) Het controlevolume om Ωj begint bij xj− 12 en eindigt bij xj+ 12 De integralen zien er dus uit als volgt: 17 Z xj+ 1 2 xj− 1 ∂f dx + ∂t xj+ 1 Z 2 Z ∇ · Jf dx = xj− 1 2 xj+ 1 2 kf f xj− 1 2 f + αf b b 1− f∞ dx. (35) 2 Om de discretisatie van deze integralen overzichtelijk te houden worden de drie integralen apart bekeken. Er wordt eerst naar de eerste term gekeken. xj+ 1 Z 2 xj− 1 ∂f d dx = ∂t dt xj+ 1 Z 2 f dx ' ∆x fj0 . (36) xj− 1 2 2 Dit vertaalt zich in de discretisatiematrix Mf f0 , met Mf = ∆xI. Nu moet er nog worden gekeken naar de controlevolumes die aan de rand van het gebied liggen. Dit zijn de controlevolumes om de punten x1 en xN . Hoe deze eruit zien is te vinden in figuur 7. Figuur 7: Schematische afbeelding van de controlevolumes Ω1 en ΩN Eerst Ω1 = [x1 , x 23 ]: Z x3 2 x1 ∂f d dx = ∂t dt Z ∂f d dx = ∂t dt Z x3 2 f dx ' x1 ∆x 0 f . 2 1 (37) Dan ΩN = [xN − 12 , xN ]: Z xN xN − 1 xN f dx ' xN − 1 2 ∆x 0 f . 2 N (38) 2 Er volgt nu dus dat Mf (1, 1) = Mf (N, N ) = ∆x 2 . De discretisatiematrix M wordt nu: 1 2 0 1 M= ∆x 0 .. . .. . 0 1 .. . .. . ··· De tweede term: 18 ··· ··· .. . . .. .. . . .. .. . 1 ··· 0 0 .. . .. . . 0 1 2 (39) Z xj+ 1 2 Z ∇ · Jf dx = xj− 1 xj+ 1 2 ∇ · [−Df (c)∇f ] dx (40) xj− 1 2 2 xj+ 1 ∂ ∂f −Df (c) dx ∂x xj− 1 ∂x 2 x ∂f j+ 12 = −Df (c) ∂x x 1 j− 2 cj+1 + cj fj+1 − fj cj ' −Df + Df 2 ∆x cj+1 + cj fj+1 − fj cj = −Df − Df 2 ∆x Z 2 = (41) (42) + cj−1 fj − fj−1 2 ∆x + cj−1 fj−1 − fj . 2 ∆x (43) (44) (45) Om de waardes van cj+ 21 en cj− 12 te bepalen worden de gemiddeldes van cj met cj+1 en cj met cj−1 genomen. Om de afgeleide te bepalen is gebruikt gemaakt van voorwaartse differentie. Dit vertaalt zich in de discretisatiematrix: Sf f Waarbij: cj+1 + cj 1 cj−1 + cj 1 + Df , 2 ∆x 2 ∆x 1 cj−1 + cj , = −Df 2 ∆x 1 cj+1 + cj . = −Df 2 ∆x Sfjj = Df (46) Sfjj−1 (47) Sfjj+1 (48) Nu zal er naar een controlevolume aan de rand gekeken worden. De rand voorwaarde voor de fibroblasten luidt als volgt: Jf · n = 0. Eerst wordt geı̈ntegreerd over Ω1 = [x1 , x 32 ]: Z x3 2 x3 ∇ · Jf dx = [Jf ]x12 (49) x1 = Jf (x 23 ) − Jf (x1 ) (50) = Jf (x 23 ) + 0 (door de RVWn) c2 + c1 f2 − f1 ' −Df . 2 ∆x (51) Vervolgens wordt de vergelijking geı̈ntegreerd over het controlevolume ΩN = [xN − 21 , xN ]: 19 (52) xN Z x xN − 1 ∇ · Jf dx = [Jf ]xN (53) N− 1 2 2 = Jf (xN ) − Jf (xN − 21 ) (54) = 0 − Jf (xN − 21 ) (door de RVWn) cN −1 + cN fN −1 − fN ' −Df . 2 ∆x (55) (56) Dit wordt gecorrigeerd in de discretisatiematrix Sf . De derde term: Z xj+ 1 2 kf f xj− 1 f + αf b b fj + αf b bj 1− dx ' ∆x k f 1 − . f j f∞ f∞ (57) 2 Bij deze benadering wordt gebruikt gemaakt van de midpointrule. Dit vertaalt zich in de discretisatiematrix ∆x kf Rf f Waarbij Rf = 1 2 − f1 −αf b b1 2f ∞ 0 1− 0 .. . .. . f2 −αf b b2 f∞ .. . .. . ··· 0 ··· .. . .. . .. . ··· 0 .. . .. . ··· ··· 1− fn−1 −αf b bn−1 f∞ ··· 0 1 2 0 − fn −αf b bn 2f ∞ . (58) Bij de controlevolumes Ω1 en ΩN wordt vemenigvuldigd met ∆x 2 in plaats van met ∆x. Hier wordt immers geı̈ntegreerd over een controlevolume met de helft van de lengte. 4.1.2 Vergelijking voor de leukocyten De vergelijking voor de leukocyten is gelijk aan: ∂l + ∇ · Jl = −kl l. ∂t (59) Ook deze wordt geı̈ntegreerd over het controlevolume Ωj = [xj− 21 , xj+ 21 ], met j 6= 1, N . Z xj+ 1 2 xj− 1 2 ∂l dx + ∂t Z xj+ 1 2 Z ∇ · Jl dx = − xj− 1 xj+ 1 2 kl l dx. (60) xj− 1 2 2 De eerste term van deze vergelijking is vergelijkbaar met de eerste term van de fibroblasten. De integratie gaat op analoge wijze. Dan volgt dat de discretisatiematrix gelijk gelijk is aan de discretisatiematrix van de fibroblasten. Dus Ml = Mf . 20 De tweede term wordt gediscretiseerd met: Z xj+ 1 2 Z ∇ · Jl d = xj− 1 xj+ 1 2 ∇ · [−Dl ∇l + χl l∇c] dx (61) ∇ · −Dl ∇l + ∇ · χl l∇c dx (62) xj− 1 2 2 Z xj+ 1 2 = xj− 1 2 xj+ 1 ∂ ∂l ∂c = −Dl + χl l dx ∂x ∂x xj− 1 ∂x 2 x ∂l ∂c j+ 12 = −Dl + χl l ∂x ∂x x 1 Z 2 (63) (64) j− 2 lj+1 − lj lj+1 + lj cj+1 − cj lj−1 + lj cj − cj−1 lj − lj−1 ' −Dl + χl − −Dl + χl (65) ∆x 2 ∆x ∆x 2 ∆x lj+1 + lj cj+1 − cj lj − lj−1 lj−1 + lj cj − cj−1 lj+1 − lj + χl + Dl − χl (66) = −Dl ∆x 2 ∆x ∆x 2 ∆x lj+1 − lj lj+1 + lj cj+1 − cj lj−1 − lj lj−1 + lj cj−1 − cj = −Dl + χl − Dl + χl . (67) ∆x 2 ∆x ∆x 2 ∆x (68) Dit vertaalt zich in de discretisatiematrix Sl l. Waarin Sljj = Sljj+1 Sljj−1 χl cj+1 − cj Dl χl cj−1 − cj Dl + + + , ∆x 2 ∆x ∆x 2 ∆x Dl χl cj+1 − cj =− + , ∆x 2 ∆x Dl χl cj−1 − cj =− + . ∆x 2 ∆x Merk op dat de de randvoorwaarden voor de leukocyten er als volgt uit zien: ( −κ, als x ∈ ∂Ωv , Jl · n = 0, als x ∈ ∂Ω\∂Ωv . (69) (70) (71) (72) Er zal worden aangenomen dat er wel flux is bij Ω1 , maar geen flux bij ΩN . Er wordt geı̈ntegreerd over beide controlevolumes. Dan: Z Z x3 2 ∇ · Jl dx (73) ∇ · Jl dx = Ω1 x1 x3 = [Jl ]x12 (74) = Jl (x 32 ) − Jl (x1 ) (75) = Jl (x 23 ) + κ (door de RVWn) (76) ' −Dl l2 + l1 c2 − c1 l2 − l1 + χl + κ. ∆x 2 ∆x 21 (77) en Z Z xN ∇ · Jl dx ∇ · Jl dx = (78) xN − 1 ΩN 2 x = [Jl ]xN (79) = Jl (xN ) − Jl (xN − 12 ) (80) = 0 − Jl (xN − 21 ) (door de RVWn) (81) N− 1 2 ' −Dl lN −1 − lN lN −1 + lN cN −1 − cN + χl . ∆x 2 ∆x (82) Dit zal worden opgenomen in de discretisatiematrix Sl . De derde term: Z − xj+ 1 2 kl l dx ' −∆xkl lj . (83) xj− 1 2 Dit vertaalt zich in de discretisatiematrix −∆xkl Il := Rl l 4.1.3 Tijdsintegratie De vergelijkingen die opgelost gaan worden door middel van de tijdsintegratie zijn als volgt Mf f0 + Sf f = Rf f , (84) 0 Mb b + Sb b = Rb b, (85) Ml l0 + Sl l = Rl l, (86) Mc c0 + Sc c = Rc1 b + Rc2 c. (87) (88) Merk als eerste op dat de matrices Sf , Rf , Rb , Sl , Rc2 van de dichtheden van andere variabele afhangen. Hier moet rekening mee worden gehouden gedurende de tijdsintegratie. Dit zal gedaan worden met behulp van de Impliciete-Expliciete-methode. Deze wordt ook wel de IMEX-methode genoemd. We zullen hier de vergelijking voor de fibroblasten uitwerken in de tijdsintegratie. De methode doe zal worden toegepast is de achterwaartse Euler methode. Dan volgt: Mf fp+1 = Mf fp + ∆t Rf f p+1 − Sf f p+1 ⇔ Mf f p+1 + ∆tSf f p+1 − ∆tRf f ⇔ (Mf + ∆tSf − ∆tRf ) f ⇔f p+1 p+1 p+1 = (Mf + ∆tSf − ∆tRf ) 22 (89) p (90) = Mf f = Mf f −1 p (Mf f p ) . (91) (92) Zoals eerder is opgemerkt hangen de matrices Sf en Rf van andere variabelen af. Om dit op te lossen is voor de IMEX-methode gekozen. Wat wordt gedaan is het volgende. Om f p+1 te berekenen, wordt de vorige waarde van c ingevult in de matrix Sf . De vergelijking ziet er dus uit al volgt: f p+1 = (Mf + ∆tSf (cp ) − ∆tRf (bp )) −1 (Mf f p ) . (93) De vergelijkingen die gebruikt worden bij de implementatie worden dus gegeven door: p+1 f p+1 b l p+1 c p+1 −1 = (Mf + ∆tSf − ∆tRf ) −1 = (Mb + ∆tSb − ∆tRb ) = (Ml + ∆tSl − ∆tRl ) −1 23 (94) p (95) (Mb b ) , p (Ml l ) , −1 = (Mc + ∆tSc − ∆tRc2 ) (Mf f p ) , p (96) p (Mc c + ∆tRc1 b ) . (97) 4.2 Een vierkante wond in R2 Nu zal het één-dimensionale geval worden uitgebreid naar R2 . Ook nu wordt er naar een vereenvoudigd model gekeken: een vierkante wond. De wond die hier zal worden bekeken heeft een grootte van 1 cm bij 1 cm. Voor de discretisatie van het stelsel partiële differentiaalvergelijkingen wordt gekozen voor de eindigevolumemethode. Als eerst zal het gebied van de wond geanalyseerd worden. Het gebied van de wond is te zien in figuur 8. Figuur 8: Schematische afbeelding van de wond Om de eindige-volumemethode toe te passen wordt dit gebied opgedeeld in controlevolumes. In het midden van elk controlevolume komt een gridpunt. Om bij te houden over welk gridpunt gesproken wordt, worden deze genummerd. Er is gekozen voor een horizontale nummering. Dit houdt in dat het gridpunt in de linkeronderhoek het eerste gridpunt zal zijn en het punt in de rechterbovenhoek het laatste. Het aantal gridpunten wordt N genoemd. Verder zullen er m gridpunten in de x-richting zijn. Hierdoor zal het gridpunt boven het eerste gridpunt de nummering 1 + m krijgen. Het is immers het eerst volgende punt na de rechteronderhoek. Het gebied met de genummerde gridpunten is te vinden in figuur 9. 24 Figuur 9: Schematische afbeelding van de wond, met gridpunten Tijdens de eindige-volumemethode zal er worden geı̈ntegreerd over een controlevolume. Er kan onderscheid worden gemaakt tussen drie verschillende soorten controlevolumes. De eerste soort is een controlevolume waarbij geen enkele rand van het controle samenvalt met de rand van het gebied. Deze kan gevonden worden in figuur 10. Bij dit soort controlevolumes hoeft er geen rekening met de randvoorwaarden worden gehouden. Figuur 10: Schematische afbeelding van de wond, met gridpunten Het tweede soort controlevolume is een volume waarbij één van de randen van het volume samenvalt met één van de randen van het gebied. Een voorbeeld van zo’n controlevolume is te vinden in figuur 11. 25 Figuur 11: Controlevolume waarbij de rechterrand van het volume samen valt met de rechterrand van het gebied. Het laatste soort controlevolume is een volume waarbij twee van de randen van het volume samenvallen met twee van de randen van het gebied. Een voorbeeld van zo’n volume is te vinden in figuur 12. Figuur 12: Controlevolume waarbij de linker- en de onderrand van het volume samenvallen met de linkeren onderrand van het gebied. Nu zijn alle ingediënten aanwezig om de eindige-volumemethode toe te passen op het stelsel met partiële differentiaalvergelijkingen. Er is voor gekozen om de vergelijkingen voor de fibroblasten en leukoyten uit te werken. Dit in verband met het feit dat de vergelijkingen voor de bacteriën en chemokinen zeer vergelijkbaar zijn met die van de fibroblasten. De vergelijking voor de leukocyten zal wel uitgewerkt 26 worden in verband met de afwijkende randvoorwaarden en chemotaxis. 4.2.1 Vergelijking voor de fibroblasten De eerste partiële differentiaalvergelijking die zal worden bekeken is de vergelijking voor de fibroblasten. Herinner dat deze er als volgt uit ziet: ∂f + ∇ · Jf = k f f ∂t 1− f + αf b b f∞ . (98) Deze wordt geı̈ntegreerd over een controlevolume Ωj zoals te vinden is in figuur 10: Z Ωj ∂f dΩ + ∂t Z Z ∇ · Jf dΩ = Ωj kf f Ωj f + αf b b 1− dΩ. b∞ (99) Om te discretisatie van de vergelijking overzichtelijk te houden wordt elk van deze drie integralen apart bekeken. De eerste integraal: Z Ωj ∂f d dΩ = ∂t dt Z f dΩ ' ∆x∆yfj0 . (100) Ωj Bij de benadering van deze integraal is gebruikt gemaakt van de midpointrule. Dit vertaalt zich in de volgende discretisatie: Mf f 0 . Waarbij Mf = ∆x∆yI. Vervolgens wordt er geintegreerd over een controlevolume dat aan de rand ligt, zoals te vinden is in figuur 11. Dit is een controlevolume waarbij de rechterrand van het controlevolume, de rechterrand van het gebied is. Als de integraal geı̈ntegreerd wordt over zo’n controlevolume Ωj , dan: Z Ωj ∂f d dΩ = ∂t dt Z f dΩ ' Ωj ∆x ∆yfj0 . 2 Voor het controlevolume dat aan de rand ligt geldt dus dat er een factor (101) 1 2 bij komt. Tot slot wordt er geintegreerd over een controlevolume dat aan twee randen ligt, zoals te vinden is in figuur 12. Dit is een controlevolume waarbij de linker- en onderrand van het volume samen vallen met de linker- en onderrand van het gebied, dan: Z Ωj d ∂f dΩ = ∂t dt Z f dΩ ' Ωj ∆x ∆y 0 ∆x∆y 0 fj = fj . 2 2 4 Voor een controlevolume in de hoek geldt dat er een factor 1 4 bij komt. Vervolgens wordt er gekeken naar de tweede integraal: Z Z ∇ · Jf dΩ = ∇ · [−Df (c)∇f ] dΩ Ωj (102) (103) Ωj Z −D(c) = ∂Ωj 27 ∂f dΓ. ∂n (104) Hierbij is de integratiestelling van Gauss toegepast. Om deze integraal te kunnen bepalen wordt er beter gekeken naar de rand, ∂Ωj , van het controlevolume Ωj . Deze rand, ∂Ωj kan worden opgedeeld in vier rechte stukken. Deze worden north, east, south en west genoemd. Dit is te zien in figuur 13. Figuur 13: Controle waarbij de rand is opgedeeld in north, east, south en west. De integraal kan dus worden opgesplitst in vier integralen: Z ∂f dΓ = − − D(c) ∂n ∂Ωj "Z ∂ΩN j ∂f D(c) dΓ + ∂n Z ∂f D(c) dΓ + E ∂n ∂Ωj Z ∂f D(c) dΓ + S ∂n ∂Ωj Z ∂ΩW j # ∂f D(c) dΓ . ∂n (105) Elk van deze vier integralen wordt apart benaderd. Als eerst zal worden gekeken naar de integraal over T ∂f ∂b de northrand. Op ∂ΩN j geldt dat de normaalvector n gelijk is aan [0 1] en dus geldt D(c) ∂n = D(c) ∂y . N De integraal over ∂Ωj wordt: Z D(c) ∂ΩN j ∂f dΓ = ∂n Z ∂f dx ∂y ∂ΩN j cj+m + cj fj+m − fj 'D ∆x. 2 ∆y D(c) Dit wordt op analoge wijze gedaan voor de integralen over east, south en west. Dan volgt: Z Z ∂f ∂f D(c) dΓ = D(c) dy E N ∂n ∂x ∂Ωj ∂Ωj cj+1 + cj fj+1 − fj 'D ∆y, 2 ∆x 28 (106) (107) (108) (109) Z ∂f D(c) dΓ = S ∂n ∂Ωj Z ∂f dx ∂y cj−m + cj fj − fj−m ∆x ' −D 2 ∆y cj−m + cj fj−m − fj =D ∆x, 2 ∆y Z D(c) ∂ΩW j ∂b dΓ = ∂n −D(c) (110) ∂ΩN j (111) (112) Z ∂f dy ∂x cj−1 + cj fj − fj−1 ' −D ∆y 2 ∆x cj−1 + cj fj−1 − fj ∆y. =D 2 ∆x −D(c) (113) ∂ΩN j (114) (115) Als dit allen wordt samengevoegd volgt: Z ∂f − D(c) dΓ ' − D ∂n ∂Ωj −D cj+m + cj 2 cj−m + cj 2 fj+m − fj ∆x − D ∆y fj−m − fj ∆x − D ∆y cj+1 + cj 2 cj−1 + cj 2 fj+1 − fj ∆y ∆x (116) fj−1 − fj ∆y. ∆x (117) Dit vertaalt zich in de discretisatiematrix Sf f , waarbij 1 cj+1 + cj 1 cj+m + cj Sfjj = D ∆x + D ∆y, 2 ∆y 2 ∆x 1 cj−1 + cj 1 cj−m + cj ∆x + D ∆y, +D 2 ∆y 2 ∆x cj+1 + cj 1 Sfjj+1 = −D ∆y, 2 ∆x cj−1 + cj 1 Sfjj−1 = −D ∆y, 2 ∆x cj+m + cj 1 Sfjj+m = −D ∆x, 2 ∆y cj−m + cj 1 Sfjj−m = −D ∆x. 2 ∆y (118) (119) (120) (121) (122) (123) (124) Nu de vergelijking is gediscretiseerd voor een controlevolume dat niet aan de rand ligt, zal er nog gekeken moeten worden naar controlevolumes die wel aan de rand en in de hoek liggen. Als eerst zal er gekeken worden naar een controlevolume dat aan de rand ligt, zoals te zien in in figuur 11. Merk op dat bij dit controlevolume de rechterrand van het volume samenvalt met de rechterrand van het gebied. 29 Aan de rand van het gebied geldt voor de fibroblasten dat: Jf · n = 0. (125) Het eerste deel van de integratie zal analoog gaan aan de integratie over een controlevolume dat niet aan de rand ligt, er geldt dus: Z ∂f − D(c) dΓ = − ∂n ∂Ωj "Z ∂ΩN j ∂f D(c) dΓ + ∂n Z ∂f D(c) dΓ + ∂n ∂ΩE j Z ∂f D(c) dΓ + ∂n ∂ΩS j Z ∂ΩW j # ∂f D(c) dΓ . ∂n (126) Elk van deze vier integralen wordt weer apart bekeken: Z Z ∂f ∂f D(c) dΓ = D(c) dy N N ∂n ∂x ∂Ωj ∂Ωj cj+m + cj fj+m − fj ∆x , 'D 2 ∆y 2 Z ∂f D(c) dΓ = E ∂n ∂Ωj Z D(c) ∂ΩS j Z ∂ΩW j Z (127) (128) ∂f dx ∂y (129) = 0 (door de randvoorwaarden), (130) ∂f dΓ = ∂n D(c) ∂ΩE j Z ∂f dy ∂x ∂ΩS j cj−m + cj fj − fj−m ∆x ' −D 2 ∆y 2 cj−m + cj fj−m − fj ∆x , =D 2 ∆y 2 −D(c) (132) (133) Z ∂f dx ∂y cj−1 + cj fj − fj−1 ' −D ∆x 2 ∆y cj−1 + cj fj−1 − fj =D ∆x. 2 ∆y ∂f dΓ = D(c) ∂n (131) −D(c) (134) ∂ΩW j (135) (136) Dus volgt als Ωj een controlevolume is met de east-kant van het volume gelijk aan de east-kant van het gebied dan: 30 Z ∇ · Jf dΩ ' − D Ωj −D cj+m + cj 2 cj−m + cj 2 fj+m − fj ∆x −0 ∆y 2 fj−m − fj ∆x −D ∆y 2 (137) cj−1 + cj 2 fj−1 − fj ∆y. ∆x Als de south-rand van het volume gelijk is aan de south-rand van het gebied: Z cj+1 + cj fj+1 − fj ∆y cj+m + cj fj+m − fj ∆x − D ∇ · Jf dΩ ' − D 2 ∆y 2 ∆x 2 Ωj cj−1 + cj fj−1 − fj ∆y −0−D . 2 ∆x 2 Als de west-rand van het volume gelijk is aan de west-rand van het gebied: Z cj+1 + cj fj+1 − fj cj+m + cj fj+m − fj ∆x −D ∆y ∇ · Jf dΩ ' − D 2 ∆y 2 2 ∆x Ωj cj−m + cj fj−m − fj ∆x −D − 0. 2 ∆y 2 Als de north-rand van het volume gelijk is aan de north-rand van het gebied: Z cj+1 + cj fj+1 − fj ∆y ∇ · Jf dΩ ' 0 − D 2 ∆x 2 Ωj cj−m + cj fj−m − fj cj−1 + cj fj−1 − fj ∆y −D ∆x − D . 2 ∆y 2 ∆x 2 (138) (139) (140) (141) (142) (143) (144) Als laatst zal er nog gekeken moeten worden naar de controlevolumes die zich bevinden in de hoeken. Er wordt gekekekn naar een controlevolume als in figuur 11. Herinner dat deze zich in de linkeronderhoek bevindt. De linker- en onderrand van het volume vallen samen met de linker- en onderrand van het gebied. De integralen over north, east, south en west worden weer apart bekeken: Z Z ∂f ∂f D(c) dΓ = D(c) dy N N ∂n ∂x ∂Ωj ∂Ωj cj+m + cj fj+m − fj ∆x 'D , 2 ∆y 2 Z ∂f D(c) dΓ = E ∂n ∂Ωj D(c) ∂ΩS j ∂f dΓ = ∂n (146) Z ∂f dx ∂y cj+1 + cj fj+1 − fj ∆y 'D , 2 ∆x 2 Z (145) D(c) (147) ∂ΩE j Z −D(c) ∂ΩS j ∂f dy ∂x = 0 (door de randvoorwaarden), 31 (148) (149) (150) Z D(c) ∂ΩW j ∂f dΓ = ∂n Z −D(c) ∂ΩN j ∂f dx ∂y = 0 (door de randvoorwaarden). Dus volgt voor de linkeronderhoek : Z cj+1 + cj fj+1 − fj ∆y cj+m + cj fj+m − fj ∆x −D + 0 + 0. ∇ · Jf dΩ = −D 2 ∆y 2 2 ∆x 2 Ωj Voor het controlevolume in de rechteronderhoek : Z cj+m + cj fj+m − fj ∆x cj−1 + cj fj−1 − fj ∆y ∇ · Jf dΩ = −D +0+0−D . 2 ∆y 2 2 ∆x 2 Ωj Voor het controlevolume in de linkerbovenhoek : Z cj−m + cj fj−m − fj ∆x cj+1 + cj fj+1 − fj ∆y −D + 0. ∇ · Jf dΩ = 0 − D 2 ∆x 2 2 ∆y 2 Ωj Voor het controlevolume in de rechterbovenhoek : Z cj−m + cj fj−m − fj ∆x cj−1 + cj fj−1 − fj ∆y ∇ · Jf dΩ = 0 + 0 − D −D . 2 ∆y 2 2 ∆x 2 Ωj (151) (152) (153) (154) (155) (156) De resultaten van het integreren over controlevolumes die aan de randen en in de hoeken liggen zullen worden meegenomen in de discretisatiematrix Sf . Tot slot wordt de derde ingegraal van de vergelijking voor de fibroblasten bekeken: f + αf b b fj + αf b bj kf f 1 − dΩ ' ∆x∆ykf fj 1 − . f∞ f∞ Ωj Z (157) Bij de benadering van deze integraal wordt gebruik gemaakt van de midpointrule. Dit vertaalt zich in de discretisatiematrix Rf f , waarbij Rfjj fj + αf b bj . = ∆x∆ykf 1 − f∞ (158) Ook hier geldt net als bij de eerste integraal dat de controlevolumes aan de rand gecorrigeerd moeten worden met een factor 21 en de controlevolumes in de hoek met een factor 14 . De vergelijking die opgelost gaat worden door middel van tijdsintegratie luidt als volgt: Mf f 0 + Sf f = Rf f . 32 (159) 4.2.2 Vergelijking voor de leukocyten De vergelijking voor de leukocyten luidt als volgt: ∂l + ∇ · Jl = −kl l. ∂t (160) Ook deze wordt geintegreerd over controlevolume Ωj dat nergens aan de rand ligt. Z ∂l dΩ + ∂t Ωj Z Z ∇ · Jl dΩ = Ωj −kl l dΩ. (161) Ωj Voor de eerste integraal geldt dat deze vergelijkbaar is met de eerste term van de fibroblasten. De discretisatiematrix hetzelfde is dan ook het zelfde als bij de fibroblasten. Er geldt: Mf = Mb = Ml . Voor de tweede integraal geldt: Z Z ∇ · Jl dΩ = Ωj ∇ · [−Dl ∇l + χl l∇c] dΩ (162) Ωj Z −Dl = ∂Ωj ∂c ∂l dΓ + χl l dΓ. ∂n ∂n (163) (164) Deze integraal verschilt van de tweede integraal van de fibroblasten. Er wordt gekozen om deze wel geheel uit te werken. Als eerst wordt de rand van het gebied weer opgedeeld in north, east, south en west, en vervolgens hierover geı̈ntegreerd. Dan volgt: Z ∂l ∂c −Dl dΓ + χl l dΓ = ∂n ∂n ∂Ωj Z ∂ΩN j ∂c ∂l −Dl dΓ + χl l dΓ + ∂n ∂n Z −Dl + ∂ΩS j Z ∂l ∂c dΓ + χl l dΓ + ∂n ∂n −Dl ∂ΩE j ∂c ∂l dΓ + χl l dΓ ∂n ∂n Z −Dl ∂ΩW j (165) ∂c ∂l dΓ + χl l dΓ (166) ∂n ∂n lj+m − lj lj+m + lj cj+m − cj lj+1 − lj ∆x + χl ∆x − Dl ∆y (167) ∆y 2 ∆y ∆x lj+1 + lj cj+1 − cj lj−m − lj lj−m + lj cj−m − cj + χl ∆y − Dl ∆x + χl ∆x 2 ∆x ∆y 2 ∆y (168) lj−1 − lj lj−1 + lj cj−1 − cj − Dl ∆y + χl ∆y. (169) ∆x 2 ∆x ' −Dl Dit vertaalt zich in de discretisatiematrix Sl l, waarbij: 33 Dl χl cj+m − cj Dl χl cj+1 − cj ∆x + ∆x + ∆y + ∆y ∆y 2 ∆y ∆x 2 ∆x Dl χl cj−m − cj Dl χl cj−1 − cj ∆x + ∆x + ∆y + ∆y, + ∆y 2 ∆y ∆x 2 ∆x Dl χl cj+1 − cj Sljj+1 = − ∆y + ∆y, ∆x 2 ∆x Dl χl cj−1 − cj Sljj−1 = − ∆y + ∆y, ∆x 2 ∆x Dl χl cj+m − cj Sljj+m = − ∆x + ∆x, ∆y 2 ∆y Dl χl cj−m − cj Sljj−m = − ∆x + ∆x. ∆y 2 ∆y Sljj = (170) (171) (172) (173) (174) (175) Vervolgens zal er nog gekeken moeten worden naar controlevolumes die aan de rand van het gebied liggen. Herrinner dat de randvoorwaarden voor de leukocyten er als volgt uit zien: ( Jl · n = −κ, als x ∈ ∂Ωv , 0, als x ∈ ∂Ω\∂Ωv . (176) Er zal hier worden aangenomen dat dat er aan de onderkant van het gebied haarvaten liggen. Er geldt dan dus dat ∂Ωv gelijkt is aan de onderrand van het gebied. Als er vervolgens wordt geı̈ntegreerd over een controlevolume waarbij de southrand van het volume gelijk is aan de southrand van het gebied, dan volgt voor de southrand van zo’n controlevolume: Z −Dl ∂ΩS j ∂c ∂l + χl l dΓ = −κ. ∂n ∂n (177) En dus geldt voor een controlevolume waarbij southrand van het volume samen valt met de onderrand van het gebied. Z −Dl ∂Ωj ∂l ∂c lj+m − lj lj+m + lj cj+m − cj lj+1 − lj ∆y dΓ + χl l dΓ ' −Dl ∆x + χl ∆x − Dl ∂n ∂n ∆y 2 ∆y ∆x 2 +χl (178) lj+1 + lj cj+1 − cj ∆y lj−1 − lj ∆y lj−1 + lj cj−1 − cj ∆y − κ − Dl + χl . (179) 2 ∆x 2 ∆x 2 2 ∆x 2 Voor een controlevolume waarbij de westrand van het controlevolume samenvalt met de westrand van het gebied geldt: Z −Dl ∂Ωj ∂l ∂c lj+m − lj ∆x lj+m + lj cj+m − cj ∆x lj+1 − lj dΓ + χl l dΓ ' −Dl + χl − Dl ∆y (180) ∂n ∂n ∆y 2 2 ∆y 2 ∆x +χl lj+1 + lj cj+1 − cj lj+m − lj ∆x lj+m + lj cj+m − cj ∆x ∆y − Dl + χl + 0. (181) 2 ∆x ∆y 2 2 ∆y 2 34 De controlevolumes waarbij de northrand of eastrand van het gebied samenvalt met de rand van het gebied worden op analoge wijze gecorrigeerd als bij een controlevolume waarbij de westrand samenvalt met de rand van het gebied. Hier zijn immers ook geen haarvaten en geldt dezelfde randvoorwaarde Jl · n = 0. Tot slot wordt er gekeken naar een controlevolume dat zich in de hoek bevind. Eerst wordt gekeken naar een conrolevolume waarbij de linker- en onderrand van het gebied samenvallen met de linker- en onderrand van het volume, dan: Z −Dl ∂Ωj ∂c lj+m − lj lj+m + lj cj+m − cj ∂l dΓ + χl l dΓ ' −Dl ∆x + χl ∆x ∂n ∂n ∆y 2 ∆y (182) lj+1 − lj ∆y lj+1 + lj cj+1 − cj ∆x + χl − κ + 0. ∆x 2 2 ∆y 2 (183) −Dl De rest van de hoeken worden op analoge wijze gecorrigeerd. Voor de derde term: Z −kl l dΩ ' −∆x∆ykl lj . (184) Ωj Dit vertaalt zich in de discretisatiematrix Rl l, met Rljj = −∆x∆ykl . Ook hierbij moeten de controlevolumes aan de rand gecorrigeerd worden met een factor levolumes in de hoek met een factor 14 . (185) 1 2 en de contro- De vergelijking die opgelost gaat worden door middel van tijdsintegratie luidt als volgt: Ml l0 + Sl l + κ = Rl l. (186) Waarbij κ een vector, waarbij als Ωi aan de rand ligt waarbij haarvaten aanwezig zijn, dan κ(i) = κ en anders is deze gelijk aan nul. 4.2.3 Tijdsintegratie De vergelijkingen die opgelost gaan worden door middel van de tijdsintegratie zijn nu als volgt Mf f0 + Sf f = Rf f , 0 Mb b + Sb b = Rb b, 0 Ml l + Sl l = Rl l, 0 Mc c + Sc c = Rc1 b + Rc2 c. (187) (188) (189) (190) (191) 35 Merk als eerste op dat ook nu de matrices Sf , Rf , Rb , Sl , Rc2 van de dichtheden van andere variabele afhangen. Hier moet weer rekening mee worden gehouden gedurende de tijdsintegratie. Dit zal weer gedaan worden met behulp van de IMEX-methode. We zullen hier de vergelijking voor de fibroblasten uitwerken in de tijdsintegratie. De methode die zal worden toegepast is de achterwaartse Euler methode. Dan volgt: Mf fp+1 = Mf fp + ∆t Rf f p+1 − Sf f p+1 ⇔ Mf f p+1 + ∆tSf f p+1 − ∆tRf f ⇔ (Mf + ∆tSf − ∆tRf ) f ⇔f p+1 p+1 p+1 = (Mf + ∆tSf − ∆tRf ) (192) p (193) = Mf f = Mf f −1 p (194) (Mf f p ) . (195) Zoals eerder is opgemerkt hangen de matrices Sf en Rf van andere variabelen af. Om dit op te lossen is voor de IMEX-methode gekozen. Wat wordt gedaan is het volgende. Om f p+1 te berekenen, wordt de vorige waarde van c ingevult in de matrix Sf . De matrices zullen dus in iedere stap van de tijdsintegratie opnieuw worden aangemaakt. De vergelijking ziet er dus uit al volgt: f p+1 = (Mf + ∆tSf (cp ) − ∆tRf (bp )) −1 (Mf f p ) . (196) De vergelijkingen die gebruikt worden bij de implementatie worden dus gegeven door: p+1 f p+1 b −1 = (Mf + ∆tSf − ∆tRf ) −1 = (Mb + ∆tSb − ∆tRb ) −1 lp+1 = (Ml + ∆tSl − ∆tRl ) c p+1 36 (197) p (198) (Mb b ) , p (Ml l ) , −1 = (Mc + ∆tSc − ∆tRc2 ) (Mf f p ) , p (199) p (Mc c + ∆tRc1 b ) . (200) 4.3 Simmulatie parameters Om het model vervolgens te kunnen implementeren in Matlab zijn er nog een aantal ingrediënten nodig. Er zijn constanten en beginvoorwaaren nodig. Er zal eerst gekeken worden naar de constanten. 4.3.1 De constanten Als eerst zal er gekeken worden naar de diffusieconstanten. In [7] wordt de waarde voor de diffusieconstante van de bacteriën gemeten. Uit het paper volgen twee waardes voor de diffusiecoëfficiënt, namelijk 2.1·10−5 µcm2 /s en 0.9·10−5 µcm2 /s. Dit geeft een gemiddelde diffusiecoëfficiëent van 1.5 · 10−5 µcm2 /s en dit is de waarde die gekozen wordt voor Db . Vervolgens worden de waardes van de andere diffusieconstanten van dezelfde orde van grootte gekozen. Er wordt gekozen dat: Df0 = 10−5 cm2 /s, Dc = 10−5 cm2 /s. Verder zal worden aangenomen dat de leukocyten mobieler zijn dan de andere variabelen. Vandaar dat: Dl = 10−1 cm2 /s, χl = 10−1 cm2 /s. Vervolgens zal de waarde van cr gekozen moeten worden. Deze constante stelt de verzadigdheidsdichtheid van de chemokinen voor. Als c ≥ cr dan kunnen de fibroblasten niet meer bewegen. Uit [3] volgt dat met een grote waarde voor cr dan volgt Df (c) ≈ Df0 , en voor een kleine waarde van cr , dan Df (c) ≈ 0. In het artikel wordt de tussenwaarde cr = 0.1 rmcm−2 gekozen en deze zal gebruikt worden in het verslag. Verder wordt in het artikel ook de waarde κ = 0.5 s−1 gebruikt. Daar zal ook nu voor gekozen worden. Aangezien we de fibroblasten en bacteriën graag genormaliseerd willen hebben wordt er voor de verzadigdheidsdichtheden gekozen dat deze de waarde 1 krijgen. Er zal gelden f ∞ = 1 en b∞ = 1. Uit de figuren in [9] volgt dat voor de fibroblasten een proliferatie snelheid gekozen kan worden van ongeveer 10. Dit houd in dat elke cel voor ongeveer 10 nieuwe cellen per dag zal zorgen. Er zal dus gelden dat kf = 10 dag−1 . Voor de leukocyten geldt dat deze een gemiddelde levensduur buiten het haarvat hebben van 8 uur tot een dag. Vandaar dat zal gelden dat l(1 dag) = 0.01l0 . Er zal dus gelden dat kl = 4.60 rmdag −1 . Uit subsubsectie ’biologische voorwaarde’ volgt dat er een biologische voorwaarde is voor de onderlinge invloeden tussen de fibroblasten, bacteriën en leukocyten. Er moet gelden dat αbf > 1, αf b > 1 en αbl > 1. Dit zal om te beginnen gedaan worden bij de implementatie in Matlab. Er zullen verschillende runs gedaan worden, waarbij deze constanten steeds iets aangepast worden. Er zal vervolgens gekeken worden wat het effect is van deze constanten op het eindresultaat van de wond. Een overzicht van alle constanten met eenheden is te vinden in onderstaande tabel. 37 Constante Df0 Db Dl χl Dc cr kf kl kc kb kcl αf b αbf αbl f∞ b∞ κ 4.3.2 Waarde 1 · 10−5 1.5 · 10−5 1 · 10−3 1 · 10−3 1 · 10−5 0.1 10 4.60 5 5 0.9 0.5 2 2 1 1 0.5 Eenheid cm2 s−1 cm2 s−1 cm2 s−1 cm2 s−1 cm2 s−1 cm−2 dag−1 dag−1 dag−1 dag−1 dag−1 cm−2 cm−2 s−1 De Beginvoorwaarden Om het stelsel differentiaalvergelijkingen op te kunnen lossen zijn er beginvoorwaarden nodig voor de fibroblasten, bacteriën, leukocyten en chemokinen. Vervolgens zal gekeken worden naar de nodige beginvoorwaarden. Het bepalen van de beginvoorwaarden wordt gebaseerd op het volgende principe: Als f = 1 betekent dat de fibroblasten overal geheel genezen zijn. Er is dan geen sprake van een wond. Er volgt dan dat als f = 0 er geen fibroblasten aanwezig zijn. Er is sprake van een wond waarbij het huidoppervlakte geheel verdwenenen is. Er kan op dezelfde manier naar de beginvoorwaarden van de bacteriën, leukocyten en chemokinen. De beginsituatie waar naar gekeken zal worden ziet er als volgt uit: De wond is recent ontstaan en er zijn bacteriën het gebied binnen gekomen. De fibroblasten zijn dus beschadigd en er zal gelden dat 0 < f < 1. Aangezien er bacteriën in het gebied zijn gekomen zal ook gelden dat 0 < b < 1. Verder zullen er nog nauwelijk leukocyten in de wond aanwezig zijn. De wond is immers pas recent gevormd. Wel zullen er al chemokinen aanwezig zijn als gevolg van de competitie tussen de fibroblasten en bacteriën. 38 5 5.1 Resultaten Resultaten van de snijwond Als eerste zullen de resultaten besproken worden die zijn verkregen na de implementatie van de snijwond in Matlab. Merk om te beginnen op dat deze simulaties de werkelijkheid niet goed kunnen weergeven. Aan de rand van het gebied kunnen leukocyten het gebied binnenstromen. In dit één dimensionale geval kan dit maar op twee plaatsen gebeuren. Bij de gridpunten 1 en N . In de werkelijkheid kunnen er ook bij de andere gridpunten haarvaten aanwezig zijn en dus kunnen er op veel meer plaatsen leukocyten het gebied binnen komen. Als eerst wordt er een run gedaan met de volgende constanten: Constante Df0 Db Dl χl Dc cr kf kl kc kb kcl αf b αbf αbl f∞ b∞ κ Waarde 1 · 10−5 1.5 · 10−5 1 · 10−3 1 · 10−3 1 · 10−5 0.1 10 4.60 5 5 0.9 0.5 2 2 1 1 0.5 Eenheid cm2 s−1 cm2 s−1 cm2 s−1 cm2 s−1 cm2 s−1 cm−2 dag−1 dag−1 dag−1 dag−1 dag−1 cm−2 cm−2 s−1 De resultaten van de simulaties met verschillende tijdstappen zijn te vinden in figuur 14. 39 (a) Resultaat na 1 tijdstap (b) Resultaat na 10 tijdstappen (c) Resultaat na 50 tijdstappen Figuur 14: Resultaten van de simulaties na verschillende tijdstappen. In figuur 14 is de evolutie van de wond te zien. Na 1 tijdstap is er nog niet veel gebeurd. In feite zien we hier de beginvoorwaarden. Wat na 5 tijdstappen gelijk opvalt is dat er aan de rand iets gebeurd. Hier zijn de leukocyten in actie. Aan de rand van het gebied zullen de leukocyten naar binnen komen gestroomd. Hier worden de bacteriën opgeruimd door de leukocyten. Er is daar dus een sterke afname van de bacteriën. Op die plekken kunnen de fibroblasten zich gaan hetstellen. Dat is ook duidelijk te zien aan de stijging van de fibroblasten aan de rand. Deze trend zet zich door in de verdere evolutie van de wond. Na 50 tijdstappen is de wond compleet genezen. De fibroblasten hebben zich hersteld en de bacteriën zijn verdwenen. We zien dat dit een stabiele oplossing geeft. Dit komt overeen met eerder geziene stabiliteitsanalyse, aangezien er met deze constanten geldt dat β > 1 − γl• . Vervolgens zal er gekeken worden wat er gebeurt als de invloed van de bacteriën op de fibroblaaten groter is en de invloed van de fibroblasten op de bacteriën kleiner. De waardes die genomen worden zijn als volgt: αf b = 0.9 en αbf = 1.1. De resultaten hiervan na verschillende tijdstappen zijn te vinden in figuur 15. 40 (a) Resultaat na 1 tijdstap (b) Resultaat na 5 tijdstappen (c) Resultaat na 10 tijdstappen (d) Resultaat na 50 tijdstappen Figuur 15: Resultaten van de simulaties na verschillende tijdstappen. Wat hier gelijk opvalt is dat de wond na 50 tijdstappen nog niet geheel genezen is. De fibroblasten dichtheid heeft zich niet geheel kunnen herstellen en er zijn nog steeds bacteriën aanwezig. De genezing van de wond gaat dus bij deze omstandigheden een stuk langzamer. Om te kijken of de wond kan genezen zullen er nog wat resultaten bekeken worden na meer tijdstappen. Deze zijn te zien in figuur 16. 41 (a) Resultaat na 100 tijdstappen (b) Resultaat na 500 tijdstappen (c) Resultaat na 1000 tijdstappen (d) Resultaat na 2500 tijdstappen Figuur 16: Resultaten van de simulaties na verschillende tijdstappen. Hieruit valt op te maken dat de wond zich uiteindelijk wel zal genezen. We zien dat ook dit een stabiele oplossing geeft. Dit komt weer overeen met eerder geziene stabiliteitsanalyse, aangezien nog steeds zal gelden dat β > 1 − γl• . Vervolgens zal er gekeken worden wat de invloed van de leukocyten hierin is. Verwacht wordt dat als de invloed van de leukocyten op de bacteriën groter zal zijn, dan zal de wond sneller genezen. Er zal gekeken worden of dit ook daadwerkelijk zo is. De waardes die gebruik zullen worden zijn als volgt: αf b = 0.9, αf b = 1.1 en αbl = 2000. De resultaten hiervan na simmulaties op verschillende tijdstappen zijn te vinden in figuur 17. 42 (a) Resultaat na 100 tijdstap (b) Resultaat na 500 tijdstappen (c) Resultaat na 1000 tijdstappen (d) Resultaat na 2500 tijdstappen Figuur 17: Resultaten van de simulaties na verschillende tijdstappen. Er valt nu gelijk op dat de genezing van de wond een stuk sneller gaat. Het is dus zeer effectief om goede leukocyten in het lichaam te hebben. Verder zien we weer dat ook deze oplossing stabiel is. Aangezien αbl groter is geworden zal nog steeds gelden dat β > 1 − γl• . Vervolgens is er gekeken naar een type bacterie die een grotere invloed zal uitoefenen op de fibroblasten. De waardes die worden gekozen luiden als volgt: αf b = 1.1, αbf = 1.1 en αbf =l = 2. De resultaten hiervan na verschillende tijdstappen zijn te vinden in figuur 18. 43 (a) Resultaat na 100 tijdstap (b) Resultaat na 500 tijdstappen (c) Resultaat na 1000 tijdstappen (d) Resultaat na 2500 tijdstappen Figuur 18: Resultaten van de simulaties na verschillende tijdstappen. Wat als eerste opvalt is dat de wond zich, ondanks de bacteriën een grotere invloed zullen hebben op de fibroblasten, nog steeds kan genezen. Ook deze oplossing is weer stabiel, er geldt nog steeds dat β > 1−γl• . Tot slot zal er gekeken worden wat de invloed is van de beginvoorwaarden op het eindresultaat van de wond. Er zal gekeken worden naar een wond waarbij er een stuk meer bacteriën aanwezig zullen zijn. De parameters die gebruikt worden zijn nog steeds αf b = 1, 1, αbf = 1, 1 en αbl = 2. De resultaten hiervan zijn te vinden in figuur 19. 44 (a) Resultaat na 100 tijdstap (b) Resultaat na 500 tijdstappen (c) Resultaat na 1000 tijdstappen (d) Resultaat na 2500 tijdstappen Figuur 19: Resultaten van de simulaties na verschillende tijdstappen. Wat we hier gelijk zien is dat de bacteriën het gaan winnen van de fibroblasten. De wond zal zich niet genezen en er is sprake van een chronische infectie. 45 5.2 Resultaten van een vierkante wond Na de implementatie van de tweedimensionale discretisatie in Matlab, kunnen de resultaten bekeken worden. Als eerst wordt er een run gedaan met de volgende constanten: Constante Df0 Db Dl χl Dc cr kf kl kc kb kcl αf b αbf αbl f∞ b∞ κ Waarde 1 · 10−5 1.5 · 10−5 1 · 10−3 1 · 10−3 1 · 10−5 0.1 10 4.60 5 5 0.9 0.5 2 2 1 1 0.5 Eenheid cm2 s−1 cm2 s−1 cm2 s−1 cm2 s−1 cm2 s−1 cm−2 dag−1 dag−1 dag−1 dag−1 dag−1 cm−2 cm−2 s−1 Verder zal de eerste run gedaan worden met de volgende beginvoorwaarden: f = 0.9, b = 0.1, l = 0.01 en c = 0.5. Het resultaat van de tijdsintegratie na 10 tijdstappen, in de vorm van een contourplot, is te vinden in figuur 20. 46 (a) Fibroblasten (b) Bacteriën (c) Leukocyten (d) Chemokinen Figuur 20: Resultaten na de implementatie in Matlab na 10 tijdstappen. Er gebeurt nog niet veel interessants, er is immers nog bijna geen tijd voorbij gegaan. In principe zien we hier de beginvoorwaarden terug. Om de evolutie van de wond te kunnen volgen zal vervolgens het resultaat bekeken worden na 100 tijdstappen. Deze is te vinden in figuur 21. 47 (a) Fibroblasten (b) Bacteriën (c) Leukocyten (d) Chemokinen Figuur 21: Resultaten na de implementatie in Matlab na 100 tijdstap. Merk op dat de hoeveelheid leukocyten in het gebied enorm is gestegen. Voornamelijk aan de onderrand. Waar de leukocyten naar binnen komen stromen is de hoeveelheid leukocyten groot. Hier zie je dat de fibroblasten zich herstellen en de bacteriën verdwijnen. In het gebied dat niet aan de onderrand ligt is de fibroblasten dichtheid ook gestegen, terwijl de bacterie dichtheid is gedaald. We zien dus dat de wond aan het genezen is. Een grotere verandering zal zichtbaar zijn na 1000 tijdstappen. Het resultaat hiervan is te zien in figuur 22. 48 (a) Fibroblasten (b) Bacteriën (c) Leukocyten (d) Chemokinen Figuur 22: Resultaten na de implementatie in Matlab na 1000 tijdstappen. Na 1000 tijdstappen is er een duidelijk verschil te zien. De waardes van de fibroblasten gaan richting de één en de waardes van de bacteriën gaan naar de nul. Aan de onderrand van het gebied is zichtbaar dat de leukocyten naar binnen stromen. Daar ontstaat dan ook een gebied waar de fibroblasten geheel genezen zijn en de bacteriën compleet weg zijn. Ook de concentratie van de chemokinen is daar gelijk aan nul. In deze situatie zal de wond geheel genezen. We zien dat dit een stabiele oplossing is. Dit komt overeen met eerder geziene stabiliteitsanalyse, aangezien er met deze constanten geldt dat β > 1 − γl• . Vervolgens zal er gekeken worden wat voor een invloed de beginvoorwaarden op het probleem hebben. Er zal gekozen worden dat f = 0.1 en b = 0.9. De rest van de beginvoorwaarden blijven gelijk aan de vorige situatie. De resultaten hiervan zijn te vinden in sectie 7, figuren 23 - 26 Ook zal er in deze situatie nog niet veel gebeuren na 10 tijdstappen. We zien weer ongeveer de beginvoorwaarden. De fibroblastendichtheid is erg laag, behalve aan de rand waar de leukocyten het gebied binnen stromen. Hier worden de bacteriën opgeruimd en zijn de fibroblasten gaan herstellen. Er zijn dus grote verschillen aanwezig binnen de wond. Na 50 tijdstappen is dit effect nog beter zichtbaar. Er zijn meer leukocyten in het gebied aanwezig en dus ook minder bacteriën. Verder zien we dat na 1000 tijdstappen de fibroblasten dichtheid weer naar de één gaat. De wond zal zich dus ondanks de begin situatie, waar de fibroblasten bijna verdwenen waren, kunnen herstellen. Dit is goed nieuws voor het lichaam. Een wond zal zich dus, ook al is deze hevig geı̈nfecteerd, onder bepaalde omstandigheden toch kunnen genezen. In het vervolg zal als beginvoorwaarden voor de fibroblasten en bacteriën het volgende worden genomen: f = 0.5 en b = 0.5. Er zal gekeken worden naar wat er met de wond gebeurd als de bacteriën een grotere 49 invloed hebben op de fibroblasten en de fibroblasten een kleinere invloed op de bacteriën. De parameters die worden gekozen zijn als volgt αf b = 0.9, αbf = 1.1 en αf b = 2. De resultaten die hiermee verkregen werden door middel van simmulatie zijn te vinden in sectie 7, figuren 27 - 30. We zien dat na 2500 tijdstappen de wond wel aan het genezen is. De fibroblasten dichtheid is gestegen van 0.5 naar ongeveer 0.83. Merk op dat de genezing van de wond onder deze omstandigheden erg langzaam is. Het lijkt alsof de wond uiteindelijk wel zal genezen, de fibroblasten dichtheid blijft immers stijgen, terwijl de bacterie dichtheid blijft dalen. Er is vervolgens onderzocht wat de rol van de leukocyten hierin is. Verwacht wordt dat als de leukocyten effectiever zijn in het opruimen van de bacteriën de wond zich sneller kan genezen. De situatie is gelijk aan de vorige alleen geldt nu dat αbl = 200. De resultaten die hievan verkregen werden zijn te vinden in sectie 7, figuren 31 - 32. Wat nu gelijk opvalt is dat de wond zich na 2500 tijdstappen wel heeft kunnen genezen. De fibroblasten dichtheid heeft zich hersteld en de bacteriën zijn verdwenen. De leukocyten hebben hun werk goed gedaan. Het is dus zeer effectief voor het menselijk lichaam om goede leukocyten in het lichaam te hebben. Nu rijst de vraag wat er met de wond gebeurt als er sprake is van een zeer aggressieve bacterie. De invloed van de bacteriën op de fibroblasten zal dan groter worden. Om dit te onderzoeken zijn de volgende parameters gebruikt: αf b = 1.1, αbf = 1.1 en αbl = 2. De resultaten hiervan zijn te vinden in sectie 7, figuren 33 - 35. We zien hier dat er eigenlijk niet zo veel gebeurd in de wond. Er lijkt geen verbetering plaats te vinden, maar het wordt ook niet slechter. Er zal gekeken worden of de leukocyten hier nog verandering in kunnen brengen. De resultaten hiervan zijn te vinden in sectie 7, figuren 36 - 38. We zien nu dat de wond zich wel kan genezen. Vervolgens zullen er ook haarvaten aan de bovenkant van het gebied worden gemaakt. De leukocyten kunnen nu ook via de bovenkant van het gebied binnenstromen. De parameters die gebruikt worden zijn als volgt: αf b = 0.5, αbf = 2 en αbl = 2. Als beginvoorwaarden is genomen dat f = 0.9 en b = 0.1. De resultaten hiervan zijn te vinden in sectie 7, figuren 39 - 41. De leukocyten stromen nu inderdaad ook van boven het gebied in. Aan de onder- en bovenrand van het gebied zullen de bacteriën dus sneller opgeruimd kunnen worden. We zien dat dit in het midden van het gebied niet veel uitmaakt. Het is vooral aan de rand waar het grote verschil zichtbaar is. Op de plekken die grenzen aan de haarvaten worden de bacteriën heel snel op geruimd. Hier zal de wond zich snel kunnen genezen. Het is dus goed voor het lichaam om veel haarvaten aanwezig te hebben zodat op alle plaatsen binnen een verwonding snel leukocyten aanwezig kunnen zijn. Ten slotte is er onderzocht worden wat de invloed van de mobiliteiten hierin is. De parameters die gebruikt werden zijn als volgt: αf b = 0.5, αbf = 1.1 en αbl = 2. De resultaten hiervan met leukocyten aan de boven- en onderrand van de oorspronkelijke mobiliteiten zijn te vinden in sectie 7, figuren 42 - 45. Als eerst zal de mobiliteit van de leukocyten worden verhoogd. De leukocyten zullen dus beter en sneller door het gebied kunnen stromen. Er zal gelden dat Dl = 1 · 10−2 en χl = 1 · 10−2 . De resultaten hiervan zijn te vinden in sectie 7, figuren 46 - 47. Wat we zien is dat de leukocyten zich meer door het gebied zullen verspreiden. Er is dus een groter gebied waar de bacteriën snel worden opgeruimd en de fibroblasten dichtheid zich kunnen herstellen. Dit is dus een positief effect op de genezing van de wond. 50 Als laatst is er nog gekeken naar het effect van minder mobiele fibroblasten. De waardes zijn gelijk aan vorige, maar Df0 = 1 · 10−6 . De resultaten hiervan zijn te vinden in sectie 7, figuren 48 - 49. We zien hier dat de wond zich minder snel kan genezen door de vermindering in mobiliteit van de fibroblasten. 51 6 Conclusie Tijdens het project is als eerst de biologische situatie in een wond bekeken. Vervolgens is gekeken hoe dit vertaald kan worden naar een wiskundig model. Dit model is gediscretiseerd voor twee situaties. Een één dimensionale snijwond en een vierkante wond in R2 . Vervolgens is er in een Matlab omgeving programmatuur onwikkeld en zijn hier simulaties mee gedaan. Na het bespreken van de resultaten kunnen er een aantal conclusies worden getrokken. Er zijn verschillende simulaties gedaan waarbij steeds de constanten iets werden aangepast. Als eerste zal er gekeken worden naar de resultaten van de snijwond. Als eerst hebben we geizen dat op de plaatsen waar de leukocyten het gebied binnen stromen de bacteriën inderdaad opgeruimd worden. De fibroblasten kunnen zich daar herstellen. Er is gekeken hoe de wond zich evolueert gedurende de tijd. Er was gebleken dat de wond zich, onder de omstandigheden dat de fibroblasten een sterke concurrent zijn in de competitie met de bacteriën en de bacteriën een zwakke concurrent zijn in de competitie met de fibroblasten, kan genezen. De leukocyten spelen een rol in de snelheid waarmee de wond zich kan genezen. Op het moment dat het effect van de leukocyten op de bacteriën groter wordt, worden de bacteriën sneller opgeruimd en kan de wond zich sneller gaan herstellen. Actieve leukocyten hebben dus een positieve invloed op het herstellen van verwondingen. Dit effect was ook terug te zien op het moment dat de wond te maken kreeg met een zeer actieve bacteriën. Verder was te zien dat het onder deze omstandigheden het een stuk langer zal duren voordat de wond zich kan genezen. Of de wond onder deze omstandigheden kan genezen hangt sterk af van de beginstand van de wond. Op het moment dat er in het begin te veel bacteriën in de wond aanwezig zullen zijn, winnen de leukocyten het niet meer van de bacteriën en zal er een gehele infectie ontstaan. Vervolgens zullen de resultaten van de vierkante wond besproken worden. Hierbij is de eerste simulatie gedaan onder de omstandigheden dat de fibroblasten een sterke concurrent zijn in de competitie met de bacteriën en omgekeert bacteriën een zwakke concurrent. Als eerst kon geconcludeerd worden dat er veel tijdstappen nodig zijn om een verandering te zien plaatsvinden in de wond. Er zal dus gekeken worden naar minstens 1000 tijdstappen. Na zoveel tijd is de wond gestabiliseerd en kan er iets gezegd worden over wat er met de wond onder de omstandigheden zal gebeuren. Verder kon worden opgemerkt dat de wond zich onder deze omstandigheden goed kan genezen. Gedurende de genezing van de wond is aan de evolutie te zien dat de hoeveelheid leukocyten in het gebied steeds groter wordt naarmate er meer tijd voorbij is gegaan. Met zo veel leukocyten aanwezig in de wond kunnen de bacteriën worden opgeruimd en kunnen de fibroblasten zich herstellen. Verder was duidelijk te zien dat dit voor een stabiele oplossing zorgt. Dit kwam overeen met eerder geziene stabiliteitsanalyse. Er is onderzocht wat de beginvoorwaarden voor een invloed hebben op dit probleem. Hieruit bleek dat zelf als er gekeken wordt naar een beginsituatie waarbij er zeer weinig fibroblasten aanwezig zijn en veel bacteteriën, de wond zich uiteindelijk alsnog kan genezen. Hierop volgend zijn er twee situaties met elkaar vergeleken. Eén waarbij er sprake is van bacteriën die een niet heel erg zwakke concurrent zijn in de competitie met de fibroblasten en de fibroblasten een niet heel erg sterke concurrent zijn in de competitie met de bacteriën. Verder zullen de leukocyten niet heel erg effectief zijn in het opruimen van de bacteriën. In het andere geval was er wel sprake van effectieve leukocyten. In het eerste geval was te zien dat de genezing van de wond heel erg langzaam zal gaan. Het leek erop dat de wond zich uiteindelijk wel zal genezen maar dat hier lang de tijd voor nodig zal zijn. Op 52 het moment dat er sprake was van zeer effectieve leukocyten kon de wond zich echter wel binnen 2500 tijdstappen genezen. Dit effect werd nog beter zichbaar op het moment dat er sprake is van bacteriën die een net zo sterke concurrent is als de fibroblasten. Duidelijk zichbaar was dat als er sprake is van niet erg effectieve leukocyten er een soort evenwichtssituatie ontstond. Er was op dat moment sprake van een chronische infectie. Terwijl als er wel sprake is van effectieve leukocyten de wond zich wel kon genezen. Om de wond wat realistischer te maken zijn er ook haarvaten aan de bovenrand van het gebied toegevoegd. Er kan worden gezien dat de gebieden in de buurt van de haarvaten zich snel kunnen genezen. Hieruit kan geconcludeerd worden dat het effectief is voor het menselijk lichamelijk als er een uitgebreid netwerk van haarvaten aanwezig is. Tot slot is er gekeken naar het effect van de mobiliteiten hierin. Hieruit bleek dat als de mobiliteit van de leukocyten omhoog gaat, er een groter gebied rond het haarvat kan profiteren van de binnenstromende leukocyten. Er ontstaat een groter gebied waarbij de leukocyten de bacteriën erg snel opruimen en de fibroblasten dichtheid zich snel kan herstellen. Verder is gezien dat als de mobiliteit van de fibroblasten omlaag gaat, de wond zich minder snel zal kunnen genezen. Er is dus gezien dat de de invloed van de leukocyten groot is op de genezing van de wond. Met name op de tijdspan die een wond nodig heeft. Als er sprake is van effectieve leukocyten, kan een wond een stuk sneller genezen. Verder is ook gezien dat de soort bacterie van grote invloed is. Op het moment dat het lichaam te maken krijgt met een aggressieve bacterie, kan een wond zich niet of minder snel genezen. 53 Referenties [1] J. van Kan, A. Segal, F.J. Vermolen (2005), Numerical Methods in Scientific Computing. [2] E. Javierre, F.J. Vermolen (2014), A Phenomenological Continuum-Based Model For Immonulogy. [3] E. Javierre, F.J. Vermolen (2014), Mathematical Modelling Of Wound Infection: Implications To Delayed Wound Healing. [4] F.J. Vermolen, M.M. Mul, A. Gefen, Semi-Stochastic Cell-Level Computational Modeling Of The Immune System Response To Bacterial Infections And The Effects Of Antibiotics. ’ [5] F.J. Vermolen, E.C.M.M. Arkesteijn, A. Gefen, Modeling The Immune System Response To Epithelial Wound Infections. [6] G. Topman, F.H. Lin, A. Gefen, The Influcene Of Ischemic Factors On The Migration Rates Of Cell Types Involved In Cutaneous And Subcutaneous Pressure Ulcers. [7] Yeong-Chul Kim (1996), Diffusivity Of Bacteria. [8] http://www.textbookofbacteriology.net/growth 3.html. [9] http://www.implants.nl/download/lllt/1.pdf. 54 7 7.1 Appendix Figuren (a) Fibroblasten (b) Bacteriën (c) Leukocyten (d) Chemokinen Figuur 23: Resultaten na de implementatie in Matlab na 10 tijdstappen, met de parameters αf b = 0.5, αbf = 2 en αbl = 2 en de beginvoorwaarden f = 0.1 en b = 0.9. 55 (a) Fibroblasten (b) Bacteriën (c) Leukocyten (d) Chemokinen Figuur 24: Resultaten na de implementatie in Matlab na 50 tijdstappen, met de parameters αf b = 0.5, αbf = 2 en αbl = 2 en de beginvoorwaarden f = 0.1 en b = 0.9. 56 (a) Fibroblasten (b) Bacteriën (c) Leukocyten (d) Chemokinen Figuur 25: Resultaten na de implementatie in Matlab na 100 tijdstappen, met de parameters αf b = 0.5, αbf = 2 en αbl = 2 en de beginvoorwaarden f = 0.1 en b = 0.9. 57 (a) Fibroblasten (b) Bacteriën (c) Leukocyten (d) Chemokinen Figuur 26: Resultaten na de implementatie in Matlab na 1000 tijdstappen, met de parameters αf b = 0.5, αbf = 2 en αbl = 2 en de beginvoorwaarden f = 0.1 en b = 0.9. 58 (a) Fibroblasten (b) Bacteriën (c) Leukocyten (d) Chemokinen Figuur 27: Resultaten na de implementatie in Matlab na 50 tijdstappen, met de parameters αf b = 0.9, αbf = 1.1 en αbl = 2 en de beginvoorwaarden f = 0.5 en b = 0.5. 59 (a) Fibroblasten (b) Bacteriën (c) Leukocyten (d) Chemokinen Figuur 28: Resultaten na de implementatie in Matlab na 500 tijdstappen, met de parameters αf b = 0.9, αbf = 1.1 en αbl = 2 en de beginvoorwaarden f = 0.5 en b = 0.5. 60 (a) Fibroblasten (b) Bacteriën (c) Leukocyten (d) Chemokinen Figuur 29: Resultaten na de implementatie in Matlab na 1000 tijdstappen, met de parameters αf b = 0.9, αbf = 1.1 en αbl = 2 en de beginvoorwaarden f = 0.5 en b = 0.5. 61 (a) Fibroblasten (b) Bacteriën (c) Leukocyten (d) Chemokinen Figuur 30: Resultaten na de implementatie in Matlab na 2500 tijdstappen, met de parameters αf b = 0.9, αbf = 1.1 en αbl = 2 en de beginvoorwaarden f = 0.5 en b = 0.5. 62 (a) Fibroblasten (b) Bacteriën (c) Leukocyten (d) Chemokinen Figuur 31: Resultaten na de implementatie in Matlab na 1500 tijdstappen, met de parameters αf b = 0.9, αbf = 1.1 en αbl = 200 en de beginvoorwaarden f = 0.5 en b = 0.5. 63 (a) Fibroblasten (b) Bacteriën (c) Leukocyten (d) Chemokinen Figuur 32: Resultaten na de implementatie in Matlab na 2500 tijdstappen, met de parameters αf b = 0.9, αbf = 1.1 en αbl = 200 en de beginvoorwaarden f = 0.5 en b = 0.5. 64 (a) Fibroblasten (b) Bacteriën (c) Leukocyten (d) Chemokinen Figuur 33: Resultaten na de implementatie in Matlab na 100 tijdstappen, met de parameters αf b = 1.1, αbf = 1.1 en αbl = 2 en de beginvoorwaarden f = 0.5 en b = 0.5. 65 (a) Fibroblasten (b) Bacteriën (c) Leukocyten (d) Chemokinen Figuur 34: Resultaten na de implementatie in Matlab na 1000 tijdstappen, met de parameters αf b = 1.1, αbf = 1.1 en αbl = 2 en de beginvoorwaarden f = 0.5 en b = 0.5. 66 (a) Fibroblasten (b) Bacteriën (c) Leukocyten (d) Chemokinen Figuur 35: Resultaten na de implementatie in Matlab na 2500 tijdstappen, met de parameters αf b = 1.1, αbf = 1.1 en αbl = 2 en de beginvoorwaarden f = 0.5 en b = 0.5. 67 (a) Fibroblasten (b) Bacteriën (c) Leukocyten (d) Chemokinen Figuur 36: Resultaten na de implementatie in Matlab na 100 tijdstappen, met de parameters αf b = 1.1, αbf = 1.1 en αbl = 200 en de beginvoorwaarden f = 0.5 en b = 0.5. 68 (a) Fibroblasten (b) Bacteriën (c) Leukocyten (d) Chemokinen Figuur 37: Resultaten na de implementatie in Matlab na 500 tijdstappen, met de parameters αf b = 1.1, αbf = 1.1 en αbl = 200 en de beginvoorwaarden f = 0.5 en b = 0.5. 69 (a) Fibroblasten (b) Bacteriën (c) Leukocyten (d) Chemokinen Figuur 38: Resultaten na de implementatie in Matlab na 1500 tijdstappen, met de parameters αf b = 1.1, αbf = 1.1 en αbl = 200 en de beginvoorwaarden f = 0.5 en b = 0.5. 70 (a) Fibroblasten (b) Bacteriën (c) Leukocyten (d) Chemokinen Figuur 39: Resultaten na de implementatie in Matlab na 100 tijdstappen, met de parameters αf b = 0.5, αbf = 2 en αbl = 2 en de beginvoorwaarden f = 0.9 en b = 0.1. 71 (a) Fibroblasten (b) Bacteriën (c) Leukocyten (d) Chemokinen Figuur 40: Resultaten na de implementatie in Matlab na 500 tijdstappen, met de parameters αf b = 0.5, αbf = 2 en αbl = 2 en de beginvoorwaarden f = 0.9 en b = 0.1. 72 (a) Fibroblasten (b) Bacteriën (c) Leukocyten (d) Chemokinen Figuur 41: Resultaten na de implementatie in Matlab na 1000 tijdstappen, met de parameters αf b = 0.5, αbf = 2 en αbl = 2 en de beginvoorwaarden f = 0.9 en b = 0.1. 73 (a) Fibroblasten (b) Bacteriën (c) Leukocyten (d) Chemokinen Figuur 42: Resultaten na de implementatie in Matlab na 100 tijdstappen, met de parameters αf b = 0.9, αbf = 1.1 en αbl = 2 en de beginvoorwaarden f = 0.9 en b = 0.1. 74 (a) Fibroblasten (b) Bacteriën (c) Leukocyten (d) Chemokinen Figuur 43: Resultaten na de implementatie in Matlab na 500 tijdstappen, met de parameters αf b = 0.9, αbf = 1.1 en αbl = 2 en de beginvoorwaarden f = 0.9 en b = 0.1. 75 (a) Fibroblasten (b) Bacteriën (c) Leukocyten (d) Chemokinen Figuur 44: Resultaten na de implementatie in Matlab na 1000 tijdstappen, met de parameters αf b = 0.9, αbf = 1.1 en αbl = 2 en de beginvoorwaarden f = 0.9 en b = 0.1. 76 (a) Fibroblasten (b) Bacteriën (c) Leukocyten (d) Chemokinen Figuur 45: Resultaten na de implementatie in Matlab na 2500 tijdstappen, met de parameters αf b = 0.9, αbf = 1.1 en αbl = 2 en de beginvoorwaarden f = 0.9 en b = 0.1. 77 (a) Fibroblasten (b) Bacteriën (c) Leukocyten (d) Chemokinen Figuur 46: Resultaten na de implementatie in Matlab na 1000 tijdstappen, met de parameters αf b = 0.9, αbf = 1.1 en αbl = 2 en de beginvoorwaarden f = 0.9 en b = 0.1. 78 (a) Fibroblasten (b) Bacteriën (c) Leukocyten (d) Chemokinen Figuur 47: Resultaten na de implementatie in Matlab na 2500 tijdstappen, met de parameters αf b = 0.9, αbf = 1.1 en αbl = 2 en de beginvoorwaarden f = 0.9 en b = 0.1. 79 (a) Fibroblasten (b) Bacteriën (c) Leukocyten (d) Chemokinen Figuur 48: Resultaten na de implementatie in Matlab na 1000 tijdstappen, met de parameters αf b = 0.9, αbf = 1.1 en αbl = 2 en de beginvoorwaarden f = 0.9 en b = 0.1. 80 (a) Fibroblasten (b) Bacteriën (c) Leukocyten (d) Chemokinen Figuur 49: Resultaten na de implementatie in Matlab na 2500 tijdstappen, met de parameters αf b = 0.9, αbf = 1.1 en αbl = 2 en de beginvoorwaarden f = 0.9 en b = 0.1. 7.2 Matlab codes De functie Df : function [y] = D_f(c) % Mobiliteit fibroblasten % De mobiliteit van de fibroblasten hangt af van de concentratie van de % chemokinen. De chemokine concentratie reduceert de mobiliteit van de % fibroblasten als volgt: D_f0 = 1*10^(-5); c_r = 0.1; y = D_f0*max(0,1-c/c_r); end Plotten van de functie Df : %Gaan nu even de functie D_f plotten om te kijken hoe deze eruit ziet. %Bepalen van x, t en de vector chulp c = 0:0.1:2; D_fhulp = zeros(21,1); %Bereken chulp met behulp van de functie c for i = 1:21 81 D_fhulp(i) = D_f(c(i)); end plot(c,D_fhulp) 7.3 Implementatie van de snijwond in Matlab clear all; close all; %Stel je heb een snij-wond (deze kan dus benaderd worden als een wond in 1 %dimensie. %Constanten D_b = 1.5*10^(-5); D_l = 1*10^(-1); chi_l = 1*10^(-1); D_c = 1*10^(-5); k_f = 10; k_l = 7/8; k_c = 5; k_b = 5; k_cl = 0.9; a_fb = 1.1; a_bf = 0.9; a_bl = 10; f_inf = 1; b_inf = 1; kap = 0.5; %Bacterien mobiliteit concentratie %Leukocyten mobiliteit concentratie %Leukocyten mobiliteit concentratie %Chemokinen mobiliteit concentratie %Proliferation rate/groeiterm door celdeling %Death rate constant leukocytes %Bacterial regeneration %Proliferation rate/groeiterm door celdeling %decay rate coefficient %Competition number fibroblasten and bacteria %Competition number bacteria and fibroblasten %Competition number bacteria and leukocytes? %Verzadigdheidsdichtheid fibroblasten %Verzadigdheidsdichtheid bacterien %Release rate of leukocytes from the venules %Bepaal stapgrootte h en daarmee de grootte N van de matrices dx = 0.005; N = (1/dx)+1; e = ones(N,1); %Vectoren waar de numerieke oplossingen in komen: ff = 0.9*ones(N,1); %numerieke oplossing van de fibroblasten bb = 0.1*ones(N,1); %numerieke oplossing van de bacterien ll = 0.01*ones(N,1); %numerieke oplossing van de leukocyten cc = 0.5*ones(N,1); %numerieke oplossing van de chemokinen %Maken van de matrix M (in princiepe zijn Mf, Mb, Ml en Mc hetzelfde er zal %dus worden gekozen voor 1 matrix M) M = dx*eye(N); %Nu de ’hoekjes’ corrigeren: Op M(1,1) en M(N,N) wordt de waarde door 2 %gedeeld. M(1,1) = 0.5*dx; M(N,N) = 0.5*dx; 82 %EERST WORDEN DE MATRICES GEMAAKT DIE NODIG ZIJN VOOR DE DISCRETISATIE VAN %DE VERGELIJKING VOOR DE FIBROBLASTEN. DIT ZIJN S_f EN R_f. %Nu wordt de matrix S_f aangemaakt. %Eerst worden de hulpvectoren c_hulp1 en c_hulp2 aangemaakt. In c_hulp1 %staat op de i-de plek c(i)+c(i+1). In c_hulp2 staat op de i-de plek %c(i-1)+c(i). %IN DE TIJDSINTEGRATIE MOET DEZE STEEDS OPNIEUW GEMAAKT WORDEN %Nu wordt de matrix R_f aangemaakt. Deze heeft de waarde %f_i-alpha_fb b_i)/f^inf op de diagonaal. %IN DE TIJDSINTEGRATIE MOET DEZE STEEDS OPNIEUW GEMAAKT WORDEN %NU WORDEN DE MATRICES GEMAAKT DIE NODIG ZIJN VOOR DE DISCRETISATIE VAN %DE VERGELIJKING VOOR DE BACTERIEN. DIT ZIJN S_b EN R_b. %Nu wordt de matrix S_b aangemaakt. %Maken van de hoofddiagonaal van S_b Sbd = zeros(N,1); Sb1 = zeros(N,1); Sb2 = zeros(N,1); for i = 2:N-1 %Maken van de hoofddiagonaal van S_f Sbd(i) = D_c/dx + D_c/dx; %Maken van de bovendiagonaal Sb1(i) = -D_c/dx; %Maken van de bovendiagonaal Sb2(i) = -D_c/dx; end %Meenemen van de rand: Sbd(1) = D_c/dx; Sbd(N) = D_c/dx; Sb1(1) = -D_c/dx; Sb1(N) = 0; Sb2(1) = 0; Sb2(N) = -D_c/dx; S_b = spdiags([Sb2 Sbd Sb1], -1:1, N, N); %Nu wordt de matrix R_b aangemaakt. Deze heeft de waarde %b_i-alpha_fb f_i + alpha_bl l_i)/f^inf op de diagonaal. %IN DE TIJDSINTEGRATIE MOET DEZE STEEDS OPNIEUW GEMAAKT WORDEN %NU WORDEN DE MATRICES GEMAAKT DIE NODIG ZIJN VOOR DE DISCRETISATIE VAN %DE VERGELIJKING VOOR DE CHEMOKINEN. DIT ZIJN S_l1, S_l2 en R_l. %Nu wordt de matrix S_b aangemaakt. Dit gebeurt in de loop van de %tijdsintegratie aangezien deze afhankelijk is van de chemokinen en dus 83 %steeds opnieuw wordt aangemaakt. %Nu wordt de matrix R_l aangemaakt. Deze heeft de waarde %-k_l op de diagonaal. %IN DE TIJDSINTEGRATIE MOET DEZE STEEDS OPNIEUW GEMAAKT WORDEN %de vector kappa geeft de waarde -kap als deze aan een rand ligt waar %haarvaten aanwezig zijn. kappa = zeros(N,1); kappa(1) = -kap; kappa(N) = -kap; %NU WORDEN DE MATRICES GEMAAKT DIE NODIG ZIJN VOOR DE DISCRETISATIE VAN %DE VERGELIJKING VOOR DE CHEMOKINEN. DIT zijn S_c en R_c. %Maken van de matrix S_c Scd = zeros(N,1); Sc1 = zeros(N,1); Sc2 = zeros(N,1); for i = 2:N-1 %Maken van de hoofddiagonaal van S_f Sfd(i) = D_c/dx + D_c/dx; %Maken van de bovendiagonaal Sf1(i) = -D_c/dx; %Maken van de bovendiagonaal Sf2(i) = -D_c/dx; end %Meenemen van de rand: Scd(1) = D_c/dx; Scd(N) = D_c/dx; Sc1(1) = -D_c/dx; Sc1(N) = 0; Sc2(1) = 0; Sc2(N) = -D_c/dx; S_c = spdiags([Sc2 Scd Sc1], -1:1, N, N); %Nu wordt de matrix R_c1 aangemaakt. Deze heeft de waarde %IN DE TIJDSINTEGRATIE MOET DEZE STEEDS OPNIEUW GEMAAKT WORDEN %Nu wordt de matrix R_c2 aangemaakt. %IN DE TIJDSINTEGRATIE MOET DEZE STEEDS OPNIEUW GEMAAKT WORDEN %TIJD VOOR DE TIJDSINTEGRATIE %Tijdsintegratie Euler Achterwaarts dt = 1/(N-1); teind = 1; 84 t = 0:dt:teind; %Euler achterwaarts for j = 1:3000 Sfd = zeros(N,1); Sf1 = zeros(N,1); Sf2 = zeros(N,1); for i = 2:N-1 %Maken van de hoofddiagonaal van S_f Sfd(i) = D_f((cc(i+1)+cc(i))/2)/dx + D_f((cc(i-1)+cc(i))/2)/dx; %Maken van de bovendiagonaal Sf1(i) = -D_f((cc(i+1)+cc(i))/2)/dx; %Maken van de bovendiagonaal Sf2(i) = -D_f((cc(i-1)+cc(i))/2)/dx; end %Meenemen van de rand: Sfd(1) = D_f((cc(2)+cc(1))/2)/dx; Sfd(N) = D_f((cc(N-1)+cc(N))/2)/dx; Sf1(1) = -D_f((cc(2)+cc(1))/2)/dx; Sf1(N) = 0; Sf2(1) = 0; Sf2(N) = -D_f((cc(N-1)+cc(N))/2)/dx; S_f = spdiags([Sf2 Sfd Sf1], -1:1, N, N); %Maken van de matrix S_l Sld = zeros(N,1); Sl1 = zeros(N,1); Sl2 = zeros(N,1); for i = 2:N-1 %Maken van de hoofddiagonaal van S_l Sld(i) = D_l/dx + (chi_l/2)*((cc(i+1)-cc(i))/dx) + D_l/dx + (chi_l/2)*((cc(i-1)-cc(i))/dx); %Maken van de bovendiagonaal Sl1(i) = (-D_l*dx) + (chi_l/2)*((cc(i+1)-cc(i))/dx); %Maken van de bovendiagonaal Sl2(i) = (-D_l*dx) + (chi_l/2)*((cc(i-1)-cc(i))/dx); end %Meenemen van de rand: Sld(1) = D_l/dx + (chi_l/2)*((cc(2)-cc(1))/dx); Sld(N) = D_l/dx + (chi_l/2)*((cc(N-1)-cc(N))/dx); Sl1(1) = -D_l/dx + (chi_l/2)*((cc(2)-cc(1))/dx); Sl1(N) = 0; Sl2(1) = 0; Sl2(N) = -D_l/dx + (chi_l/2)*((cc(N-1)-cc(N))/dx); S_hulp3 = spdiags([Sl2 Sld Sl1], -1:1, N, N); S_l = full(S_hulp3); rf = zeros(N,1); rb = zeros(N,1); 85 rl = zeros(N,1); rc1 = zeros(N,1); rc2 = zeros(N,1); %Maken van de reactiematrices for i=1:N rf(i) = dx*k_f*(1-((ff(i)+a_fb*bb(i))/(f_inf))); rb(i) = dx*k_b*(1-((bb(i)+a_bf*ff(i)+a_bl*ll(i))/(b_inf))); rl(i) = dx*k_l; rc1(i) = dx*k_c; rc2(i) = -dx*k_cl*ll(i); end rf(1) = rf(1)/2; rf(N) = rf(N)/2; rb(1) = rb(1)/2; rb(N) = rb(N)/2; rl(1) = rl(1)/2; rl(N) = rl(N)/2; rc1(1) = rc1(1)/2; rc1(N) = rc1(N)/2; rc2(1) = rc2(1)/2; rc2(N) = rc2(N)/2; R_f = spdiags(rf,0, N, N); R_b = spdiags(rb,0, N, N); R_l = spdiags(rl,0, N, N); R_c1 = spdiags(rc1,0, N, N); R_c2 = spdiags(rc2,0, N, N); ff bb ll cc = = = = (M (M (M (M + + + + dt*S_f dt*S_b dt*S_l dt*S_c - dt*R_f)\(M*ff); dt*R_b)\(M*bb); dt*R_l)\(M*ll - dt*kappa); dt*R_c2)\(M*cc + dt*R_c1*bb); end x = 0:dx:1; plot(x,ff) hold on plot(x,bb,’r’) 7.4 Implementatie van de vierkante wond in Matlab Voor de implementatie zijn verscheidende functies aangemaakt die een vector teruggeven met nullen, maar als gridpunt i in het bedoelde gebied ligt, krijgt het i-de element de waarde 1. Functie waarbij het gridpunt dat in de linkeronderhoek ligt de waarde 1 krijgt: function [y] = loh(dx,dy) %Bepaal stapgrootte h en daarmee de grootte N van de matrices m = (1/dx)+1; %aantal gridpunten in de x-richting 86 q = (1/dy)+1; N = m*q; %aantal gridpunten in de y-richting %Totaal aantal gridpunten y = zeros(N,1); y(1) = 1; end Functie waarbij het gridpunt dat in de rechteronderhoek ligt de waarde 1 krijgt: function [y] = roh(dx,dy) %Bepaal stapgrootte h en daarmee de m = (1/dx)+1; %aantal q = (1/dy)+1; %aantal N = m*q; %Totaal grootte N van de matrices gridpunten in de x-richting gridpunten in de y-richting aantal gridpunten y = zeros(N,1); y(m) = 1; end Functie waarbij het gridpunt dat in de linkebovenhoek ligt de waarde 1 krijgt: function [y] = lbh(dx,dy) %Bepaal stapgrootte h en daarmee de m = (1/dx)+1; %aantal q = (1/dy)+1; %aantal N = m*q; %Totaal grootte N van de matrices gridpunten in de x-richting gridpunten in de y-richting aantal gridpunten y = zeros(N,1); y(N-m+1) = 1; end Functie waarbij het gridpunt dat in de rechterbovenhoek ligt de waarde 1 krijgt: function [y] = rbh(dx,dy) %Bepaal stapgrootte h en daarmee de m = (1/dx)+1; %aantal q = (1/dy)+1; %aantal N = m*q; %Totaal grootte N van de matrices gridpunten in de x-richting gridpunten in de y-richting aantal gridpunten y = zeros(N,1); y(N) = 1; end Functie waarbij de gridpunten die op de onderrand liggen de waarde 1 krijgen: function [y] = south(dx,dy) %Bepaal stapgrootte h en daarmee de m = (1/dx)+1; %aantal q = (1/dy)+1; %aantal N = m*q; %Totaal grootte N van de matrices gridpunten in de x-richting gridpunten in de y-richting aantal gridpunten y = zeros(N,1); for i=1:N 87 if i > 1 && i < m y(i) = 1; end end end Functie waarbij de gridpunten die op de rechterrand liggen de waarde 1 krijgen: function [y] = east(dx,dy) %Bepaal stapgrootte h en daarmee de grootte N van de matrices m = (1/dx)+1; %aantal gridpunten in de x-richting q = (1/dy)+1; %aantal gridpunten in de y-richting N = m*q; %Totaal aantal gridpunten y = zeros(N,1); for i=1:N for p = 2:q-1 if i == p*m y(i) = 1; end end end end Functie waarbij de gridpunten die op de bovenrand liggen de waarde 1 krijgen: function [y] = north(dx,dy) %Bepaal met de stapgrootte de grootte N van de matrices m = (1/dx)+1; %aantal gridpunten in de x-richting q = (1/dy)+1; %aantal gridpunten in de y-richting N = m*q; %Totaal aantal gridpunten y = zeros(N,1); for i=1:N if i > N-m+1 && i < N y(i) = 1; end end end Functie waarbij de gridpunten die op de linkerrand liggen de waarde 1 krijgen: function [y] = westh(dx,dy) %Bepaal stapgrootte h en daarmee de m = (1/dx)+1; %aantal q = (1/dy)+1; %aantal N = m*q; %Totaal grootte N van de matrices gridpunten in de x-richting gridpunten in de y-richting aantal gridpunten y = zeros(N,1); for i=1:N for p = 1:q-2 if i == p*m + 1 88 y(i) = 1; end end end end Functie waarbij de gridpunten die niet aan de rand of in de hoek liggen de waarde 1 krijgen: function [y] = middle(dx,dy) %Bepaal stapgrootte h en daarmee de m = (1/dx)+1; %aantal q = (1/dy)+1; %aantal N = m*q; %Totaal grootte N van de matrices gridpunten in de x-richting gridpunten in de y-richting aantal gridpunten y = zeros(N,1); for i=1:N for p = 1:max(m,q) if i>m && i<N-m+1 && i<p*m && i>(p-1)*m+1 y(i) = 1; end end end end Deze funties worden gebruikt bij de invoer van de discretisatie: clear all; close all; %Constanten D_b = 1.5*10^(-5); D_l = 1*10^(-1); chi_l = 1*10^(-1); D_c = 1*10^(-5); k_f = 10; k_l = 7/8; k_c = 5; k_b = 5; k_cl = 0.9; a_fb = 1.1; a_bf = 0.9; a_bl = 10; f_inf = 1; b_inf = 1; kap = 0.5; %Bacterien mobiliteit concentratie %Leukocyten mobiliteit concentratie %Leukocyten mobiliteit concentratie %Chemokinen mobiliteit concentratie %Proliferation rate/groeiterm door celdeling %Death rate constant leukocytes %Bacterial regeneration %Proliferation rate/groeiterm door celdeling %decay rate coefficient %Competition number fibroblasten and bacteria %Competition number bacteria and fibroblasten %Competition number bacteria and leukocytes? %Verzadigdheidsdichtheid fibroblasten %Verzadigdheidsdichtheid bacterien %Release rate of leukocytes from the venules %Bepaal stapgrootte h en daarmee de grootte N van de matrices dx = 1/30; %afstand tussen de gridpunten in de x-richting dy = 1/30; %afstand tussen de gridpunten in de y-richting m = (1/dx)+1; %aantal gridpunten in de x-richting q = (1/dy)+1; %aantal gridpunten in de y-richting N = m*q; %Totaal aantal gridpunten 89 e = ones(N,1); %standaardvector met N elementen %maak vectoren aan die de waarde 1 krijgt als gridpunt i in het aangeduide gebied %ligt en de waarde 0 krijgt als i erbuiten ligt zuid = south(dx,dy); noord = north(dx,dy); west = westh(dx,dy); oost = east(dx,dy); lohoek = loh(dx,dy); rohoek = roh(dx,dy); lbhoek = lbh(dx,dy); rbhoek = rbh(dx,dy); midden = middle(dx,dy); %Vectoren waar de numerieke oplossingen in komen: ff = 0.9*ones(N,1); %numerieke oplossing van de bb = 0.1*ones(N,1); %numerieke oplossing van de ll = 0.01*ones(N,1); %numerieke oplossing van de cc = 0.5*zeros(N,1); %numerieke oplossing van de fibroblasten bacterien leukocyten chemokinen %Maken van de matrix M (in princiepe zijn Mf, Mb, Ml en Mc hetzelfde er zal %dus worden gekozen voor 1 matrix M) M = dx*dy*eye(N); for i = 1:N %randen corrigeren if zuid(i) == 1 || noord(i) == 1 || west(i) == 1 || oost(i) == 1 M(i,i) = 0.5*dx*dy; end %hoeken corrigeren if lohoek(i)==1 || rohoek(i)==1 || lbhoek(i)==1 || rbhoek(i)==1 M(i,i) = 0.25*dx*dy; end end %Maken van de matrices S_f en S_l: %de hoofddiagonaal ad = zeros(N,1); %De bovendiagonaal; komt overeen met j+1 a1 = zeros(N,1); %De onderdiagonaal; komt overeen met j-1 a2 = zeros(N,1); %De diagonaal die overeen komt met j+m a3 = zeros(N,1); %De bovendiagonaal die overeen komt met j-m a4 = zeros(N,1); %zorg voor M nullen tussen b1 en b3 a5 = zeros(N,m); %Maken van de matrix S_b for i = 1:N 90 %De linkeronderhoek if rohoek(i) == 1 ad(i) = (1/dy)*(dx/2) + (1/dx)*(dy/2); a1(i) = -(1/dx)*(dy/2); a2(i) = 0; a3(i) = -(1/dy)*(dx/2); a4(i) = 0; end %De rechteronderhoek if rohoek(i) == 1 ad(i) = (1/dy)*(dx/2) + (1/dx)*(dy/2); a1(i) = 0; a2(i) = -(1/dx)*(dy/2); a3(i) = -(1/dy)*(dx/2); a4(i) = 0; end %De linkerbovenhoek if lbhoek(i) == 1 ad(i) = (1/dy)*(dx/2) + (1/dx)*(dy/2); a1(i) = -(1/dx)*(dy/2); a2(i) = 0; a3(i) = 0; a4(i) = -(1/dy)*(dx/2); end %De rechterbovenhoek if rbhoek(i) == 1 ad(i) = (1/dy)*(dx/2) + (1/dx)*(dy/2); a1(i) = 0; a2(i) = -(1/dx)*(dy/2); a3(i) = 0; a4(i) = -(1/dy)*(dx/2); end %Controlevolumes met de south-rand gelijk aan de onderkant van het %gebied. if zuid(i) == 1 ad(i) = (1/dy)*dx + (2/dx)*(dy/2); a1(i) = -(1/dx)*(dy/2); a2(i) = -(1/dx)*(dy/2); a3(i) = -(1/dy)*dx; a4(i) = 0; end %Controlevolumes met de west-rand gelijk aan de linkerkant van het %gebied. if west(i) == 1 ad(i) = (2/dy)*dx + (1/dx)*(dy/2); a1(i) = -(1/dx)*dy; a2(i) = 0; a3(i) = -(1/dy)*(dx/2); a4(i) = -(1/dy)*(dx/2); 91 end %Controlevolumes met de east-rand gelijk aan de rechterkant van het %gebied. if oost(i) == 1 ad(i) = (2/dy)*dx + (1/dx)*(dy/2); a1(i) = 0; a2(i) = -(1/dx)*dy; a3(i) = -(1/dy)*(dx/2); a4(i) = -(1/dy)*(dx/2); end %Controlevolumes met de north-rand gelijk aan de bovenkant van het %gebied. if noord(i) == 1 ad(i) = (1/dy)*dx + (2/dx)*(dy/2); a1(i) = -(1/dx)*(dy/2); a2(i) = -(1/dx)*(dy/2); a3(i) = 0; a4(i) = -(1/dy)*dx; end %Controlevolumes die niet aan de rand of in de hoek liggen. if midden(i) == 1 ad(i) = (2/dy)*dx + (2/dx)*dy; a1(i) = -(1/dx)*dy; a2(i) = -(1/dx)*dy; a3(i) = -(1/dy)*dx; a4(i) = -(1/dy)*dx; end end S_b = D_b*spdiags([a4 a5 a2 ad a1 a5 a3], -2-m:2+m, N, N); S_c = D_c*spdiags([a4 a5 a2 ad a1 a5 a3], -2-m:2+m, N, N); %Maken van de vector Kappa: Als i een controlevolume aan de southrand van %het gebied is, dan krijgt deze vector de waarde kap. Anders is de vector %gelijk aan nul. kappa = zeros(N,1); for i = 1:N if rohoek(i) == 1 || lohoek(i) == 1 || zuid(i) == 1 kappa(i) = -kap; end % if rbhoek(i) == 1 || lbhoek(i) == 1 || noord(i) == 1 % kappa(i) = -kap; % end end %Maken van de matrices S_f en S_l: %de hoofddiagonaal fd = zeros(N,1); ld = zeros(N,1); 92 %De bovendiagonaal; komt overeen met j+1 f1 = zeros(N,1); l1 = zeros(N,1); %De onderdiagonaal; komt overeen met j-1 f2 = zeros(N,1); l2 = zeros(N,1); %De diagonaal die overeen komt met j+m f3 = zeros(N,1); l3 = zeros(N,1); %De bovendiagonaal die overeen komt met j-m f4 = zeros(N,1); l4 = zeros(N,1); %zorg voor M nullen tussen b1 en b3 f5 = zeros(N,m); l5 = zeros(N,m); %Maken van de matrix rf = zeros(N,1); %Maken van de matrix rb = zeros(N,1); %Maken van de matrix rl = zeros(N,1); %Maken van de matrix rc1 = zeros(N,1); %Maken van de matrix rc2 = zeros(N,1); R_f: R_b: R_l: R_c1: R_c2: %TIJD VOOR DE TIJDSINTEGRATIE %Tijdsintegratie Euler Achterwaarts dt = 1/(N-1); teind = 1; t = 0:dt:teind; for t = 1:1500 for i = 1:N %De linkeronderhoek if lohoek(i) == 1 fd(i) = D_f((cc(i+m)+cc(i))/2)*(1/dy)*(dx/2) + D_f((cc(i+1)+cc(i))/2)*(1/dx)*(dy/2); f1(i) = -D_f((cc(i+1)+cc(i))/2)*(1/dx)*(dy/2); f2(i) = 0; f3(i) = -D_f((cc(i+m)+cc(i))/2)*(1/dy)*(dx/2); f4(i) = 0; ld(i) = (D_l/dy)*(dx/2) + (chi_l/2)*((cc(i+m)-cc(i))/dy)*(dx/2) + (D_l/dx)*(dy/2) + (chi_l/2)*((cc(i+1)-cc(i))/dx)*(dy/2); l1(i) = -(D_l/dx)*dy + (chi_l/2)*((cc(i+1)-cc(i))/dx)*(dy/2); l2(i) = 0; 93 l3(i) = -(D_l/dy)*dx + (chi_l/2)*((cc(i+m)-cc(i))/dy)*(dx/2); l4(i) = 0; rf(i) = 0.25*dx*dy*k_f*(1-((ff(i) + a_fb*bb(i))/(f_inf))); rb(i) = 0.25*dx*dy*k_b*(1-((bb(i) + a_bf*ff(i) + a_bl*ll(i))/(b_inf))); rl(i) = -0.25*dx*dy*k_l; rc1(i) = 0.25*dx*dy*k_c; rc2(i) = -0.25*dx*dy*k_cl*cc(i); end %De rechteronderhoek if rohoek(i) == 1 fd(i) = D_f((cc(i+m)+cc(i))/2)*(1/dy)*(dx/2) + D_f((cc(i-1)+cc(i))/2)*(1/dx)*(dy/2); f1(i) = 0; f2(i) = -D_f((cc(i-1)+cc(i))/2)*(1/dx)*(dy/2); f3(i) = -D_f((cc(i+m)+cc(i))/2)*(1/dy)*(dx/2); f4(i) = 0; ld(i) = (D_l/dy)*(dx/2) + (chi_l/2)*((cc(i+m)-cc(i))/dy)*(dx/2) + (D_l/dx)*(dy/2) + (chi_l/2)*((cc(i-1)-cc(i))/dx)*(dy/2); l1(i) = 0; l2(i) = -(D_l/dx)*dy + (chi_l/2)*((cc(i-1)-cc(i))/dx)*(dy/2); l3(i) = -(D_l/dy)*dx + (chi_l/2)*((cc(i+m)-cc(i))/dy)*(dx/2); l4(i) = 0; rf(i) = 0.25*dx*dy*k_f*(1-((ff(i) + a_fb*bb(i))/(f_inf))); rb(i) = 0.25*dx*dy*k_b*(1-((bb(i) + a_bf*ff(i) + a_bl*ll(i))/(b_inf))); rl(i) = -0.25*dx*dy*k_l; rc1(i) = 0.25*dx*dy*k_c; rc2(i) = -0.25*dx*dy*k_cl*cc(i); end %De linkerbovenhoek if lbhoek(i) == 1 fd(i) = D_f((cc(i+1)+cc(i))/2)*(1/dx)*(dy/2) + D_f((cc(i-m)+cc(i))/2)*(1/dy)*(dx/2); f1(i) = -D_f((cc(i+1)+cc(i))/2)*(1/dx)*(dy/2); f2(i) = 0; f3(i) = 0; f4(i) = -D_f((cc(i-m)+cc(i))/2)*(1/dy)*(dx/2); ld(i) = (D_l/dx)*(dy/2) + (chi_l/2)*((cc(i+1)-cc(i))/dx)*(dy/2) + (D_l/dy)*(dx/2) + (chi_l/2)*((cc(i-m)-cc(i))/dy)*(dx/2); l1(i) = -(D_l/dx)*dy + (chi_l/2)*((cc(i+1)-cc(i))/dx)*(dy/2); l2(i) = 0; l3(i) = 0; l4(i) = -(D_l/dy)*dx + (chi_l/2)*((cc(i-m)-cc(i))/dy)*(dx/2); 94 rf(i) = 0.25*dx*dy*k_f*(1-((ff(i) + a_fb*bb(i))/(f_inf))); rb(i) = 0.25*dx*dy*k_b*(1-((bb(i) + a_bf*ff(i) + a_bl*ll(i))/(b_inf))); rl(i) = -0.25*dx*dy*k_l; rc1(i) = 0.25*dx*dy*k_c; rc2(i) = -0.25*dx*dy*k_cl*cc(i); end %De rechterbovenhoek if rbhoek(i) == 1 fd(i) = D_f((cc(i-m)+cc(i))/2)*(1/dy)*(dx/2) + D_f((cc(i-1)+cc(i))/2)*(1/dx)*(dy/2); f1(i) = 0; f2(i) = -D_f((cc(i-1)+cc(i))/2)*(1/dx)*(dy/2); f3(i) = 0; f4(i) = -D_f((cc(i-m)+cc(i))/2)*(1/dy)*(dx/2); ld(i) = (D_l/dy)*(dx/2) + (chi_l/2)*((cc(i-m)-cc(i))/dy)*(dx/2) + (D_l/dx)*(dy/2) + (chi_l/2)*((cc(i-1)-cc(i))/dx)*(dy/2); l1(i) = 0; l2(i) = -(D_l/dx)*dy + (chi_l/2)*((cc(i-1)-cc(i))/dx)*(dy/2); l3(i) = 0; l4(i) = -(D_l/dy)*dx + (chi_l/2)*((cc(i-m)-cc(i))/dy)*(dx/2); rf(i) = 0.25*dx*dy*k_f*(1-((ff(i) + a_fb*bb(i))/(f_inf))); rb(i) = 0.25*dx*dy*k_b*(1-((bb(i) + a_bf*ff(i) + a_bl*ll(i))/(b_inf))); rl(i) = -0.25*dx*dy*k_l; rc1(i) = 0.25*dx*dy*k_c; rc2(i) = -0.25*dx*dy*k_cl*cc(i); end %Controlevolumes met de south-rand gelijk aan de onderkant van het %gebied. if zuid(i) == 1 fd(i) = D_f((cc(i+m)+cc(i))/2)*(1/dy)*dx + D_f((cc(i+1)+cc(i))/2)*(1/dx)*(dy/2) + D_f((cc(i-1)+cc(i))/2)*(1/dx)*(dy/2); f1(i) = -D_f((cc(i+1)+cc(i))/2)*(1/dx)*(dy/2); f2(i) = -D_f((cc(i-1)+cc(i))/2)*(1/dx)*(dy/2); f3(i) = -D_f((cc(i+m)+cc(i))/2)*(1/dy)*dx; f4(i) = 0; ld(i) = (D_l/dy)*dx + (chi_l/2)*((cc(i+m)-cc(i))/dy)*dx + (D_l/dx)*(dy/2) + (chi_l/2)*((cc(i+1)-cc(i))/dx)*(dy/2) + (D_l/dx)*(dy/2) + (chi_l/2)*((cc(i-1)-cc(i))/dx)*(dy/2); l1(i) = -(D_l/dx)*(dy/2) + (chi_l/2)*((cc(i+1)-cc(i))/dx)*(dy/2); l2(i) = -(D_l/dx)*(dy/2) + (chi_l/2)*((cc(i-1)-cc(i))/dx)*(dy/2); l3(i) = -(D_l/dy)*dx + (chi_l/2)*((cc(i+m)-cc(i))/dy)*dx; l4(i) = 0; rf(i) = 0.5*dx*dy*k_f*(1-((ff(i) + a_fb*bb(i))/(f_inf))); 95 rb(i) = 0.5*dx*dy*k_b*(1-((bb(i) + a_bf*ff(i) + a_bl*ll(i))/(b_inf))); rl(i) = -0.5*dx*dy*k_l; rc1(i) = 0.5*dx*dy*k_c; rc2(i) = -0.5*dx*dy*k_cl*cc(i); end %Controlevolumes met de west-rand gelijk aan de linkerkant van het %gebied. if west(i) == 1 fd(i) = D_f((cc(i+m)+cc(i))/2)*(1/dy)*(dx/2) + D_f((cc(i+1)+cc(i))/2)*(1/dx)*dy + D_f((cc(i-m)+cc(i))/2)*(1/dy)*(dx/2); f1(i) = -D_f((cc(i+1)+cc(i))/2)*(1/dx)*dy; f2(i) = 0; f3(i) = -D_f((cc(i+m)+cc(i))/2)*(1/dy)*(dx/2); f4(i) = -D_f((cc(i-m)+cc(i))/2)*(1/dy)*(dx/2); ld(i) = (D_l/dy)*(dx/2) + (chi_l/2)*((cc(i+m)-cc(i))/dy)*(dx/2) + (D_l/dx)*dy + (chi_l/2)*((cc(i+1)-cc(i))/dx)*dy + (D_l/dy)*(dx/2) + (chi_l/2)*((cc(i-m)-cc(i))/dy)*(dx/2) + 0; l1(i) = -(D_l/dx)*dy + (chi_l/2)*((cc(i+1)-cc(i))/dx)*dy; l2(i) = 0; l3(i) = -(D_l/dy)*(dx/2) + (chi_l/2)*((cc(i+m)-cc(i))/dy)*(dx/2); l4(i) = -(D_l/dy)*(dx/2) + (chi_l/2)*((cc(i-m)-cc(i))/dy)*(dx/2); rf(i) = 0.5*dx*dy*k_f*(1-((ff(i) + a_fb*bb(i))/(f_inf))); rb(i) = 0.5*dx*dy*k_b*(1-((bb(i) + a_bf*ff(i) + a_bl*ll(i))/(b_inf))); rl(i) = -0.5*dx*dy*k_l; rc1(i) = 0.5*dx*dy*k_c; rc2(i) = -0.5*dx*dy*k_cl*cc(i); end %Controlevolumes met de east-rand gelijk aan de rechterkant van het %gebied. if oost(i) == 1 fd(i) = D_f((cc(i+m)+cc(i))/2)*(1/dy)*(dx/2) + D_f((cc(i-m)+cc(i))/2)*(1/dy)*(dx/2) + D_f((cc(i-1)+cc(i))/2)*(1/dy)*dx; f1(i) = 0; f2(i) = -D_f((cc(i-1)+cc(i))/2)*(1/dx)*dy; f3(i) = -D_f((cc(i+m)+cc(i))/2)*(1/dy)*(dx/2); f4(i) = -D_f((cc(i-m)+cc(i))/2)*(1/dy)*(dx/2); ld(i) = (D_l/dy)*(dx/2) + (chi_l/2)*((cc(i+m)-cc(i))/dy)*(dx/2) + 0 + (D_l/dy)*(dx/2) + (chi_l/2)*((cc(i-m)-cc(i))/dy)*(dx/2) + (D_l/dx)*dy + (chi_l/2)*((cc(i-1)-cc(i))/dx)*dy; l1(i) = 0; l2(i) = -(D_l/dx)*dy + (chi_l/2)*((cc(i-1)-cc(i))/dx)*dy; l3(i) = -(D_l/dy)*(dx/2) + (chi_l/2)*((cc(i+m)-cc(i))/dy)*(dx/2); l4(i) = -(D_l/dy)*(dx/2) + (chi_l/2)*((cc(i-m)-cc(i))/dy)*(dx/2); 96 rf(i) = 0.5*dx*dy*k_f*(1-((ff(i) + a_fb*bb(i))/(f_inf))); rb(i) = 0.5*dx*dy*k_b*(1-((bb(i) + a_bf*ff(i) + a_bl*ll(i))/(b_inf))); rl(i) = -0.5*dx*dy*k_l; rc1(i) = 0.5*dx*dy*k_c; rc2(i) = -0.5*dx*dy*k_cl*cc(i); end %Controlevolumes met de north-rand gelijk aan de bovenkant van het %gebied. if noord(i) == 1 fd(i) = D_f((cc(i+1)+cc(i))/2)*(1/dx)*(dy/2) + D_f((cc(i-m)+cc(i))/2)*(1/dy)*dx + D_f((cc(i-1)+cc(i))/2)*(1/dx)*(dy/2); f1(i) = -D_f((cc(i+1)+cc(i))/2)*(1/dx)*(dy/2); f2(i) = -D_f((cc(i-1)+cc(i))/2)*(1/dx)*(dy/2); f3(i) = 0; f4(i) = -D_f((cc(i-m)+cc(i))/2)*(1/dy)*dx; ld(i) = 0 + (D_l/dx)*(dy/2) + (chi_l/2)*((cc(i+1)-cc(i))/dx)*(dy/2) + (D_l/dy)*dx + (chi_l/2)*((cc(i-m)-cc(i))/dy)*dx + (D_l/dx)*(dy/2) + (chi_l/2)*((cc(i-1)-cc(i))/dx)*(dy/2); l1(i) = -(D_l/dx)*(dy/2) + (chi_l/2)*((cc(i+1)-cc(i))/dx)*(dy/2); l2(i) = -(D_l/dx)*(dy/2) + (chi_l/2)*((cc(i-1)-cc(i))/dx)*(dy/2); l3(i) = 0; l4(i) = -(D_l/dy)*dx + (chi_l/2)*((cc(i-m)-cc(i))/dy)*dx; rf(i) = 0.5*dx*dy*k_f*(1-((ff(i) + a_fb*bb(i))/(f_inf))); rb(i) = 0.5*dx*dy*k_b*(1-((bb(i) + a_bf*ff(i) + a_bl*ll(i))/(b_inf))); rl(i) = -0.5*dx*dy*k_l; rc1(i) = 0.5*dx*dy*k_c; rc2(i) = -0.5*dx*dy*k_cl*cc(i); end %Controlevolumes die niet aan de rand of in de hoek liggen. if midden(i) == 1 fd(i) = D_f((cc(i+m)+cc(i))/2)*(1/dy)*dx + D_f((cc(i+1)+cc(i))/2)*(1/dx)*dy + D_f((cc(i-m)+cc(i))/2)*(1/dy)*dx ‘ + D_f((cc(i-1)+cc(i))/2)*(1/dy)*dx; f1(i) = -D_f((cc(i+1)+cc(i))/2)*(1/dx)*dy; f2(i) = -D_f((cc(i-1)+cc(i))/2)*(1/dx)*dy; f3(i) = -D_f((cc(i+m)+cc(i))/2)*(1/dy)*dx; f4(i) = -D_f((cc(i-m)+cc(i))/2)*(1/dy)*dx; ld(i) = (D_l/dy)*dx + (chi_l/2)*((cc(i+m)-cc(i))/dy)*dx + (D_l/dx)*dy + (chi_l/2)*((cc(i+1)-cc(i))/dx)*dy + (D_l/dy)*dx + (chi_l/2)*((cc(i-m)-cc(i))/dy)*dx + (D_l/dx)*dy + (chi_l/2)*((cc(i-1)-cc(i))/dx)*dy; l1(i) = -(D_l/dx)*dy + (chi_l/2)*((cc(i+1)-cc(i))/dx)*dy; l2(i) = -(D_l/dx)*dy + (chi_l/2)*((cc(i-1)-cc(i))/dx)*dy; l3(i) = -(D_l/dy)*dx + (chi_l/2)*((cc(i+m)-cc(i))/dy)*dx; 97 l4(i) = -(D_l/dy)*dx + (chi_l/2)*((cc(i-m)-cc(i))/dy)*dx; rf(i) = dx*dy*k_f*(1-((ff(i) + a_fb*bb(i))/(f_inf))); rb(i) = dx*dy*k_b*(1-((bb(i) + a_bf*ff(i) + a_bl*ll(i))/(b_inf))); rl(i) = -dx*dy*k_l; rc1(i) = dx*dy*k_c; rc2(i) = -dx*dy*k_cl*cc(i); end end S_f = spdiags([f4 f5 f2 fd f1 f5 f3], -2-m:2+m, N, N); S_l = spdiags([l4 l5 l2 ld l1 l5 l3], -2-m:2+m, N, N); R_f = spdiags(rf, 0, N, N); R_b = spdiags(rb, 0, N, N); R_l = spdiags(rl, 0, N, N); R_c1 = spdiags(rc1, 0, N, N); R_c2 = spdiags(rc2, 0, N, N); %Achterwaartse Eulermethode: ff = (M + dt*S_f - dt*R_f)\(M*ff); bb = (M + dt*S_b - dt*R_b)\(M*bb); ll = (M + dt*S_l - dt*R_l)\(M*ll - dt*kappa); cc = (M + dt*S_c - dt*R_c2)\(M*cc + dt*R_c1*bb); end %Eventjes w omschijven in matrix Y :) F = zeros((1/dy)+1,(1/dx)+1); B = zeros((1/dy)+1,(1/dx)+1); L = zeros((1/dy)+1,(1/dx)+1); C = zeros((1/dy)+1,(1/dx)+1); for p = 1:m for i = 1+((p-1)*m):m*p F(p,i-(p-1)*m) = ff(i); B(p,i-(p-1)*m) = bb(i); L(p,i-(p-1)*m) = ll(i); C(p,i-(p-1)*m) = cc(i); end end contourf(F) 98