[WC] Cosmos simulatie van een waterblok

Pagina: 1
Acties:
  • 261 views sinds 30-01-2008
  • Reageer

  • KifArU
  • Registratie: Maart 2000
  • Niet online
Geïnspireerd door dit topic [topic=478776/1/300] ben ik ook op zoek gegaan naar software om de warmteverdeling binnen een waterblok te simuleren.
ProCast is iets te hoog gegrepen, maar met cosmos (www.cosmosm.com) is ook een redelijke benadering te maken.

De temperaturen zijn in 2 cijfers achter de komma gegeven. Bij een iets nauwkeuriger benadering blijkt dit ongeveer een graad te kunnen schelen. Dus ter vergelijking kunnen deze temperaturen gebruikt worden, absoluut gezien kloppen deze niet.

Mijn opzet is wat simpeler, namelijk warmte aan de ene kant erin en de oppervlakken waar water mee in aanraking komt, krijgen een vaste factor voor warmteafvoer.
Hiermee krijg je een benadering, omdat de invloed van dode punten in de stroom en de opwarming buiten beschouwing blijven.

Voorlopig ben ik van de volgende punten uitgegaan:
- 100 watt aan warmte afgegeven op een oppervlak van 12x8 mm
- Blok gemaakt van koper
- Warmte afgifte van 5000 W/m2.k aan oppervlakken
- Watertemperatuur van 20 graden
Dit zijn waarden die in het andere topic ook gebruikt worden.

Verder heb ik steeds een maat van 50x50 mm gebruikt. Dit is met verschillende deksels op alle cpu's te gebruiken.
Voor de wanden van het blokje heb ik voor de stevigheid altijd minimaal 4 mm gebruikt.
Voor de kanalen heb ik een minimum breedte aangehouden van 4 mm, omdat dit een vrij standaard freesmaat lijkt te zijn.
Ook is bij het maken van belang, dat de diepte maximaal
Verder heb ik gerekend zonder koeling aan de lucht aan de buitenkant.

Verder heb ik geen deksel meegenomen, omdat deze vaak van kunststof zijn en weinig warmte afgeven. Ook is het lastiger invoeren.

Voor de invoer heb ik op alle blokken een stukje koper getekend van 12x8x0,01 mm. Dit is zo dun mogelijk om weinig weerstand te creëren, maar wel een hoogteverschil, anders kan het programma er slecht mee omgaan.
Dit levert voor de onderkant altijd een beeld op dat hierop lijkt: (temperaturen zijn hier dus niet van belang)
Afbeeldingslocatie: http://www.tkau.nl/wb02.jpg

Eerst ben ik gaan experimenteren met een "basisblok", gewoon een leeg bakje van koper.
Omdat dit nog wel eens met koperplaat gesoldeerd wordt, eerst een blokje met een bodem en wanden van 0,5 mm:

0,5 mm bodemdikte
Afbeeldingslocatie: http://www.tkau.nl/wb13.jpg

Daarna heb ik een wanddikte van minimaal 4 mm gebruikt en ben ik de bodemdikte gaan variëren:

0,5 mm bodemdikte
Afbeeldingslocatie: http://www.tkau.nl/wb12.jpg

2,5 mm bodemdikte
Afbeeldingslocatie: http://www.tkau.nl/wb09.jpg

5 mm bodemdikte
Afbeeldingslocatie: http://www.tkau.nl/wb10.jpg

10 mm bodemdikte
Afbeeldingslocatie: http://www.tkau.nl/wb11.jpg

Hieruit komt duidelijk naar voren dat de optimale bodemdikte is: zo dik mogelijk.
Op zich logisch, omdat de bodem veruit het grootste deel van het oppervlak is. Dus hoe groter de spreiding, hoe beter.
De hoogte van de interne ruimte heb ik niet gevarieerd omdat dat heel weinig verschil in oppervlak oplevert.

Daarna heb ik een kanaal aangebracht in het blokje. Niet de meest optimale, maar in ieder geval een duidelijke vergroting van het interne oppervlak:

5 mm bodemdikte, 10 mm interne hoogte
Afbeeldingslocatie: http://www.tkau.nl/wb05.jpg

5 mm bodemdikte, 15 mm interne hoogte:
Maximum temperatuur 36,42 graden

