Volumegroei van de hartspier · 6 . Conclusie ... In het daaropvolgende hoofdstuk zal mathematische...

35
Volumegroei van de hartspier Citation for published version (APA): Linden, van der, M. E. T. J. (2001). Volumegroei van de hartspier. (DCT rapporten; Vol. 2001.025). Eindhoven: Technische Universiteit Eindhoven. Document status and date: Gepubliceerd: 01/01/2001 Document Version: Uitgevers PDF, ook bekend als Version of Record Please check the document version of this publication: • A submitted manuscript is the version of the article upon submission and before peer-review. There can be important differences between the submitted version and the official published version of record. People interested in the research are advised to contact the author for the final version of the publication, or visit the DOI to the publisher's website. • The final author version and the galley proof are versions of the publication after peer review. • The final published version features the final layout of the paper including the volume, issue and page numbers. Link to publication General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain • You may freely distribute the URL identifying the publication in the public portal. If the publication is distributed under the terms of Article 25fa of the Dutch Copyright Act, indicated by the “Taverne” license above, please follow below link for the End User Agreement: www.tue.nl/taverne Take down policy If you believe that this document breaches copyright please contact us at: [email protected] providing details and we will investigate your claim. Download date: 21. May. 2020

Transcript of Volumegroei van de hartspier · 6 . Conclusie ... In het daaropvolgende hoofdstuk zal mathematische...

Page 1: Volumegroei van de hartspier · 6 . Conclusie ... In het daaropvolgende hoofdstuk zal mathematische model ge'implementeerd worden tot een numeriek model. Met dit numeriek model kan

Volumegroei van de hartspier

Citation for published version (APA):Linden, van der, M. E. T. J. (2001). Volumegroei van de hartspier. (DCT rapporten; Vol. 2001.025). Eindhoven:Technische Universiteit Eindhoven.

Document status and date:Gepubliceerd: 01/01/2001

Document Version:Uitgevers PDF, ook bekend als Version of Record

Please check the document version of this publication:

• A submitted manuscript is the version of the article upon submission and before peer-review. There can beimportant differences between the submitted version and the official published version of record. Peopleinterested in the research are advised to contact the author for the final version of the publication, or visit theDOI to the publisher's website.• The final author version and the galley proof are versions of the publication after peer review.• The final published version features the final layout of the paper including the volume, issue and pagenumbers.Link to publication

General rightsCopyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright ownersand it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights.

• Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain • You may freely distribute the URL identifying the publication in the public portal.

If the publication is distributed under the terms of Article 25fa of the Dutch Copyright Act, indicated by the “Taverne” license above, pleasefollow below link for the End User Agreement:www.tue.nl/taverne

Take down policyIf you believe that this document breaches copyright please contact us at:[email protected] details and we will investigate your claim.

Download date: 21. May. 2020

Page 2: Volumegroei van de hartspier · 6 . Conclusie ... In het daaropvolgende hoofdstuk zal mathematische model ge'implementeerd worden tot een numeriek model. Met dit numeriek model kan

Volumegroei van de hartspier DCT 2001.25

M.E.T.J. van der Linden

Technische Universiteit Eindhoven Faculteit Werktuigbouwkunde, vakgroep Dynamics and Control

Begeleiders: Dr. Ir. P.H.M. Bovendeerd Ir. L. Geerts-Ossevoort

Eindhoven, 21-05-2001

Page 3: Volumegroei van de hartspier · 6 . Conclusie ... In het daaropvolgende hoofdstuk zal mathematische model ge'implementeerd worden tot een numeriek model. Met dit numeriek model kan

Volurnegroei van de hartspier

Inhoudsopgave

Inhoudsopgave ........................................................................................................................... 2

................................................................................................................................. . 1 Inleiding 3

2 . Literatuurstudie ..................................................................................................................... 4

........................................................................................................................... 2.1 Stimulus 4 2.2 Groeiwet .......................................................................................................................... 4

............................................................................................................ 2.3 Discussie ! keuzes 5

3 . Mathematisch modei .............................................................................................................. 7

........................................................................................................... 3.1 Mechanisch model 7 3.2 Groeimodel ...................................................................................................................... 8

4 . Numeriek model ..................................................................................................................... 9

4.1 Mechanisch model ........................................................................................................... 9 ........................................................................................................................... 4.2 Groeiwet 9

.................................................................................................................... 4.3 Groeimodel 10 ..................................................................................................................... 4.4 Testsituatie 11

............................................................................................................................. 5 . Resultaten 12

.............................................................................................................................. 6 . Conclusie 16

.................................................................................................................................. Literatuur 17

Bijlage 1 : Mesh-bestand .......................................................................................................... 18

Page 4: Volumegroei van de hartspier · 6 . Conclusie ... In het daaropvolgende hoofdstuk zal mathematische model ge'implementeerd worden tot een numeriek model. Met dit numeriek model kan

Volumegroei van de hartspier

1. Inleiding

Het menselijk lichaam is continu bezig met zich aan te passen aan de omgeving. Op invloeden zoals temperatuur, druk en spanning, reageert het lichaam zodat het weer in balans komt of blijft. Elk lichaamsdeel reageert weer anders op deze invloeden. Om meer inzicht te krijgen over interactie tussen lichaam en invloeden moet er onderzoek verricht worden. Deze kennis kan dan gebruikt worden om te voorspellen hoe een lichaamsdeel gaat reageren. Neem bijvoorbeeld een hart dat een infarct krijgt. Dit hart zal zich gaan aanpassen om de . . Ll,,A,:,,.. 1 , ~ : - ,, ,..I +A L,..A,, u l u ~ u u l ~ u l a i l ~ uy yljl LC I~UUUG~~.

In dit verslag wordt gekeken naar het hart en om precies te zijn naar het spienveefsel waaruit het het hart bestaat. Welke externe invloeden hebben allemaal effect op dit hartspienveefsel? En hoe past het hartspienveefsel zich aan deze externe invloeden en omstandigheden aan? In dit onderzoek wordt er van uitgegaan dat het weefsel zich aanpast door te gaan groeien of te gaan afbreken. Er wordt gekeken of dit groeigedrag in een mathematisch model weer te geven is. Dit mathematische model zal vervolgens ge'implementeerd worden om te bepalen of dhet groeigedrag nagebootst kan worden.

In dit verslag wordt als eerste gekeken welke stimuli er invloed hebben op het hartspienveefsel en op welke wijze en mate deze stimuli het weefsel behvloeden. Daarna zal een mathematisch model besproken worden waarmee de groei bepaald kan worden als functie van de stimulus. In het daaropvolgende hoofdstuk zal mathematische model ge'implementeerd worden tot een numeriek model. Met dit numeriek model kan het groeiproces nagebootst worden. De resultaten van deze sirnulatie worden daarna gepresenteerd en besproken. Hierna worden uit de resultaten conclusies getrokken en aanbevelingen gedaan.

Page 5: Volumegroei van de hartspier · 6 . Conclusie ... In het daaropvolgende hoofdstuk zal mathematische model ge'implementeerd worden tot een numeriek model. Met dit numeriek model kan

Volumegroei van de hartspier

2. Literatuurstudie

2.1 Stimulus

Onder groeien wordt vooral verstaan het groter worden van lichaamsdelen en organen. Dit gebeurt ongeveer de eerste 15 tot 20 jaar van een menselijk leven. Ook is het lichaam continu bezig met zich aan te passen aan veranderde omstandigheden. Dit groeien, ook we1 adapteren genoemd, bestaat uit het hypertroferen (groeien) en resorberen (afbreken) van cellen en weefsel. Een cel adapteert zich als deze daartoe gestiiil'deerd wordt ([3]). Elk type ce! heeft ander stimuli nodig om te adapteren en deze zijn vaak nog niet bekend. Om een mechanisch model voor het adapteren op te kunnen stellen is het nodig om te weten welke stimulus (of stimuli) nodig is om een cel aan te zetten tot hypertroferen of resorberen (Omens, 1998 [5] ) .

