Modelleren en simuleren van het immuunsysteem (Modeling and

advertisement
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
Download