5 mm bodemdikte, 20 mm interne hoogte
Maximum temperatuur 35,99 graden

Hieruit blijkt dat het vergroten van de interne ruimte maar weinig effect heeft boven de 10 mm. Een verdubbeling van de hoogte heeft een effect van 1,5 graad.

Daarna ben ik gaan kijken of 1 lang kanaal of enkele parallelle kanalen beter zou zijn.
Bedenk hierbij dat ik de opwarming van het water buiten beschouwing heb gelaten. Het effect van "warmer" water aan het eind van de spiraal of de lagere stroomsnelheid in parallelle kanalen, zijn dus niet van invloed.

De interne hoogte is vast op 10 mm gezet, vanwege de spreiding van de warmte heb ik wel verschillende bodemdiktes en vormen bekeken.
Eerst een vorm waarbij de kanalen evenwijdig aan de zijkanten van het blok lopen:

Bodemdikte: 5 mm, interne hoogte 10 mm
Afbeeldingslocatie: http://www.tkau.nl/wb04.jpg

Daarna een blokje waarbij de kanalen diagonaal lopen:

Bodemdikte: 5 mm, interne hoogte 10 mm
Afbeeldingslocatie: http://www.tkau.nl/wb01.jpg

En in deze zelfde vorm:
3 mm bodemdikte, 10 mm interne hoogte:
Maximum temperatuur 38,53 graden

7 mm bodemdikte, 10 mm interne hoogte:
Maximum temperatuur 36,78 graden

10 mm bodemdikte, 10 mm interne hoogte:
Maximum temperatuur 36,85 graden

Hieruit blijkt dat een bodemdikte van meer dan 5 mm eigenlijk niet meer bijdraagt aan het resultaat.

Het verschil tussen evenwijdige of diagonale kanalen wordt waarschijnlijk veroorzaakt door het kleinere oppervlak van de tussenwanden in het blok met evenwijdige kanalen.
Omdat bij de diagonale kanalen de tussenwand schuin over de core heenloopt, is de warmtespreiding hier voor mijn gevoel beter dan in het blok met diagonale kanalen.

Bij gelijke maten, ontlopen de verschillende blokken elkaar niet veel.
Dat brengt mij tot de (voorlopige) conclusie dat het oppervlak waarover warmte wordt uitgewisseld belangrijker is dan de vorm.

Verder is steeds een constante factor aangehouden voor de warmteoverdracht van koper naar water.
Omdat de temperaturen in de simulaties vrij hoog zijn (gunstigste is 36 graden), maar in de praktijk lager blijken te kunnen komen, zou deze factor misschien aangepast moeten worden. Overigens wordt er in de praktijk bijna nooit een belasting van 100 watt gehaald.

Om dit uit te zoeken, ben ik op zoek naar mensen die een (zelfgemaakt) waterblok hebben, waarvan een tekening beschikbaar is en die temperaturen van water en cpu hebben gemeten. Als ik dan zo'n blokje simuleer, zou ik kunnen kijken of een andere waarde betere resultaten geeft.

Ook een middel aan het water toevoegen om de oppervlaktespanning te verlagen (waterwetter), kan invloed hebben op deze factor.

Verder verwacht ik de vraag of ik andere blokken wil simuleren. Ja, dat wil ik wel doen onder de volgende voorwaarden:
-Er moet een 3d-tekening beschikbaar zijn in .sat-formaat of vergelijkbaar, wat ik in cosmos kan laden.
Dit kan gemaakt worden met onder andere autocad, solidworks en Pro/engineer
-Aan het blok moet een uitsteeksel van 12x8 mm gemaakt worden (zo dun mogelijk) waar de warmte ingevoerd kan worden
-Als er een deksel op gesoldeerd wordt, moet het model uit 2 delen bestaan, blok en deksel
-Er moet een e-mail adres bekend zijn, waar het resultaat heen kan
-Het resultaat moet hier gepost worden (kan niet alles op eigen ruimte kwijt)
-Als er een blokje uitgevoerd is, moeten de overige gegevens uit de praktijk ook gepost worden.
-Als je in de simulatie een ander materiaal voor het blok of het koelmiddel wil gebruiken, ben ik gebonden aan de bibliotheek van cosmos. Hier staan redelijk wat materialen in, maar niet alles. Ook zul je een waarde voor de warmteoverdracht tussen het materiaal en het koelmiddel zelf moeten uitzoeken.