Volgens Omens ([5]) mag verondersteld worden dat de stimulus voor adaptatie mechanisch gerelateerd is en afhangt van spanning of rek ([Grossman et al., 1975; Florenzano and Glantz, 1987; Nguyen et al. 19931). Omdat cellen op diverse manieren externe stimuli kunnen detecteren mag aangenomen worden dat de adaptatie zich afspeelt op cellulair niveau. Zo gaan bijvoorbeeld myocyten meer eiwitten aanmaken en hypertroferen als zij mechanisch worden belast (J.H. Omens, 1998 [5]). Over de mechano-chemische stappen die tot het adapteren leiden is nog weinig bekend. Rodriguez, Hoger en McCulloch ([6]) gebruiken in veel onderzoeken een drukgerelateerde stimulus, maar een goede argumentatie hiewoor wordt niet gegeven.

Ook op het gebied van hartspienveefsel is weinig bekend over de stimuli die cardiomyocyten aanzet tot groei of afbraak. Volgens Watson (1991) en Yakazalu et al. (1993) is rek waarschijnlijk betrokken bij de adaptatie van cellen ([I]). Het celmembraan van de cardiomyocyten is volgens Omens (1998) een "sensor" voor externe belastingen ([5]). Het signaal kan, volgens Reneman et al. (1995), direct gekoppeld worden aan de celkern door het cytoskelet of indirect door een varieteit van andere moleculaire signalen ([5]). Voor deze indirecte mechanotransductie op celmembraan niveau zijn diverse hypothesen opgesteld. Een hypothese, opgesteld door Bustamante et a1. (1991) is bestaan van mechanogevoelige ionenkanalen ([5]). Door vervorming van het celmembraan openen of sluiten deze kanalen zich wat leidt tot mogelijk transport van ionen door het celmembraan heen. Omdat er geen organellen in de spiercel bekend zijn die direct spanning kunnen waarnemen (Arts et a1.,1995 [I]) is het waarschijnlijk dat de stimulus rek gerelateerd is.

2.2 Groeiwet

Een groeiwet geefi aan hoe het hypertroferen of resorberen afhangt van de stimulus. De adaptatie kan plaatsvinden door een verandering in volume, van massa (en dus dichtheid) of een andere celeigenschap. Vooral bij onderzoek naar botremodellering leidt adaptatie tot een verandering van de dichtheid, omdat de matrix van het bot verdicht ([S]). Bij spienveefsel zal adaptatie leiden tot een toename van volume. Afhankelijk van de belasting worden de spiervezel dikker door een toename van myofibrillen edof collageen.

Page 6: Volumegroei van de hartspier · 6 . Conclusie ... In het daaropvolgende hoofdstuk zal mathematische model ge'implementeerd worden tot een numeriek model. Met dit numeriek model kan

Volumegroei van de hartspier

Cellen streven naar een situatie waarbij ze in evenwicht zijn en zullen zich aanpassen om weer in een evenwichtspositie te komen. Als een cel uit zijn evenwichtspositie raakt door een stimulus, bijvoorbeeld een exteme belasting, dan cal de cel daarop reageren door zich te gaan aanpassen en proberen terug te keren naar de evenwichtspositie. Deze evenwichtspositie is een referentiewaarde van de stimulus. Wijkt de stimulus af van deze referentiewaarde dan zal de cel gaan adapteren. Wijkt de stimulus maar weinig af van de referentiewaarde dan zal de cel niet of nauwelijks adapteren, maar naarmate de stimulus verder van deze referentiewaarde ligt zal de cel daar sterker op reageren. Dit gaat door tot een bepaald waarde van de stimulus waarbij de cel zich niet sneller kan adapteren. In figuur 2.1 is een geeft een voorbeeld weer van een algemene groeiwet.

Groeiwet I 1 3 1 I

,,- ' - /'

1''

Referentiewaarde Stimulus

Figuur 2.1 Algemene groeiwet

Over de vorm van de groeiwet, de referentiewaarde, de waarde waarop maximale groei plaatsvindt is niet veel bekend. Ook is nog niet bekend of het hypertroferen even snel gaat als het resorberen en of deze bij gelijke absolute afwijking beginnen. Verder is niet bekend of maximale hypertrofie gelijk is aan maximale resorptie.

2.3 Discussie / keuzes

Uit paragraaf 2.1 komt naar voren dat het waarschijnlijk is dat de stimulus die aanzet tot adaptatie rek-gerelateerd is en dat dit adaptatie proces zich op celniveau afspeelt. In dit onderzoek is daar dus ook voor gekozen.

Het proces van adaptatie wordt als volgt beschouwd: De adaptatie wordt op gang gezet door een exteme belasting. Deze belasting veroorzaaict een rek van het celmembraan. Doordat het celmembraan wordt opgerekt ontstaat er op een nog onbekende manier een stimulus die de cel aanzet zich aan te passen. Door de deze adaptatie

Page 7: Volumegroei van de hartspier · 6 . Conclusie ... In het daaropvolgende hoofdstuk zal mathematische model ge'implementeerd worden tot een numeriek model. Met dit numeriek model kan

Volumegroei van de hartspier

veranderen de eigenschappen van de cel wat leidt tot een kleinere rek door de externe belasting en een kleinere stimulus. (Zie figuur 2.2)

- 2 ~ ' d eigenschappen c O n s t ~ e ' e fkd vervorming ~ t i m u i u s ~ e i w e t ~ ~ r o e i s t i m u i u s ~ ~ a ~ e 1 Verandering

Celeigenschappen c Figuur 2.2 Flowchart van het adaptatieproces

Dit proces zal diverse malen doorlopen worden opdat er een evenwicht ontstaat en er geen adaptatie meer zal plaatsvinden. Als einddoel wordt venvacht dat de situatie stabiel wordt. Omdat het niet mogelijk is om dit hele proces te modelleren op celniveau wordt het in dit onderzoek toegepast op macroscopisch niveau en wordt er uitgegaan van een homogeen materiaal.

Page 8: Volumegroei van de hartspier · 6 . Conclusie ... In het daaropvolgende hoofdstuk zal mathematische model ge'implementeerd worden tot een numeriek model. Met dit numeriek model kan

Volumegroei van de hartspier

3. Mathematisch model

Het model voor de volumegroei van hartspienveefsel kan worden opgedeeld in twee delen. In het eerste deel wordt een mechanisch probleem opgelost. Hierbij worden de vervorrningen en de rekken berekend die ontstaan door het opleggen van een externe belasting op het weefsel. In dit deel wordt de stimulus berekend, in dit geval de rek, die de adaptatie teweeg brengt. In het tweede deel wordt de volurnegroei van het weefsel bepaald dat ontstaat door de stimulus. Deze volurnegroei wordt dan op het weefsel aangebracht zodat er een nieuwe situatie ontstaat.

3.1 Mechanisch model

In het mechanische model wordt gebruik gemaakt van een materiaalmodel dat het materiaalgedrag van biologisch weefsel benadert [2]. Bij dit materiaalmodel wordt uitgegaan van een rekenergiefunctie. Deze functie bestaat uit twee delen waarbij in het eerste deel, W,(E) gekeken wordt naar de energie die opgeslagen wordt in het materiaal door elasticiteit ewan. Het tweede deel W,(E), de incompressibiliteit van het materiaal, wordt beschreven door penaltyfunctie voor de volumeverandering.

Hierin is :

E : Green - Lagrange rektensor

a, : Materiaalparameters

I, : Eerste invariant Green - Lagrange rektensor

I , : Tweede invariant Green - Lagrange rektensor

E,, : Green - Lagrange rek in de richting van de belasting

C : Rechter Cauchy - Green rektensor

Be som van de afgeleide van het eerste deel van deze rekfunctie naar de Green-Lagrange rek en de afgeleide van het tweede deel van de rekfunctie naar de Cauchy-Green rek gee& de 2" Piola-Kirchhof spanningstensor.

Hierin is :

S : 2" Piola - Kirchhof spanningstensor

E : Green - Lagrange rektensor

C : Rechter Cauchy - Green rektensor

De Cauchy spanmingstensor is te bepalen uit de 2e Piola-Kirchhof spanningstensor door middel van:

Page 9: Volumegroei van de hartspier · 6 . Conclusie ... In het daaropvolgende hoofdstuk zal mathematische model ge'implementeerd worden tot een numeriek model. Met dit numeriek model kan

Volurnegroei van de hartspier

Hierin is :

a : Cauchy spanningstensor

F : Deforrnatietensor

S : 2" Piola - Kirchhof spanningstensor

Als deze Czuchy spanningstensor bekend is kamen de verplaatsingen en de rekken berekend worden die nodig zijn voor het probleem door gebruik te maken van de wet van behoud van impuls van stationaire gevallen:

Hierin is :

a : Chaucy spanningstensor

3.2 Groeimodel

Voor het groeien wordt een model gebruikt dat analoog loopt met uitzetting van een materiaal door warrnte. Bij uitzetting van een materiaal door warmte ontstaat er door een of meerdere warrntebronnen een temperatuursveld in het materiaal. Dit temperatuursveld kan berekend worden uit de warmtebronnen door middel van de Poissonvergelijking. Door temperatuursveranderingen die ontstaan door het temperatuursveld gaat het materiaal krimpen of uitzetten.

In het groeimodel wordt de rek als bronterm gebruikt. De rek wordt, met behulp van een groeiwet, omgezet in een groeistimulus f . Met behulp van de Poissonvergelijking wordt uit deze groeistimulus een groeiveld c bepaald. Uit dit groeiveld kunnen de verplaatsingen u berekend worden wat leidt tot het uitzetten (groeien) of krimpen (afbreken) van het materiaal.

hierin is :

f : groeistimulus

c : groeiveld

k : groeifactor

u' : groeiverplaatsing

Op deze wijze wordt dus bereikt dat er volumegroei plaatsvindt die afhankelijk is van de groeistimulus.

Page 10: Volumegroei van de hartspier · 6 . Conclusie ... In het daaropvolgende hoofdstuk zal mathematische model ge'implementeerd worden tot een numeriek model. Met dit numeriek model kan

Volumegroei van de hartspier

4. Numeriek model

Voor het numerieke model is gebruik gemaakt van het EEM-pakket Sepran. Hierin is een 3D- mesh gegenereerd. De mesh bestaat uit een axi-syrnmetrische staaf die over de lengte van breed naar smal loopt zoals te zien is in figuur 4. l a en 4. lb.

Figuur 4.la & 4.lb: De mesh in twee aanzichten

4.1 Mechanisch model

Het smalle uiteinde (vlak S1) van de staaf wordt ingeklemd en aan het brede uiteinde (vlak S2) wordt een oppervlakte kracht aangebracht. Voor het mechanische probleem wordt gebruik gemaakt van 3D-linear elastische elementen. Er wordt uitgegaan van zowel fysische als geometrisch niet-lineair exponentieel materiaalgedrag zodat grote vervorrningen mogelijk zijn. Omdat er gebruik gemaakt wordt van een oppervlakte kracht moet het oppervlak S2 zo weinig mogelijke van grootte veranderen zodat de kracht constant blijft. Om dit te bereiken heeft het breedste uiteinde over een derde van de totale lengte een constante straal, opdat er geen rekverschillen ontstaan in dat uiteinde. Door de oppervlakte kracht zo te kiezen dat rek in het breedste uiteinde ontstaat dichtbij de referentiewaarde ligt zal er geen groei optreden en zal de totale kracht op de staaf constant blijven gedurende de simulatie. Omdat het een axi-syrnmetrisch probleem is en om starre verplaatsing te voorkomen wordt voorgeschreven dat de vlakken S1, S3 en S5 vastgezet.

4.2 Groeiwet

De aangebrachte belasting leidt tot het ontstaan van spanningen en rekken en een vervorming van de mesh. E e rekken die in de lengte richting (x-richting) ontstaan worder, als invoer gebruikt voor de groeiwet. De groeiwet gaat uit van een referentiewaarde. Is de rek groter dan deze referentiewaarde dan is er een positieve stimulus voor groei en vice versa.

Page 11: Volumegroei van de hartspier · 6 . Conclusie ... In het daaropvolgende hoofdstuk zal mathematische model ge'implementeerd worden tot een numeriek model. Met dit numeriek model kan

Volumegvoei van de hartspier

Biologisch materiaal zal pas gaan adapteren nadat de stimulus daarvoor groot genoeg is. Er is daarom gekozen om een "lazy"-zone aan te brengen, in de groeiwet, waarbinnen het rekverschil met de referentiewaarde zo klein is dat dit geen groeistimulus ontstaat. Tevens is voor deze zone gekozen om er voor te zorgen dat er een eindsituatie ontstaat waarbij geen adaptatie meer plaatsvindt. De grootte van de stimulus wordt bepaald door de grootte van de rek en een groeifactor. De groeiwet is als volgt:

hierin is :

f : stimulus

5 : groeifactor

E, : rek (in x - richting)

: referentiewaarde

E~~ : breedte " lazyv-zone

Grafisch gezien komt dit overeen met figuur 4.2 Groeiwet

I Referentiewaarde

Rek

Figuur 4.2 Groeiwet: relatie tussen rek en stimulus

4.3 Groeimodel

Het groeien van het materiaal wordt numeriek bereikt door het te laten uitzetten. De stimulus die voor elk element in de groeiwet wordt berekend wordt in een Poissonprobleem gebruikt als bronterrn. Uit deze bronterm wordt de uitzetting van elk element bepaald. Om de mesh

Page 12: Volumegroei van de hartspier · 6 . Conclusie ... In het daaropvolgende hoofdstuk zal mathematische model ge'implementeerd worden tot een numeriek model. Met dit numeriek model kan

Volumegroei van de hartspier

axisymmetrisch te houden wordt er randvoonvaarde opgelegd dat er geen groei mag optreden in de symmetrievlakken (S3 en S5) in de richting van de normalen. Zou dit we1 gebeuren dan sluit de mesh rond deze symrnetrievlakken niet meer aan en ontstaan er holtes. Er mag alleen groei plaatsvinden in radiale richting.

De elementen met een rek ongelijk aan de referentiewaarde veranderen van volume. Door deze volume verandering ontstaat er een gewijzigd rekveld in de staaf. Als dit proces wordt herhaald convergeren de rekken naar de referentiewaarde. In figuur 4.3 is te zien hoe het heel proces wordt doorlopen.

Belasting, Randvoorwaarden & Materiaaleigenschappen Per

I , - - - - - - - - - - - - - - - element

Groeiwet Referentie--

Mesh aanpassen Groeistirnulus waarde

Figuw 4.3 Flowchart van het gehele proces

4.4 Testsituatie

Voor dit probleem zijn de volgende waarde voor de mesh genomen: 1 = 3 [m] rmax = 1 [m] rmin = 0,5 [m]

De oppewlakte kracht die wordt opgelegd is gelijk aan: F,, = 0,25 ~ . m - ~ ]