Verwijderd

leuke kruisjes!! :P

  • JumpStart
  • Registratie: Januari 2000
  • Niet online

JumpStart

thinking of stardust

Op vrijdag 14 juni 2002 15:50 schreef KifArU het volgende:
Geïnspireerd door dit topic [topic=478776/1/300] ben ik ook op zoek gegaan naar software om de warmteverdeling binnen een waterblok te simuleren.
ProCast is iets te hoog gegrepen, maar met cosmos (www.cosmosm.com) is ook een redelijke benadering te maken.

De temperaturen zijn in 2 cijfers achter de komma gegeven. Bij een iets nauwkeuriger benadering blijkt dit ongeveer een graad te kunnen schelen. Dus ter vergelijking kunnen deze temperaturen gebruikt worden, absoluut gezien kloppen deze niet.

[knippperdeknip !]
Ziet er goed uit, maar ik mis 1 gegeven: de tijd! Hoe veel seconden of minuten procestijd heb je gesimuleerd ? Of heb je de simulatie gewoon laten lopen tot er geen verandering meer optrad in de temperatuursverdeling ?

ALL-CAPS WITH NO PUNCTUATION IS SO MUCH TRUER TO THE WAY THOUGHTS HURTLE OUT OF THE HUMAN BRAIN THAN CAREFULLY MANICURED AND PUNCTUATED SENTENCES COULD EVER BE


  • KifArU
  • Registratie: Maart 2000
  • Niet online
In dit programma heb je de opties "transient" of "steady state". Deze heb ik allebei geprobeerd, met een simpel blok (leeg blokje, 5 mm bodem, 5 mm opbouw)
Bij transient kun je de doorlooptijd en de stapgrootte aangeven.
Toen ik een redelijk fijne mesh gebruikte (ca 25000 elementen) en 7200 seconde met een stapgrootte van 1 seconde invoerde, had de computer na 24 uur rekenen zo'n 90% gedaan, een swapfile van meer dan 1 gb (bij 512 mb intern geheugen op een duron 800) en een eigen wisselbestand van 2 gb gemaakt en crashte toen. Op dat moment duurde iedere % meer dan een uur.
Dus maar wat minder (zo'n 15000 elementen en 300 seconden) en daaruit bleek, dat de temperatuur al na zo'n 20 seconden stabiel werd. Waarschijnlijk doordat het water niet opwarmt, maar gewoon een convectie met 5000 W/m2.k wordt ingevoerd.
Hierop baseer ik ook de uitspraak in het andere topic, dat het warmtetransport in het blok niet de beperkende factor is. Dit zie je na 5 tot 6 seconden al bij de definitieve situatie in de buurt komen.

De optie steady state berekent meteen dit getal met een nauwkeurigheid binnen 1 graad van wat er na 300 seconde werd bereikt.
Nu gebruik ik dus alleen steady state en dan duurt de berekening hooguit een minuut, omdat alle tussenstappen niet worden opgeslagen.

Het verschil tussen een fijne en grove mesh is ook minder dan 1 graad, dus voor deze massa-berekeningsslag heb ik ook een grove mesh aangehouden. (ca. 1,5mm)
Als ik een blokje exacter wil weten, dan kan ik wel een fijne mesh invoeren. (elementen van 0,3 of 0,5 mm) Maar dan duurt het meshen zo een kwartier tot een half uur en krijg je bijvoorbeeld 500.000 elementen. Dat vreet geheugen en opslag. (Ik heb geen unix-bak, dus dan wil hij met zulke getallen wel eens crashen ;) )

Dus ook weer een kleine afronding, maar nauwkeurig genoeg om een beeld te krijgen.

Straks zal ik nog meer plaatjes neerzetten van de verschillende simulaties.

  • JumpStart
  • Registratie: Januari 2000
  • Niet online

JumpStart

thinking of stardust

Op vrijdag 14 juni 2002 16:36 schreef KifArU het volgende:

[..]

Het verschil tussen een fijne en grove mesh is ook minder dan 1 graad, dus voor deze massa-berekeningsslag heb ik ook een grove mesh aangehouden. (ca. 1,5mm)
Als ik een blokje exacter wil weten, dan kan ik wel een fijne mesh invoeren. (elementen van 0,3 of 0,5 mm) Maar dan duurt het meshen zo een kwartier tot een half uur en krijg je bijvoorbeeld 500.000 elementen. Dat vreet geheugen en opslag. (Ik heb geen unix-bak, dus dan wil hij met zulke getallen wel eens crashen ;) )

Dus ook weer een kleine afronding, maar nauwkeurig genoeg om een beeld te krijgen.

Straks zal ik nog meer plaatjes neerzetten van de verschillende simulaties.
Ik ken Cosmos verder niet, maar is er geen mogelijkheid om plaatselijk de mesh density aan te passen zodat je alleen een hoge mesh dichtheid gebruikt op plaatsen waar het nodig is ?

ALL-CAPS WITH NO PUNCTUATION IS SO MUCH TRUER TO THE WAY THOUGHTS HURTLE OUT OF THE HUMAN BRAIN THAN CAREFULLY MANICURED AND PUNCTUATED SENTENCES COULD EVER BE


  • KifArU
  • Registratie: Maart 2000
  • Niet online
Als die optie bestaat, ken ik hem niet. Ik gebruik een automatische functie. "Create mesh" en dan begint het programma zelf te rekenen.
Voor het temperatuurverloop van transient in het lege blokje, 5 mm bodem, 5 mm interne hoogte.
mesh van 2,5 mm (5770 elementen)

Steady state: 42,64

Transient:
Tijd - Max. temperatuur
0,0 - 20,00
0,2 - 29,17
0,4 - 32,07
0,6 - 33,69
0,8 - 34,77
1,0 - 35,56
2 - 37,72
3 - 38,85
4 - 39,63
5 - 40,23
6 - 40,71
7 - 41,10
8 - 41,40
9 - 41,65
10 - 41,85
15 - 42,30
20 - 42,52
25 - 42,60
30 - 42,63
50 - 42,62
75 - 42,62
100 - 42,65
120 - 42,65

Je ziet dus dat de temperatuur na 20 seconden al vrijwel hetzelfde is als na 2 minuten en ook bijna hetzelfde als steady state.


Mesh van 1,25 mm ( 49141 elementen, ca. 8,5 x zoveel)

Steady state: 42,64
Transient na 120 sec: 42,64

Dus het heeft bijna geen meerwaarde om de fijnere instellingen te gebruiken.
Een kleine indruk van wat voor invloed zo'n simpel blokje al heeft: Een screenshot van de swapfile die het programma zelf maakt, het cpu- en geheugengebruik van designstar (het eigenlijke programma) en FFEHstar (de "solver" van designstar):

Afbeeldingslocatie: http://www.tkau.nl/cpu-info.jpg

  • JumpStart
  • Registratie: Januari 2000
  • Niet online

JumpStart

thinking of stardust

Op vrijdag 14 juni 2002 19:18 schreef KifArU het volgende:
[..]

Een kleine indruk van wat voor invloed zo'n simpel blokje al heeft: Een screenshot van de swapfile die het programma zelf maakt, het cpu- en geheugengebruik van designstar (het eigenlijke programma) en FFEHstar (de "solver" van designstar):

[afbeelding]
Tsja, ProCAST (de solver dus) draait simulaties met rond de 500k elementen in een meg of 60 a 70. Dat komt omdat de pre-processor heel goed kan optimaliseren om de data binnen de perken te houden.

Tijdens MeshCAST, het sub-programma dat de mesh genereert, kan het geheugen gebruik doordenderen tot voorbij de 300 Mb.

ALL-CAPS WITH NO PUNCTUATION IS SO MUCH TRUER TO THE WAY THOUGHTS HURTLE OUT OF THE HUMAN BRAIN THAN CAREFULLY MANICURED AND PUNCTUATED SENTENCES COULD EVER BE


Verwijderd

Kifaru, mocht je die software gewoon downloaden (met een fake bedrijfsnaam??) of heb je een officiële aanvraag (met een echte bedrijfsnaam) gedaan?

Ziet er naar uit dat ze je vooraf screenen - en ze willen alles van je weten.

  • KifArU
  • Registratie: Maart 2000
  • Niet online
Voor zover ik weet, kun je de software niet zomaar downloaden.
Maar daar kan de maker je meer over vertellen dan ik.

  • Perphide
  • Registratie: Mei 2002
  • Laatst online: 21-04-2024