Voor de groeiwet zijn de volgende waarden gekozen: &ef = 0,04 [-I Elazy = 0,005 [-] ("lazyn-zone: 0,04 * 0,005 [-I) E=O,ll [-I

Met bovenstaande waarden is de simulatie gestart en is de loop 500 maal doorlopen.

Page 13: Volumegroei van de hartspier · 6 . Conclusie ... In het daaropvolgende hoofdstuk zal mathematische model ge'implementeerd worden tot een numeriek model. Met dit numeriek model kan

Volumegroei van de hartspier

5 . Resultaten

model is ge'implementeerd zoals in hoofdstuk 4 is verrneld. De reksituaties zijn als volgt:

ya,*y in 1.0

ria1.x 10 i'0

Figuur 5.1 Rekveld (x-richting) beginsituatie

Figuur 5.3 Rekveld (x-richting) na 10 iteraties

Figuur 5.5 Rekveld (x-richting) na 20 iteraties

Figuur 5.2 Rekveld (x-richting) na 5 iteraties

Figuur 5.4 Rekveld (x-richting) na 15 iteraties

Figuur 5.6 Rekveld (x-richting) na 25 iteraties

Page 14: Volumegroei van de hartspier · 6 . Conclusie ... In het daaropvolgende hoofdstuk zal mathematische model ge'implementeerd worden tot een numeriek model. Met dit numeriek model kan

Volumegroei van de hartspier

Figuur 5.7 Rekveld (x-richting) na 30 Iteraties Figuw 5.8 Rekveld (x-richting) na 35 Iteraties

Figuur 5.9 Rekveld (x-richting) na 40 iteraties Figuur 5.10 Rekveld (x-richting) na 45 iteraties

Iill", 9 11-2 rraiex 9 (93

Figuur 5.1 1 Rekveld (x-richting) na 50 iteraties Figuur 5.12 Rekveld (x-richting) na 100 iteraties

Page 15: Volumegroei van de hartspier · 6 . Conclusie ... In het daaropvolgende hoofdstuk zal mathematische model ge'implementeerd worden tot een numeriek model. Met dit numeriek model kan

Volurnegroei van de hartspier

Zoals kan worden gezien in de figuren 5.1 tlm 5.12 vindt de meeste groei plaats in de eerste 50 iteraties. Daarna verandert de situatie maar weinig. Ook a1 zijn er geen resultaten van iteraties groter dan 100 weergegeven, gemeld kan worden dat na 392 iteraties een situatie ontstaan waarbij de rekken van 282 van de 286 knooppunten binnen de "lazy"-zone vallen. Bij de 393 iteratie doet er zich een probleem voor bij het oplossen van het poisson-probleem en kan de Jacobiaan niet bepaald worden. Waar dit aan ligt is niet bekend.

Zoals in de laatste afbeeldingen (Figuur 5.12) te zien is zijn de syrnmetrievlakken niet precies recht ook a1 wordt dit geeist in de randvoorwaarden. De mesh is dan dus niet meer axisyrnmetrisch.

lteratie [-I

Figuur 4.13: Totale volume van de mesh als functie van de iteraties

In figuur 4.13 is het totale volume van de mesh weergegeven als functie van de iteratiestap Hierin is duidelijk te zien dat na 392 iteraties er nog geen volledig stabiele eindsituatie is ontstaan, maar dat er nog steeds een constante volumetoename plaatsvindt. Deze volume groei komt doordat er rekken ontstaan door de groei van de elementen en de randvoonvaarden. Eet gaai hierbij om de knooppunten 253, 257, 275 en 279. Deze zijn deels aangeven in figuur 4.14. De andere 2 punten liggen op dezelfde plek maar dan ken element temg in de x-richting.

4 y i Figuur 4.14: Mesh na 392 iteraties

Page 16: Volumegroei van de hartspier · 6 . Conclusie ... In het daaropvolgende hoofdstuk zal mathematische model ge'implementeerd worden tot een numeriek model. Met dit numeriek model kan

Volumegroei van de hartspier

Met uitzondering van deze 4 knooppunten is duidelijk in figuur 4.15 te zien dat de stimulus, rek in de x-richting, afneemt en uitkomt in de "lazyv-zone. In deze figuur zijn grafieken weergegeven van de knooppunten die de hoogste of laagste stimuluswaarde hadden aan het begin of het einde van de simulatie. De grafieken van alle andere knooppunten liggen tussen deze 4 grafieken in. De "lazy"-zone is aangegeven met gestreepte lijnen en loopt van 0.035 tot

Het hele proces van adaptatie gaat, net als in werkelijkheid, geleidelijk. Adapteert het materiaal te snel eindigt de simulatie. De waarde voor de groeifactor 6 in de groeiwet kan dus ook niet te groot gekozen worden.

Page 17: Volumegroei van de hartspier · 6 . Conclusie ... In het daaropvolgende hoofdstuk zal mathematische model ge'implementeerd worden tot een numeriek model. Met dit numeriek model kan

Volumegroei van de hartspier

6. Conclusie

De resultaten van de simulatie komen grotendeels overeen met de situatie die venvacht wordt. Het is dus mogelijk om op deze wijze adaptatie te simuleren. Toch zijn er punten waarop deze verbeterd kunnen worden. Zo moet er gekeken worden naar de axisyrnmetrie van de mesh. Om deze te waarborgen moeten de randvoonvaarden beter gesteld worden of moet de mesh aangepast worden zodat er geen problemen ontstaan met randen en vlakken die niet aansluiten. Het is eenvoudig om de mesh aan te passen zodat deze volledig is (cirkelvormige dwarsdoorsnede). Dit heeft als bijkomend voordeel dat ook voor het mechanische probleem de ra~dvoonvamie~ st& vereeworadigen. Het mige nadeei is dat de mesh 4 maai zo groot wordt wat leidt tot 4 maal zoveel ellementen. De rekentijd van sirnulatie zal dus ook behoorlijk toenemen.

Als de problemen rond de randvoonvaarden opgelost zijn zullen er ook geen rekken ontstaat door deze voonvaarden. De simulatie zal dan ook zeer waarschijnlijk eindigen in een statische situatie met alle knooppunten binnen de "lazyn-zone.

In dit onderzoek is uitgegaan van dat de rek in de x-richting de stimulus is voor adaptatie, maar dat is zeer onwaarschjnlijk. Andere stimuli, bijvoorbeeld rek in de vezelrichting of een combinatie van rekken, zouden beproefd moeten worden.

Het veranderen van de groeiwet in een vorm die realistischer is dan die hier gebruikt is (zie figuur 2.1) kan het hele proces ook verbeteren. Ook zouden de parameters in deze groeiwet beter bepaald moeten worden, eventueel met behulp van waarden die bepaald zijn uit werkelijke proeven op hartspienveefsel.

Het is moeilijk om een klein model zoals in dit verslag besproken wordt te vergelijken met werkelijk biologisch weefsel. Om dit te kunnen doen zou het model in een groter model, van bijvoorbeeld het gehele hart, opgenomen moeten worden. Dit is namelijk beter te vergelijken met de werkelijkheid. Zo zou het model gevalideerd kunnen worden

Page 18: Volumegroei van de hartspier · 6 . Conclusie ... In het daaropvolgende hoofdstuk zal mathematische model ge'implementeerd worden tot een numeriek model. Met dit numeriek model kan

Volurnegroei van de hartspier

Literatuur

1. Arts, T., Prinzen, F.W., Snoeckx, L.H.E.H., Rijcken, J.M. & Reneman, R.S. (1994). Adaptation of cardiac structure by mechanical feedback in the environment of the cell: A model study. Biophysical Journal, Vol. 66, p. 953-961.

2. Bovendeerd, P.H.M. (1990). The mechanics of the normal and ischemic left ventricle durin the cardiac cycle: a numerical an experimental analysis. Maastricht: Rij ksuniversiteit Limburg .

3. Fung, Y.C. (1990). Biomechanics: Motion, $ow, stress and growth. New York: Springer Verlag.

4. Ingenieursbureau Sepra. Handleiding Sepran. Leidschendam: Sepra

5. Omens, J.H. (1998). Stress and strain as regulators of myocardial growth. Progress in Biophysics & Molecular Biology, Vol. 69, p. 559-572.

6. Rodriguez, E.K., Hoger, A. & McCulloch, A.D. (1994). Stress-dependent finite growth in soft elastic tissues. Journal of Biomechanics, Yol. 27, Nr. 4, p. 455-467.

7. Taber, L.A. (1998). Biomechanical growth laws for muscle tissue. Journal for Theoretical Biology, Vol. 193, p. 201 -21 3.

8. Weinans, H. & Surnner, D.R. (1997). Finite element analyses to study periprosthetic bone adaptation. Bone research in biomechanics

9. Yamazalu, T., Komuro, I., Nagai, R. & Yazaki, Y. (1996). Stretching the evidence in the case of cardiac growth. Cardiovascular Research, Vol. 31, p. 493-498.

Page 19: Volumegroei van de hartspier · 6 . Conclusie ... In het daaropvolgende hoofdstuk zal mathematische model ge'implementeerd worden tot een numeriek model. Met dit numeriek model kan

Volumegroei van de hartspier

Bijlage 1 : Mesh-bestand

*test problem * * mesh definition

constants end

mesh3d points

pl = ( 0.0, 0.0, 0.0) p2 = ( 3.0, 0.0, 0.0) p3 = ( 3.0, 0.5, 0.0 )

p4 = ( 0.0, 1.0, 0.0 )

p5 = ( 0.0, 0.0, 1.0)

p6 = ( 3.0, 0.0, 0.50) p7 = ( 1.5, 0.95, 0.0 ) p8 = ( 1.5, 0.0, 0.95) p9 = ( 2.0, 0.75, 0.0 ) p10 = ( 2.0, 0.0, 0.75) pll = ( 2.5, 0.55, 0.0 ) p12 = ( 2.5, 0.0, 0.55) p13 = ( 0.5. 1.0, 0.0 )

p14 = ( 1.0, 1.0, 0.0 ) p15 = ( 0.5, 0.0, 1.0 ) p16 = ( 1.0, 0.0, 1.0)

curves cl=linel (pl, p2, nelm=12) c2=linel (p2, p3, nelm=4) c3=splinel (p3, pll, p9, p7, p14, p13, p4, nelm=12) c4=linel (p4, pl , nelm=4 ) c5=splinel (p5, p15, p16, p8, p10, p12, p6, nelm=12) c6=linel (p2, p6, nelm=4) c7=linel (pl, p5, nelm=4) c8=arcl (p3, p6, p2, nelm=6) c9=arcl (p4, p5, pl, nelm=6) c10= curves (c8, -c6, c2) ell= curves(c9, -c7, -c4)

surf aces s2=genera15 (-c4, c9, -c7 ) sl=general5 (c2, c8, -c6) s3=pipesurface5 (-c4, c2, cl, -c3 ) s4=pipesurface5 (129, c8, -c3, c5) s5=pipesurface5 (-c7, -c6, c5, cl) s6=ordered surface (s3, s4, s5) sl=general5 (c2, c8, -c6) s2=genera15 (-c4, c9, -c7 s3=pipesurface5(c2, -c4, -cl, c3) s4=pipesurface5 (c6, c7, -cl, -c5) s5=pipesurface5 (-c8, -c9, -c5, c3) s6=ordered surface (s3, -s4, -s5)

volumes vl=pipel3 (s2, sl, s6)

plot ( eyepoint = ( 100, -50, 50 ) ) *, nosubmesh

end

Page 20: Volumegroei van de hartspier · 6 . Conclusie ... In het daaropvolgende hoofdstuk zal mathematische model ge'implementeerd worden tot een numeriek model. Met dit numeriek model kan

Volumegroei van de hartspier

Bijlage 2: Programma-bestand

1223456 program groei

implicit none

integer + + + + + + + + + + +

kmesh(500), kprob(2000,3), iuser (500,3) , istart, irotat, ioutp, itime, ichoice, iref, is01 (5,3) , ichoiceprob, iinputprob, iprob, iincommt(lO), ictime , intmat(5,3) , iinbld(l51, matr(5), irhsd(5,3), massmt (5), islold1(5,2), inpso1(22), iread, islold2 (5,2) , iinvec (11) , idum, stress (5) , iinder (lo), strain(5) , inpcre (as), dumvec (5), groeimod (5) , itime, iseq, ichcrv, ivec, stim(5) , uitzet(5) , iinplt(l4) , nstep , i, iter, niter , iisol(5) , iusol(5) , number, ncntln, j smooth, indcol, iplots (22) , ncoorc, coorcn, input

double precision user (5OO,3) , rinsol (lo), time, rinplt (5) , + acc, rinvec (lo), contln(100), rplots (6)

character*80 text

data kmesh / 500t0 / data kprob / 6000*0 / data iuser / 1500*0 / data user / 1500*0dO / data is01 / 15*0 / data inpsol / 22*0 / data iinplt / 14*0 / data rinsol / 10*0d0/

kmesh(1) =500 kprob (1,l) =2000 kprob (1,2) =ZOO0 kprob(1,3) =ZOO0 iuser (1,l) =SO0 iuser (1,2) =500 iuser(1,3) =SO0 user (1,l) =5OOdO user(1,Z) =5OOdO user (1,3) =5OOdO

istart=l irotat=O ioutp=l itime=O call start (istart, irotat, ioutp, itime)

open(unit=30, file='meshoutputl, status='oldl) ichoice =-2 ire£ =3O call meshrd(ichoice, ire£, kmesh)

c - - - Plot the mesh iinplt (1) =I4 iinplt (6) =1 iinplt (10) =l iinplt (11) =O iinplt (14) =1

rinplt(1) = 15d0 rinplt (2) = Id0

Page 21: Volumegroei van de hartspier · 6 . Conclusie ... In het daaropvolgende hoofdstuk zal mathematische model ge'implementeerd worden tot een numeriek model. Met dit numeriek model kan

Volumegroei van de hartspier

rinplt (3) = 15d0 rinplt (4) =15d0 rinplt (5) =15d0

c call plotms (kmesh,iinplt,rinplt,dumvec)

call probdf(ichoiceprob, kprob(1, iprob), kmesh, iinputprob)

iincommt (1) =2 iincommt (2) =l

ictime=O call prestm(ictime, kmesh, kprob (1, iprob) , is01 (1, iprob) )

end do

C - - - Create vector for storage total solution: inpcre (1) =0 call creatv(kmesh, kprob(l,l), iusol, inpcre, OdO)

C - - - Create solution type vectors for old solutions

inpcre (1) =3 inpcre (2) =1 inpcre (3 ) =1

c call creatv (kmesh, kprob (1,l) , isloldl(l,l), inpcre, 0dO) call creatv (kmesh, kprob (1,~) , islold2 (1,l) , inpcre, 0d0)

c - - - Create vector with one degree of freedom ichcrv=2 ivec=l

call creavc (0, ichcrv, ivec, isloldl(1,~) , kmesh, + kprob(l,l), 0, OdO)

call creavc (0, ichcrv, ivec, islold2 (1,2) , kmesh, + kprob(l,2), 0, OdO)

c - - - Nurber of growth steps do i = 1, nstep

call usolve (i, kmesh, kprob (1,l) , intmat (1,l) , + iuser, user, iusol, isol, iisol, stress, + strain)

c write(*,*), 'Problem 1 solved'

c - - - Create solution type vector inpcre (1) =3 inpcre (2) =1 inpcre (3) =1

c - - - Create vector with one degree of freedom ichcrv=2 ivec=l

call creavc(0, ichcrv, ivec, groeimod, kmesh, + kprob(l,l), 0, OdO)

Page 22: Volumegroei van de hartspier · 6 . Conclusie ... In het daaropvolgende hoofdstuk zal mathematische model ge'implementeerd worden tot een numeriek model. Met dit numeriek model kan

Volumegroei van de hartspier

call specvc(ichoice, strain, dumvec, groeimod, + kprob (1,l) , kmesh)

c - - - Rekveld plotten

iplots (1) =22 iplots (2) =2 iplots (3) =l iplots (4) =I5 iplots (5) =0 iplots (6) =l0 iplots (7) =0 iplots (8) =0 iplots (9) =0 iplots (10) =0 iplots (11) =2 iplots (12) =l iplots (13) =0 iplots (14) =l iplots (15) =l iplots (16) =0 iplots (17) =0 iplots (18) =0 iplots (19) =l iplots (20) =0 iplots (21) =0 iplots (22) =1

call plotcn(kmesh, kprob(l,l), strain, iplots, rplots, + contln, input, text, ncoorc, coorcn)

C - - - Standaard sepran-avs uitvoer wordt gemaakt:

C itime=l C time=OdO C iseq=i C call priavs (kmesh, kprob (1, I), groeimod, itime, C + iseq, time)

open( unit= 30 , file='dist ) call prinsl( iusol, kmesh, kprob(l,l), 30 ) close(unit= 30 )

open( unit= 30 , file='groeimodt ) call prinsl( groeimod, kmesh, kprob (1, l), 30 )

close(unit= 30 )

open( unit= 30 , file='strainl ) call prinsl( strain, kmesh, kprob(l,l), 30 ) close(unit= 30 )

Page 23: Volumegroei van de hartspier · 6 . Conclusie ... In het daaropvolgende hoofdstuk zal mathematische model ge'implementeerd worden tot een numeriek model. Met dit numeriek model kan

Volumegroei van de hartspier

c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

iprob=2 c - - - Copy groeimod from kprobl to kprob2

call copydf (groeimod, islold2 (l,2) , kprob (1,l) , + kprob (l,2) , 1, I, kmesh)

c - - - Fill coefficients, source (f) depends on groeimod

iinbld(l)= 10 iinbld(2)= 1 iinbld(3) = 0 iinbld(4)= 0 iinbld(5)= 0 iinbld(6) = 0 iinbld (7) = 0 iinbld (8) = 0 iinbld(9) = 0 iinbld(l0) = 2

call build (iinbld, matr, intmat (1, iprob) , kmesh, + kprob (1, iprob) , + irhsd (1, iprob) , massmt, is01 (1, iprob) , + islold2 (1,l) , iuser (1, iprob) , + user (1, iprob) )

call solvel(inpso1, rinsol, matr, isol(1, i~rob), + irhsd (1, iprob) , + intmat (I, iprob) , kmesh, @rob (1, iprob) , iread)

open( unit= 30 , file='opll ) call prinsl( is01 (l,2), kmesh, kprob (1, 2), 30 ) close(unit= 30 )

- - - Standaard sepran-avs uitvoer wordt gemaakt:

itime=2 time=OdO iseq=i call priavs (kmesh, kprob (1, 2) , is01 (l,2) , itime,

+ iseq, time)

iinder (1) =4 iinder (2) =0 iinder (3) =0

- icheld=3 : -grad(c) iinder (4) =3

call deriv (iinder, uitzet, kmesh, kprob (1, iprob) , + isoi (1, iprob) , iuser(1, iprobj ,user (1, iprob) )

itime=3 time=OdO iseq=i call priavs(kmesh, kprob(1, iprob), uitzet, itime,

+ iseq, time)

open( unit= 30 , file='uitzet' ) call prinsl( uitzet, kmesh, kprob(1, iprob), 30 ) close(unit= 30 )

call copydf (uitzet, uitzet, kprob(1,l) ,

call defrnsh( call defmsh(

- - - Set some

kprob(l,2), 1, 1, kmesh)

parameters for the plotting routine

iinplt (1) =I4 iinplt (6) =1 iinplt (10) =1

Page 24: Volumegroei van de hartspier · 6 . Conclusie ... In het daaropvolgende hoofdstuk zal mathematische model ge'implementeerd worden tot een numeriek model. Met dit numeriek model kan

Volumegroei van de hartspier

iinplt (11) =O iinplt (14) =1

rinplt (1) = 15d0 rinplt (2) = Id0 rinplt (3) = 15d0 rinplt (4) = 15d0 rinplt (5) =15d0

c call plotms (krnesh,iinplt,rinplt,dumvec)

end do

call finish (0) end

double precision function funccf(ifunc, x, y, z)

implicit none integer ifunc double precision x, y, z

funccf =dble (ifunc) c write(*,*) 'funccf=', funccf

end

c - - -

double precision function funccl(ifunc, x, y, z, stim)

implicit none integer ifunc , stim(5) double precision x, y, z, funccl

if (ifunc.eq.1) then funccl= stim(1) write (*, * ) 'funccl=', funccl else write(*,*) 'wrong function number'

endif

subroutine specvc ( ichois, ivecl, ivec2, ivec3, kprob, i kmesh )

c ===----------------------------------------------------------------- ................................................................. C

C

c programmer Sander Gielen c version 1.0 date 03-10-95 derived from copydf C

C c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C

C DESCRIPTION C c fill vector, as function of two other vectors on all degrees c of freedom. C C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C

C KEYWORDS C

C c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C

c INPUT / OUTPUT C

implicit none integer ichois, ivecl ( * ) , ivec2 ( * ) , ivec3 ( * ) , kprob (

Page 25: Volumegroei van de hartspier · 6 . Conclusie ... In het daaropvolgende hoofdstuk zal mathematische model ge'implementeerd worden tot een numeriek model. Met dit numeriek model kan

Volumegvoei van de hartspier

C

c ichois i choice parameters c ivecl i old array (must be an existing SEPRAN array) c ivec2 i old array (must be an existing SEPRAN array) c ivec3 o new array (must be an existing SEPRAN array) c kprob i kprob of arrays c kmesh i kmesh of problems C C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C

C COMMON BLOCKS C

integer ibuffr double precision buffer(1) common ibuf f r (1) equivalence ( ibuffr (1) , buffer (1) )

C

c Blank common c Working storage for all kinds of operations C

c ibuffr i/o General SEPRAN buffer array C

C c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

integer ierror, nerror common /cconst/ ierror, nerror save /cconst/

C

c /cconst/ c Error codes and number of errors to print C

c ierror i/o Error number of last error occurred c 0 No error present c >O Last run-time error c nerror - Number of error messages printed C c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

integer iinfor, infor common /carray/ iinfor, infor (3,1500) save /carray/

C

c /carray/ c Information of arrays in IBUFFR C

c iinfor - Number of types that is stored in INFOR. C 0 c= IINFOR c= 1500 c infor i/o Information concerning the storage of arrays in IBUFFR c is stored in the following way: c Pos. (1,i) If > 0: array i is stored in IBUFFR from position c stored in infor (1, i) c If < 0: array i is stored in file 3 from record c number -infor (1, i) c Pos. (2, i) Length of the array in words c Pos. (3,i) Priority number. Is used to decide which arrays c are put to file 3. 0 <= prio <= 10 C c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C

c SUBROUTINES CALLED C

c ERCLOS: Resets old name of previous subroutine of higher level c EROPEN: Produces concatenated name of local subroutine c ERRSUB: Error messages C

c SPECO1: SPECial vector manipulation, body of SPECVC C c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C

C LOCAL PARAMETERS C

integer itypvl, itypv2, itypv3, inkpfl, inkpf2, inkpf3, + inkphl, inkph2, inkph3, + inkppl, inkpp2, inkpp3, nphysl, nphys2, nphys3, + ipvecl, ipvec2, ipvec3, ipkpfl, ipkpf2, ipkpf3,

Page 26: Volumegroei van de hartspier · 6 . Conclusie ... In het daaropvolgende hoofdstuk zal mathematische model ge'implementeerd worden tot een numeriek model. Met dit numeriek model kan

Volumegroei van de hartspier

+

itypvl itypv2 itypv3 inkpf 1 inkpf 2 inkpf 3 inkphl inkph2 inkph3 inkppl inkpp2 inkpp3 nphysl

nphys2

nphys3

ipvecl ipvec2 ipvec3 ipkpf 1 ipkpf 2 ipkpf 3 ipkphl ipkph2 ipkph3

ipkphl, ipkph2, ipkph3

Type number of vector 1 Type number of vector 2 Type number of vector 3 Index of kprob part f Index of kprob part f Index of kprob part f Index of kprob part h Index of kprob part h Index of kprob part h Index of kprob part p Index of kprob part p Index of kprob part p Maximal number of degrees of freedom per point or the number of physical variables if defined Maximal number of degrees of freedom per point or the number of physical variables if defined Maximal number of degrees of freedom per point or the number of physical variables if defined Pointer to vecl Pointer to vec2 Pointer to vec3 Pointer to kprob part f Pointer to kprob part f Pointer to kprob part f Pointer to kprob part h Pointer to kprob part h Pointer to kprob part h

c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C

call eropen ( 'specvc' ) itypvl = ivecl(2) if ( itypvl.ne.110 .and. itypvl.ne.115 .and. itypvl.ne.116 ) then

call errint ( itypvl, 1 ) call errsub ( 13, 1, 0, 0 )

end if itypv2 = ivec2 (2) if ( itypv2.ne.110 .and. itypv2.ne.115 .and. itypv2.ne.116 ) then

call errint ( itypv2, 1 ) call errsub ( 13, 1, 0, 0 )

end if itypv3 = ivec3 (2) if ( itypv3.ne.110 .and. itypv3.ne.115 .and. itypv3.ne.116 ) then

call errint ( itypv3, 1 ) call errsub ( 13, 1, 0, 0 )

end if if ( kprob(2) .ne.lOl ) then

call errint ( kprob(1) , 1 ) call errsub ( 26, 1, 0, 0 )

end if if ( ierror.ne. 0 ) go to 1000

C - - - End tests

call ini075 ( ivecl, kprob, inkpfl, inkphl, inkppl, nphysl ) call ini075 ( ivec2, kprob, inkpf2, inkph2, inkpp2, nphys2 ) call ini075 ( ivec3, kprob, inkpf3, inkph3, inkpp3, nphys3 ) write ( * , * ) 'nphys3=', nphys3

ipkpf l=max ( ipkp f 2 =max ( ipkpf 3 =max ( ipkphl=max ( ipkph2=max ( ipkph3 =max (

call spec01 + + + +

1, infor(1,inkpfl) ) 1, infor(1, inkpf2) ) 1, infor(l,inkpf3) ) 1, inf or (1, inkphl) ) 1, infor(l,inkph2) ) 1, infor(1, inkph3) )

( ibuffr(ipvecl), ibuffr(ipkpfl), ibuffr(ipkphl), inkpfl, inkphl, nphysl, ibuffr(ipvec2), ibuffr(ipkpf2), ibuffr(ipkph2), inkpf2, inkph2, nphys2, ibuffr(ipvec3), ibuffr(ipkpf3), ibuffr(ipkph3),

Page 27: Volumegroei van de hartspier · 6 . Conclusie ... In het daaropvolgende hoofdstuk zal mathematische model ge'implementeerd worden tot een numeriek model. Met dit numeriek model kan

Volumegroei van de hartspier

+ inkpf 3, inkph3, nphys3, kmesh(8) , ichois )

1000 call erclos ( 'specvc' ) end

cdc*eor

subroutine specOl( vecl, kpfl, kphl, inkpfl, inkphl, ndfl, + vec2, kpf2, kph2, inkpf2, inkph2, ndf2, + vec3, kpf3, kph3, inkpf3, inkph3, ndf3, + npoint, ichois)

c ......................................................................

C

C

c programmer Sander Gielen c version 1.2 date 17-10-97 changed do-loops c 1.1 data 25-04-96 extended for vector with different c dof s . c version 1.0 date 03-10-95 derived from cpdfOl C

C

C c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C

C DESCRIPTION C

c make vector from two other vectors. C c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C c KEYWORDS C c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C

c INPUT / OUTPUT PARAMETERS C

implicit none integer inkpfl, inkpf2, inkpf3, inkphl, inkph2, inkph3,

+ kpfl(*), kpf2(*), kpf3 ( * ) , kphl(*), kph2(*), kph3(*), + ndfl, ndf2, ndf3, npoint, ichois double precision vecl ( * ) , vec2 ( * ) , vec3 ( * )

c ichois i choice parameter, set by specvc. c inkpf i index of kprob part f of problem: c = 0 : constant number of dofs in vector. c > 0 : not constant number of dofs in vector. c inkph i index of kprob part h of problem c kpf i kprob part f of problem 1 c kph i kprob part h of problem 1 c ndfl i number of do£ kprobl (if constant) c ndf2 i number of dof kprob2 (if constant) c npoint i number of nodal points c vecl i input vector c vec2 i input vector c vec3 o output vector C C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C

c COMMON BLOCKS C C - c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C

c LOCAL PARAMETERS logical ukphl, ukph2, ukph3 integer ipoint , ipvecl, ipvec2, ipvec3, idf 1, idf 2, idf 3 double precision vctrl(6) , vctr2 (6) , vctr3 (6)

C

c ipoint Counter for node numbers c ipvecl Pointer in vecl c ipvec2 Pointer in vec2 c ipvec3 Pointer in vec3 c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

SUBROUTINES CALLED

Page 28: Volumegroei van de hartspier · 6 . Conclusie ... In het daaropvolgende hoofdstuk zal mathematische model ge'implementeerd worden tot een numeriek model. Met dit numeriek model kan

Volumegroei van de hartspier

if ( inkpfl.gt.O .and. inkpf2.gt.0 .and. inkpf3.gt.O ) then write (* ,* ) ' spevec alleen voor vectoren met constant dofs' write ( * , * ) ' rest geskipt ' got0 1000

end if

ukphl = ( inkphl .ne. 0 ) ukph2 = ( inkph2 . ne . 0 ) ukph3 = ( inkph3. ne .0 )

C - - - loop over all points

do ipoint = 0, npoint-l

- - - extract vector 1

do idfl = 1,ndfl

ipvecl = ipoint*ndfl+idfl if ( ukphl) ipvecl = kphl (ipvecl) vctrl (idfl) = vecl (ipvecl)

end do

- - - extract vector 2

ipvec2 = ipoint*ndf2+idf2 if ( ukph2) ipvec2 = kph2 (ipvec2) vctr2 (idf 2) = vec2 (ipvec2)

end do

- - - call to fnspvc to compute vector 3

call fnspvc( ichois, vctrl, ndfl, vctr2, ndf2, vctr3, ndf3 )

- - - put results back in large vector 3

end do

end do 1000 continue

call erclos ( 'spevec' ) end

cdc*eor

C

c programmer Sander Gielen c version 1.0 date 25-04-1996 C c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C

c DESCRIPTION C

c user-subroutine to compute special vector manipulation C

c v3 = fn ( vl, v2 ) , all do£ s may be used. C c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Page 29: Volumegroei van de hartspier · 6 . Conclusie ... In het daaropvolgende hoofdstuk zal mathematische model ge'implementeerd worden tot een numeriek model. Met dit numeriek model kan

Volumegroei van de hartspier

C

c KEYWORDS C c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

INPUT / OUTPUT PARAMETERS

implicit none

integer ichois, nl, n2, n3 double precision vl (nl) , v2 (n2) , v3 (n3)

integer nmax, IA, IV, I, IFAIL, J, N

parameter (nmax=3, IA=nmax, IV=max) double precision A (IA, nmax) , E (nmax) , R (nmax) , v (IV, nmax) , t buffer (1) , mu, lambda, Emodl, nul, stimulus . . External Subroutines . . external FOZABF

ichois choice parameter. Set by call to specvc. nl,n2,n3 number of dofs of vectorl, 2, 3 vl vector 1, input vector v2 vector 2, input vector v3 vector 3, output vector

c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C

c COMMON BLOCKS C - c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C

c PSEUDO CODE C

c ichois = 1 ===> eigenvalues c ichois = 2 ===> first invariant of strain c ichois = 3 ===> second invariant of deviatoric strain c ichois = 4 ===> total strain energy c ichois = 5 ===> second invariant of strain C c ......................................................................

if (ichois .eq. 1) then

IFAIL = 1

call f 02abf (A, IA,N,R,V, IV, E, IFAIL)

IF (1FAIL.NE. 0) THEN WRITE ( * , * ) 'Error in FO2ABF. IFAIL = ' , IFAIL ELSE

WRITE ( * , * ) 'Eigenvalues' WRITE ( * , * ) (R(1) ,I=l,N)

WRITE ( DO I = 1, N WRITE ( * , * )

end do endi f

*, *) 'Eigenvectors '

( V ( 1 , J) , J=l,N)

Page 30: Volumegroei van de hartspier · 6 . Conclusie ... In het daaropvolgende hoofdstuk zal mathematische model ge'implementeerd worden tot een numeriek model. Met dit numeriek model kan

Volumegroei van de hartspier

end if

if (ichois .eq. 2) then

end if

if (ichois .eq. 3) then

write(*,*) 'Calculating second invariant'

end if

if (ichois .eq. 4) then

Emodl = 5d6 nu1 = 0.48d0

lambda = (Emodl*nul) / ( (ldO+nul) * (ld0-2dO*nul) )

do I = 1,3 v3 (I) = OdO

end do

if (ichois . eq. 5) then

c write(*,*) 'Calculating second invariantr

if (ichois .eq. 6 ) then

if ( (abs (773 (1) ) ) .It. 0.0005) then

end if

Page 31: Volumegroei van de hartspier · 6 . Conclusie ... In het daaropvolgende hoofdstuk zal mathematische model ge'implementeerd worden tot een numeriek model. Met dit numeriek model kan

Volumegroei van de hartspier

call eropen ( 'fnspvc' ) call erclos ( 'fnspvc' ) end

subroutine fnmateri (ichoice, s, se, eps, detf, + matpar, makese , tl , x)

C

c last changed : 05-02-98 3D-team (Mascha, Marielle, Liesbeth) c 30-3-1999 Roy Kerckhoffs c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

FNMATERI : routine for ELM250. Non-linear material behaviour.

DESCIPTION (GENERAL)

Compute 2nd-Piola-Kirchoff stress and tangent stiffness from given Green-Lagrange strains.

DESCIPTION (SPECIFIC)

Constitutive model used for passive muscle tissue by Peter Bovendeerd, Sander Gielen, and Jons Rijcken. Based on strain energy density function w:

W = w s + w v ws = aO*exp(al*il**2 + a2*i2 + a3*ell**2 + a4*(e12**2+e13**2)) wv = as* (det (Fc. F) -1) "2 = a5* (det (c) -1) "2

adapted from skeletal muscle fnmateri by Sander Gielen

eps i

detf i matpar i makese i tl X

I/O 2nd-PK-stresses. s(j) : j: component (1=11, 2=22, 3=33,

4=12, 5=23, 6=31) tangential matrix. se (i, j ) : i, j components (symmetric!)

Green-Lagrange strains eps (i) : i : components (symmetric ! ) ;

determinant of deformation gradient material parameters (User defines!) se must be computed (true) or not (false) i local nodal point number i global coordinates of local nodal point = x(8,3)

C

logical makese double precision s(6), se(6,6), eps(6), f (3,3),detf, matpar(*)

integer i, j , ichoice, tl double precision aO, al, a2, a3, a4, a5, a12, al3, a24,

& il, i2, wexp, ws, d, detc, Tstress, Tostress, & tactive, & c(6), dws(6), dwv(6), ddws(6,6), ddwv(6,6), & dTdE, pi, x(8,3)

Tstress = Second Piola-Kirchhoff active stress [kPal TOstress = First Piola-Kirchhoff active stress [kPal dTdE = Differentiation of T to first Green-Lagrange strain Ell tactive = time at which contraction is activated

include '/usr/local/sepran/common/ctimen'

write ( * , * ) x= I , x(t1,l) write ( * , * ) tl= I , tl

material parameters a0 = matpar (1) a1 = matpar (2) a2 = matpar (3) a3 = matpar (4) a4 = matpar ( 5 ) a5 = matpar (6 )

Page 32: Volumegroei van de hartspier · 6 . Conclusie ... In het daaropvolgende hoofdstuk zal mathematische model ge'implementeerd worden tot een numeriek model. Met dit numeriek model kan

Volumegroei van de hartspier

c ==== Initialisation Tstress = OdO dTdE = OdO

c === computation of stresses

c - - - part from ws

invariants of strain tensor eps

il = eps(1) + eps(2) + eps(3) i2 = eps (4) *eps (4) + eps (5) *eps (5) + eps (6) *eps (6)

& - eps (1) *eps (2) - eps (2) *eps (3) - eps ( 3 ) *eps (1)

wexp = al*il*il + a2*i2 + a3*eps(l) *eps (1) & + a4* (eps (5) *eps (5) +eps (6) *eps (6) ) ws = aO*exp ( wexp )

derivatives of ws with respect to strains. because of symmetry, count derivatives to shear strains only half.

dws (1) = 2dO*al3*eps (1) + a12* (eps (2) +eps (3) ) dws (2) = 2dO*al *eps (2) + al2* (eps (3) +eps (1) ) dws (3) = 2dO*al *eps (3) + al2* (eps (1) +eps (2) ) dws(4)= a2 *eps(4) dws (5) = a24*eps (5) dws (6) = a24*eps (6)

part from wv

from Green-Lagrange to Cauchy-Green strains c (1) =2dO*eps (1) +ld0 c (2) =2dO*eps (2) +ld0 c (3) =2dO*eps (3) +ld0 c (4) =2dO*eps (4) c (5) =2dO*eps (5) c (6) =2dO*eps (6)

derivatives of wv with respect to eps equal two times derivatives to c

total stresses

do 30 i=1,6 s(i) = dws(i) *ws

& + dwv(i) *d cont inue

c ============= Add active stress c if (t .gt. tactive) then c call fnactive (Tstress, dTdE, eps, x(tl, 1) ,x(tl,2), C & x (tl, 3) , tactive) c s (1) = s(1) + Tstress c end if

Page 33: Volumegroei van de hartspier · 6 . Conclusie ... In het daaropvolgende hoofdstuk zal mathematische model ge'implementeerd worden tot een numeriek model. Met dit numeriek model kan

Volumegroei van de hartspier

c === computation of stiffness if ( makese ) then

do 100 i=1,6 do 110 j=1,6

ddws(i,j) = OdO ddwv(i,j) = OdO

110 continue 100 continue

c - - - part from ws

c 2nd derivatives of ws to eps ddws(1,l) = 2*a13 ddws(l,2) = a12 ddws(l,3) = a12 ddws (2,1) = a12 ddws(2,2) = 2*al ddws(2,3) = a12 ddws(3,l) = a12 ddws(3,Z) = a12 ddws(3,3) = 2*al ddws(4,4) = a2 ddws(5,5) = a24 ddws(6,6) = a24

c - - - part from wv

c 2nd derivatives of wv to eps

c - - - compose tangent stiffness matrix

do 40, i=1,6 do 50, j=1,6

se(i,j) = (ddws(i,j) +dws(i)*dws(j) )*ws & + ddwv(i, j)*d + dwv(i) *dwv(j)*ZdO*a5

50 continue 4 0 continue

c ======= Add active stiffness c if (t .gt. tactive) then c se(1,l) = se(1,l) + dTdE c end if

end if

c - - - end fnmateri

return end

Page 34: Volumegroei van de hartspier · 6 . Conclusie ... In het daaropvolgende hoofdstuk zal mathematische model ge'implementeerd worden tot een numeriek model. Met dit numeriek model kan

Volumegroei van de hartspier

Bijlage 3 : Probleemdefinitie-bestand *-------------------------------------------------------==--------------- ....................................................... * problem definition * Probleem definitie voor verjongde trekstaaf met bricks *--------------------------------------------------------=---------------- ........................................................ * PROBLEEMl - Vaste stof problem types elgrpl, (type=250)

natbouncond bngrpl, (type=251)

bounelements belml = surf aces (s2)

essbouncond * degf dl, degf d2, degf d3=points (p4)

degfdl = surfaces (sl) degfd2 = surfaces (s3) degfd3 = surfaces (235)

end

essential boundary conditions end

* Read coefficients problem coefficients

elgrpl (nparm=45) icoef 2 = 10

# icoef 4 = 132

# fnmateri bijgevoegd: coef 6 = 0.5 coef 7 = 3.0 coef 8 = 6.0 coef 9 = 3.0 coef 10 = 0.0 coef 11 = 50.0

bngrpl (nparam=25 ) icoefl = 2 coef6 = -0.3

end

# igprob=O (3D stress) # inonlin=l (fysisch en geometrisch # niet-lineair, alleen globale anisotr.)

# imateri=2 (exponentieel materiaalgedrag) # icomprs=3 # iadd=l

# Apply load in coordinate direction # opgelegde kracht

* PROBLEEM2 - Poisson-vgl problem

types elgrpl, (type=800)

natbouncond bngrpl, (type=123) npelm = 4

bounelements belml = surfaces (s3, s5)

es sboundcond surfaces (s4)

end

essential boundary conditions end

* Read coefficients problem 2 coefficients

elgrpl (nparm=20) icoefl = 0 # not yet used icoef2 = 0 # no upwinding icoef3 = 3 # default integration scheme icoef4 = 0 # coordinate system icoef5 = 0 # standard equation coef6 = lOdO # alpha-11 coef7 = OdO # alpha-12 coef8 = OdO # alpha-13 coef9 = lOdO # alpha-22 coeflO = OdO # alpha-23

Page 35: Volumegroei van de hartspier · 6 . Conclusie ... In het daaropvolgende hoofdstuk zal mathematische model ge'implementeerd worden tot een numeriek model. Met dit numeriek model kan

Volumegroei van de hartspier

coefll = lOdO # alpha-33 coefl2 = OdO # v-1 coefl3 = OdO # v-2 coefl4 = OdO # V-3 coefl5 = OdO # beta coefl6 = old solution 2 , degree of freedom 1, coef (func=l) coefl7 = OdO # rho c g coefl8 = OdO # not yet used coefl9 = OdO # not yet used coef2O = OdO # not yet used bngrpl (nparam=15) icoefl = 2 # type of natural boundary condition icoef2 = 0 # not yet used icoef3 = 0 # type of numerical integration icoefd, = 0 # type of co-ordinate system icoef5 = 0 # not yet used coef6 = 0 # sigma coef7 = 0 # h coef8 = lOdO # alpha-11 coef9 = OdO # alpha-12 coeflO = OdO # alpha-13 coefll = lOdO # alpha-22 coefl2 = OdO # alpha-23 coefl3 = lOdO # alpha-33 coefl4 = 0 # not yet used coefl5 = 0 # not yet used

end

f * ~teratief oplossen usolve I solve 1 end { I * Poisson-vergelijkingen I solve i end

. N-maal herhalen

f * Iteratief oplossen usolve I solve 1 end { I * Poisson-vergelijkingen I solve i end

output end

end