Op zaterdag 15 juni 2002 20:39 schreef KifArU het volgende:
Voor zover ik weet, kun je de software niet zomaar downloaden.
Maar daar kan de maker je meer over vertellen dan ik.
je kan ze wel rippen :)

  • KifArU
  • Registratie: Maart 2000
  • Niet online
En een simulatie van een van de blokken uit een ander topic:
Afbeeldingslocatie: http://www.tkau.nl/koelblok4mm505012final.jpg

Op zich een redelijk goed resultaat, maar waarschijnlijk te dunne tussenwanden, waardoor het grote oppervlak niet meer effectief gebruikt wordt. De einden van de tussenwanden zijn namelijk wel erg koel.

Verwijderd

Hmm, de temps zijn toch beduidend anders dan die van ProCAST. Waar zitten de verschillen?

  • JumpStart
  • Registratie: Januari 2000
  • Niet online

JumpStart

thinking of stardust

Op dinsdag 18 juni 2002 22:50 schreef DaBit het volgende:
Hmm, de temps zijn toch beduidend anders dan die van ProCAST. Waar zitten de verschillen?
OI!! lezen dabit :) Kifaru werkt zonder stroming, gewoon een vaste waarde voor warmteoverdracht per oppervlakte-eenheid.
Op vrijdag 14 juni 2002 15:50 schreef KifArU het volgende:

[..]

Mijn opzet is wat simpeler, namelijk warmte aan de ene kant erin en de oppervlakken waar water mee in aanraking komt, krijgen een vaste factor voor warmteafvoer.
Hiermee krijg je een benadering, omdat de invloed van dode punten in de stroom en de opwarming buiten beschouwing blijven.

Voorlopig ben ik van de volgende punten uitgegaan:
- 100 watt aan warmte afgegeven op een oppervlak van 12x8 mm
- Blok gemaakt van koper
- Warmte afgifte van 5000 W/m2.k aan oppervlakken
- Watertemperatuur van 20 graden
Dit zijn waarden die in het andere topic ook gebruikt worden.

[..]
Watertemp bij mij is 22 °C initieel, en intern, lokaal aan het contactoppervlak, wel 25 °C en hoger.

ALL-CAPS WITH NO PUNCTUATION IS SO MUCH TRUER TO THE WAY THOUGHTS HURTLE OUT OF THE HUMAN BRAIN THAN CAREFULLY MANICURED AND PUNCTUATED SENTENCES COULD EVER BE


Verwijderd

Op dinsdag 18 juni 2002 23:07 schreef JumpStart het volgende:
OI!! lezen dabit :) Kifaru werkt zonder stroming, gewoon een vaste waarde voor warmteoverdracht per oppervlakte-eenheid.
*schaam*
Ik raus weer te hard door de topics heen :(

Ik heb niks gezegd...

  • KifArU
  • Registratie: Maart 2000
  • Niet online
Op dinsdag 18 juni 2002 22:50 schreef DaBit het volgende:
Hmm, de temps zijn toch beduidend anders dan die van ProCAST. Waar zitten de verschillen?
en om het nog erger te maken:
Dit blok is volgens mij nooit met procast gesimuleerd.

Maar kijk ook even in de thread van procast naar mijn reactie: Volgens mij mogen de resultaten nooit al te ver uit elkaar liggen, omdat de voorwaarden niet zo heel veel verschillen.
Ik ben vrij grof aan het werk, maar een "redelijke benadering" kan er volgens mij nooit 20 graden of meer vanaf zitten.

Voor de volledigheid nog even de redenering, waarom ik deze uitgangswaarden heb genomen (In wetenschappelijk volledig onverantwoorde taal om het voor iedereen begrijpelijk te houden):

- 100 watt aan warmte afgegeven op een oppervlak van 12x8 mm
Vermogen van een flink overgeklokte athlon op de grootte van de core.

- Blok gemaakt van koper
Beste warmtedoorgifte, dus beste spreiding door het blok. Dit kan ook ook heel simpel veranderen in andere materialen, maar die leveren eigenlijk allemaal hogere temperaturen op.

- Warmte afgifte van 5000 W/m2.k aan oppervlakken
Overgenomen uit het procast-topic. Dit is eigenlijk de lastigste in het hele proces. Deze is afhankelijk van enkele factoren en per plaats variabel. Om het makkelijk werkbaar te houden, heb ik deze aangenomen op 5000.
it zijn bij mij dus alle vlakken. Omdat ik de vloeistofstroom niet simuleer, heb ik dus geen opwarmend water en geen dode hoeken. Dit levert dus een iets geflatteerde waarde op.

- Watertemperatuur van 20 graden
Dit zijn waarden die in het andere topic ook gebruikt worden (of werden), simpelweg een standaard kamertemperatuur. Dit is ook heel makkelijk te veranderen.

- Verder heb ik steeds een maat van 50x50 mm gebruikt. Dit is met verschillende deksels op alle cpu's te gebruiken.

- Voor de wanden van het blokje heb ik voor de stevigheid altijd minimaal 4 mm gebruikt.

- Voor de kanalen heb ik een minimum breedte aangehouden van 4 mm, omdat dit een vrij standaard freesmaat lijkt te zijn.

- Ook is bij het maken van belang, dat de freesdiepte maximaal 2,5 x de breedte kan zijn. (Sommige gesimuleerde blokken zijn dus niet zomaar te frezen.)

- Verder heb ik gerekend zonder koeling aan de lucht aan de buitenkant. Dit kan ik ook meenemen, maar dan moet ik eerst de factor voor overgang van koper naar lucht weten. Verder heb ik aangenomen, dat deze maar heel weinig meehelpt in vergelijking met het water. (Verwaarloosbaar dus)


Dus de vergelijking even kort samengevat: Iets meer vermogen, iets minder koeling aan de buitenkant, iets meer koeling aan de binnenkant en iets kouder water. (20 ipv 22 graden en geen opwarming)
Dit zou voor een deel moeten compenseren, maar zou verder weinig verschil mogen maken.

  • JumpStart
  • Registratie: Januari 2000
  • Niet online

JumpStart

thinking of stardust

Op woensdag 19 juni 2002 08:53 schreef KifArU het volgende:

[..]

Dus de vergelijking even kort samengevat: Iets meer vermogen, iets minder koeling aan de buitenkant, iets meer koeling aan de binnenkant en iets kouder water. (20 ipv 22 graden en geen opwarming)
Dit zou voor een deel moeten compenseren, maar zou verder weinig verschil mogen maken.
Ok, om de resultaten van Cosmos naast ProCAST te kunnen leggen moet je echt zo veel mogelijk dingen hetzelfde houden, dus, als je tijd hebt, probeer dan even een nieuwe simulatie op te zetten met de volgende dimensies/instellingen/waardes:

'leeg' blok, dus een simpele bak van 60x60x18 mm (deksel zou 2 mm erbij doen)
4 mm dikke bodem
wanden 3 mm dik
12x8x1 mm core (en dus niet 0,001 oid.)

Tsja, temperaturen ?? Op het moment dat je 20 °C pakt dan is dat nogal rigoreus, want vooral in contact met de wand is het water zeker warmer dan je intree temperatuur.

Om je een idee te geven: ProCAST plaatje, na 66,666 seconden, temperatuur van het water in contact met het koper. Bovenste plaatje is de bovenkant van het vloeistof kanaal, onderste plaatje is het raakvlak met de bodem van het koelblok.

Als ik het zo bekijk zou je als volgt de werkelijkheid kunnen benaderen: bodemoppervlak = Tinlaat + 0,5 °C en voor de wanden Tinlaat + 1 °C. Waarbij Tinlaat dus je koelwatertemperatuur is.

Afbeeldingslocatie: http://www.hyperreal.org/~geert/test/koel013_08.gif

Als je ook koeling aan lucht mee zou willen nemen: Ik heb in ProCAST de default waarde van 10 W/m²/K gebruikt, maar dat is bij een Delta T van een paar graden echt miniem.

Koper (puur) heeft een geleidbaarheid van 398 W/m/K bij 300 K en 392 W/m/K bij 400 K. De warmtecapaciteit is bij 300 K 385 J/Kg/K en bij 400 K 396 J/Kg/K

ALL-CAPS WITH NO PUNCTUATION IS SO MUCH TRUER TO THE WAY THOUGHTS HURTLE OUT OF THE HUMAN BRAIN THAN CAREFULLY MANICURED AND PUNCTUATED SENTENCES COULD EVER BE

Pagina: 1