1 Bondgrafen met Dynasim Jan Mooij, Frank Dijkstra Versie 7 november 20092 Dit dictaat is voorzien van een Creative Commons Naamsvermelding-Niet-comme...
Bondgrafen - Jan Mooij, Frank Dijkstra Dit dictaat is voorzien van een Creative Commons Naamsvermelding-Niet-commercieel-Gelijk delen 3.0 Nederland licentie
De gebruiker mag:
het werk kopiëren, verspreiden en doorgeven Remixen - afgeleide werken maken
Onder de volgende voorwaarden:
Naamsvermelding. De gebruiker dient bij het werk de door de maker of de licentiegever aangegeven naam te vermelden (maar niet zodanig dat de indruk gewekt wordt dat zij daarmee instemmen met uw werk of uw gebruik van het werk). Niet-commercieel. De gebruiker mag het werk niet voor commerciële doeleinden gebruiken. Gelijk delen. Indien de gebruiker het werk bewerkt kan het daaruit ontstane werk uitsluitend krachtens dezelfde licentie als de onderhavige licentie of een gelijksoortige licentie worden verspreid. Bij hergebruik of verspreiding dient de gebruiker de licentievoorwaarden van dit werk kenbaar te maken aan derden. De beste manier om dit te doen is door middel van een link naar deze webpagina. De gebruiker mag afstand doen van een of meerdere van deze voorwaarden met voorafgaande toestemming van de rechthebbende. Niets in deze licentie strekt ertoe afbreuk te doen aan de morele rechten van de auteur, of deze te beperken.
Vrijwaring Vrijwaring De Commons overeenkomst is geen licentie. Het is slechts een handig hulpmiddel voor een beter begrip van de Juridische overeenkomst (de volledige licentie)- het is een vereenvoudigde (human-readable) weergave van sommige kernbegrippen. U zou het kunnen zien als een gebruikersvriendelijke versie van de onderliggende Juridische overeenkomst. Deze overeenkomst heeft geen juridische betekenis en haar inhoud is ook niet terug te vinden in de daadwerkelijke licentie. Creative Commons is geen advocatenpraktijk en verleent geen juridische diensten. Het verspreiden van, tonen van of verwijzen naar deze Commons overeenkomst roept geen juridische relatie met Creative Commons in het leven.
Het voorgaande laat de wettelijke beperkingen op de intellectuele eigendomsrechten onverlet. Dit is de vereenvoudigde (human-readable) versie van de volledige licentie. (zie ook appendix C)
pagina 2 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra
Uitvinder van de bondgraaf
Professor Henry M. Paynter (1923-2002)
Henry Martyn Paynter of Pittsford, Vermont, formerly of New York and Reading, Massachusetts, an Emeritus Professor of Mechanical Engineering, MIT, and inventor of the Bond Graph Modeling System died suddenly at his home on Friday, June 14, 2002. Dr. Paynter was born in Evanston, Illinois and grew up in New York City and its environs. He and his wife raised their six children in Reading, Massachusetts and upon his retirement, moved to Pittsford, Vermont. Dr. Paynter received a B.S. (1944), M.S. (1949), and Sc.D (1951), all from MIT. He started teaching in the MIT Civil Engineering Department in 1946. Regarded as a creative, charismatic, and passionate teacher who deeply influenced the careers of his students, he urged them to think "big" and "deep" about engineering and science. To initiate the first Systems Engineering subjects at MIT, Dr. Paynter transferred in 1954 to the Department of Mechanical Engineering on a half-time basis until 1959 and then full-time until his retirement in 1985. One of the world's leading experts in analog computing, his close association with George Philbrick (credited along with Lovell as the developer of the operational amplifier) and his earliest research lead to the formation of the Pi-Square Engineering Company. This company applied fast electronic analog computing to industrial process control. Besides pioneering contributions to hybrid computing, today he is best known for his academic research and course work that culminated in the creation of Bond Graphing.
pagina 3 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra Hoofdstuk 1 Inleiding Dit dictaat beschrijft hoe je een computermodel kan maken dat het tijdsafhankelijke gedrag van technische systemen kan simuleren. Dat is van belang zowel in de ontwerpfase van nieuwe systemen als bij het optimaliseren en wijzigen van bestaande systemen. Het elektrische, hydraulische en thermische domein worden behandeld, alsmede het mechanische domein en gemengde systemen. Technische systemen zijn opgebouwd uit componenten, die door hun onderlinge samenhang de werking van het geheel bepalen. Welke deze componenten zijn is vaak lastig aan te geven. Een massa heeft in werkelijkheid ook een beetje veereigenschappen en een metalen veer heeft ook een eigen massa. Een spoel heeft zowel een zelfinductie als een (kleine) capaciteit en weerstand. Moet je bij het modelleren van een waterslang het effect van de elasticiteit nu wel of niet meenemen? Om grip op de zaak te krijgen beschouwen we een systeem als te zijn opgebouwd uit ideale componenten. Die kan je tenminste beschrijven met een fatsoenlijke wiskundige formule. Uit welke ideale componenten men een systeem opgebouwd veronderstelt, hangt grotendeels af van het specifieke systeemgedrag, waarin men geïnteresseerd is. Als men bijvoorbeeld van een vallende staaf alleen de beweging van het zwaartepunt wil weten is een model met een puntmassa voldoende, maar als ook rotaties in aanmerking genomen worden, krijgt men een aanzienlijk ingewikkelder model. Het is in de techniek gebruikelijk op een wiskundige manier naar systemen kijken. Het gedrag van ideale componenten wordt beschreven met wiskundige formules. 𝑑𝐼 (massa: 𝐹 = 𝑚. 𝑎; weerstand: 𝑈 = 𝐼. 𝑅; spoel: 𝑈 = 𝐿. ; een gat in een vat: 𝑑𝑡
𝛥𝑃 = 𝑅𝑏𝑒𝑟𝑛. 𝛷 2 ; etc.). Met die formules alleen ben je er nog niet. Een systeem kan je opgebouwd denken uit een heleboel ideale componenten. Die vinden is al een kunst op zich. De samenhang van de ideale componenten bepaalt hoe de elementaire formules samengenomen moeten worden om tot een complete wiskundige beschrijving van het hele systeem te komen. Hiervoor heb je behoudswetten uit de natuurkunde nodig. In het algemeen leidt dit tot een stelsel differentiaalvergelijken, die vervolgens opgelost moeten worden. Het gedrag van een systeem kan dan gevonden worden door na te gaan hoe het systeem op een bepaalde prikkel (ingangssignaal) reageert. Dit komt neer op formuleren van de juiste randvoorwaarden en het oplossen van het gevonden stelsel differentiaalvergelijkingen. Als deze oplossing in formulevorm gevonden wordt heet dit een analytische oplossing. Deze is bij relatief eenvoudige systemen al tamelijk lastig te vinden. Ook het opstellen van de vergelijkingen en randvoorwaarden lukt alleen bij eenvoudige lineaire systemen. Je kunt ook op een natuurkundige manier tegen een systeem aankijken. Je kijkt dan naar de energieuitwisseling tussen de onderdelen. Prof. Henry Martyn Paynter kwam in 1959 op het lumineuze idee een systeem op te vatten als een collectie vermogensverbindingen (power bonds) en hij presenteerde de grondslag voor de huidige bondgraaf in een lezing op vrijdag 24 april 1959. In de nacht er aan voorafgaand kwam het idee van de 0- en 1-junction bij hem op (zie verder in dit dictaat en ook http://www.bondgraphs.com/about.html). In plaats van een ingewikkeld stelsel differentiaalvergelijkingen wordt de systeembeschrijving dan een (ingewikkeld) plaatje (=graaf) dat een vermogensnetwerk voorstelt, waarin de componenten van het systeem zitten als pagina 4 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra vermogensbronnen of energieopslagelementen of energiedissipatoren of energieomzetters. Modelleren met bondgrafen heeft wel het voordeel, dat je verlost bent van de wiskundige ballast, waardoor je ook het gedrag van grotere systemen gemakkelijker kan beschrijven en bestuderen. In het algemeen staan we steeds voor drie taken: 1. Het vinden van het juiste model (=componenten + samenhang) 2. Het vinden van een methode om dit model door te rekenen (computersimulatie) 3. Het interpreteren van de berekeningen (=simulatieresultaten) ad. 1 We kijken hoe complexe systemen opgebouwd zijn uit ideale componenten en hoe deze onderling samenhangen in een bondgraaf. Hiervoor is een goed fysisch inzicht noodzakelijk. ad. 2 We leren hoe we de gevonden bondgraafstructuur kunnen omzetten in voor een computer begrijpelijke taal. We gebruiken daarvoor de taal DSL (Dynasim Simulation Language). Hiervoor is kennis van DSL en nauwgezetheid nodig. ad. 3 Je leert door te spelen met de modellen, je gaat experimenteren met het programma dynasim3.26
pagina 5 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra Hoofdstuk 2 De bondgraaf 2.1
Het concept
Het bondgraafconcept verschaft ons een algemene beschrijvingsmethode van systemen die voor verschillende fysische domeinen geschikt is (1961, Paynter: "Analysis and design of engineering systems", MIT Press, Cambridge, Mass.). We zullen de bondgraaf introduceren aan de hand van onderstaand elektronisch schema:
Een serieschakeling van een ideale spanningsbron, een weerstand en een parallelschakeling van een spoel en condensator. De spanningsbron stopt energie in de R, L en C. Dit is weergegeven in een z.g. woordbondgraaf hieronder.
De pijlen met halve punt stellen energiestromen voor in Watt. In het Engels heten dit power bonds. De energiestroom wordt positief gerekend in de richting van de halve pijlpunt. De woordbondgraaf is nog verder op te splitsen:
pagina 6 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra
De officiele bondgraaf krijg je door voor “serie” een 1 in te vullen en voor “parallel” een 0. Zie http://www.me.utexas.edu/~longoria/paynter/hmp/Bondgraphs.html als je meer wilt weten over de geboorte van de 0- en 1-junction. Als je verder voor “ideale spanningsbron” het symbool Se (effort source) gebruikt en verder R, L en C krijg je deze bondgraaf:
Als je boven de bond van Se Uin schrijft, bevat deze bondgraaf precies dezelfde informatie als het electronische schema. Je kunt het opvatten als een boomstructuur van energiestromen met op de vertakkingen 0- of 1-junctions en componenten als boomblaadjes.
2.2
Effort en flow
Energiestroom (of vermogen) kan geschreven worden als het product van twee grootheden: een effortvariabele e en een flowvariabele f. De eenheid van e.f is Watt. In de tabel op de volgende pagina zie je welke grootheden als effort- resp. flowvariabele worden beschouwd in de verschillende energiedomeinen. pagina 7 van 87
Effortvariabele e Spanning U [V] Druk P [Pa] Temperatuur T [K] Kracht F [N] Koppel M [Nm]
Flowvariabele f Stroom I [A] Debiet Φ [m3/s] Warmtestroom W [W] Snelheid v [m/s] Rotatiesnelheid ω [rad/s]
*
Het thermische domein is een buitenbeentje, omdat de flowvariabele zelf al de eenheid Watt heeft. In het thermische domein spreek je daarom van “pseudobondgrafen”. We onderkennen voorlopig de volgende ideale componenten: Energiebronnen (leveren energie): Se: een effort source: (levert een effort) (voorbeelden : spanningsbron, kracht, koppel, drukpomp, omgevingstemperatuur) Sf: een flow source: (levert een flow) (voorbeelden: stroombron, (rotatie)snelheid, verdringerpomp, zonnewarmte) Energiedissipatoren (zetten energie in warmte om, behalve bij thermische systemen): R: een weerstand (𝑒 = 𝑅. 𝑓) G: een geleidingsvermogen (𝑓 = 𝐺. 𝑒; 𝑚𝑒𝑡 𝐺 = 1/𝑅) Energiebuffers: 1 C: een capaciteit (𝑒 = 𝑒(0) + ∫ 𝑓. 𝑑𝑡) (condensator, veer, warmtecapaciteit, open 𝐶
Energieverdelers (abstract, dus niet een fysische component): 0-junction: alle aangesloten componenten hebben dezelfde effortvariabele 1-junction: alle aangesloten componenten hebben dezelfde flowvariabele Het engelse woord junction betekent vertakking of splitsing van een weg. De junctions kan je beschouwen als energieverdeelstations, die zich houden aan de wet van behoud van energie. Bij de energieproducenten Se en Sf is maar 1 bond, die altijd vanaf het componentsymbool gericht is. Bij de energieconsumenten R, G, C, L, I, M en J is de richting van de ene bond altijd naar het componentsymbool toe. Bij junctions kunnen de pijlen zowel naar de junction toe als er vanaf wijzen. Op een junction zijn altijd 2 of meer bonds aangesloten. (NB: in het thermische domein bestaat geen traagheidscomponent!)
pagina 8 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra Opdracht 2.2 1. Teken het schema van een ideale stroombron (Sf), waaraan parallel een weerstand R en condensator C aangesloten zijn en stel de bondgraaf op. 2. Doe hetzelfde voor een serieschakeling van een ideale spanningsbron (Se), weerstand R, spoel L en condensator C. 3. En voor een massa die opgehangen is aan een veer. De zwaartekracht werkt op de massa en is op te vatten als een effort source Se. 4. Idem voor een pannetje water (warmtecapaciteit) op het gas (Sf). 2.3
Causale streepje
Zo‟n bondgraafconcept is alleen nuttig als we er ook mee kunnen rekenen. Elke component kan beschreven worden met een formule, die het verband aangeeft tussen de effort- en flowvariabele. Je kunt elke component dus ook opvatten als een rekenmachientje, dat een waarde uitrekent voor de z.g. outputvariabele op grond van een inputvariabelenexpressie. Als een effort uitgerekend wordt is een flow de input en als een flow uitgerekend wordt is een effort de input. Verder stelt een component ook een fysisch ding voor, dat fysische eigenschappen heeft. Die worden vastgelegd in parameters zoals massa, weerstand, zelfinductie, warmtecapaciteit, voorspanning van een veer, beginsnelheid, etc.. Alle energiebuffers hebben bovendien nog een startwaarde nodig als eerste parameter. Dat is de waarde van de outputvariabele op het tijdstip t=0 (startwaarde van de integraal). Of een effort- of flowvariabele output is bij de berekening wordt aangegeven in de bondgraaf door middel van een kort dwarsstreepje, het zogenaamde causale streepje. Voor de plaatsing van het causale streepje geldt het volgende: •
Als een component een effort uitrekent, staat het causale streepje ver van het componentsymbool af.
•
Als een component een flow uitrekent, staat het causale streepje dicht bij het componentsymbool.
Op de volgende pagina zie je een overzicht van de bondgraafelementen met hun causaliteit. De bloksymbolen van dynasim zijn ook aangegeven. De junctions zijn in feite optellers, die zorgen voor behoud van energie.
0-junction wordt vrijwel nooit als apart blok vermeld
Component (5) levert de gemeenschappelijke effortvariabele e5. Er geldt hier: 𝑓5 = 𝑓1 + 𝑓2 − 𝑓3 − 𝑓4
1-junction wordt vrijwel nooit als apart blok vermeld
Component (5) levert de gemeenschappelijke flowvariabele f5. Er geldt hier: 𝑒5 = 𝑒1 + 𝑒2 − 𝑒3 − 𝑒4
Een 0-junction heeft precies 1 causaal streepje bij zich staan afkomstig van de component die de gemeenschappelijke effortvariabele uitrekent. Een 1-junction mist precies op 1 plek een causaal streepje, dat dicht bij de component staat die de gemeenschappelijke flowvariabele uitrekent.
Opdracht 2.3 Voorzie de 4 bondgrafen van de vorige paragraaf 2.2 van causale streepjes.
pagina 10 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra 2.4
Simulatieprogramma dynasim
Dynasim is een blokgeörienteerd simulatieprogramma, dat rekent in het tijdsdomein. Het kan bijvoorbeeld stapresponsies en impulsresponsies berekenen van systemen. In dynasim kunnen de bondgraafmodellen beschreven en doorgerekend worden. Dynasim wordt aangestuurd door een gewoon tekstbestand (een .sim file) waarin de structuur van de bondgraaf en alle benodigde parameters kan worden gecodeerd. De opbouw van een .sim file is als volgt: ## #system /*Hier staan algemene instellingen voor dynasim. Alles tussen /* en */ wordt als commentaar gezien /*Alles wat tussen ## ..... bla bla bla .....en ## staat wordt voorzien van contextgevoelige kleuren. */ //De dubbele 'slash' wordt gebruikt voor commentaar op een enkele regel. #define /*Hier worden waarden van constanten opgegeven en kunnen ook berekeningen uitgevoerd worden. De uitkomsten zijn geldig gedurende de gehele simulatierun. Al hetgeen in de define sectie staat wordt eenmalig uitgerekend of opgegeven van boven naar beneden aan het begin van een simulatierun, bijvoorbeeld de start-, stoptijd en rekenstapgrootte step */ start stop step
= 0; = 15; = 0.01;
#structure /*Hier staat het hart van dynasim, de structuurtabel. Het patroon is in het algemeen: Outputvariabele = REKENBLOK (expressie van inputvariabelen : parameters); of Outputvariabele = (expressie van inputvariabelen); of PLOT (expressie van inputvariabelen : parameters); We gaan hier uitgebreid op in. De rekenvolgorde bepaalt dynasim zelf. */ #timing /*Hier staan achtereenvolgens de tijden, waarop de simulatie start, stopt en om de hoeveel tijd een nieuwe berekening van de output van alle blokken wordt uitgevoerd (step=rekenstapgrootte). De rekenstapgrootte moet voldoende klein genomen worden, anders kunnen z.g. numerieke instabiliteiten optreden.*/ start,stop,step; #end ##
Dynasim compileert deze file eerst en geeft dan foutmeldingen als er iets mis is. Is de compilatie geslaagd dan kan de simulatierun van start gaan. Eerst wordt eenmalig alles doorgerekend van de define sectie. Vervolgens wordt te beginnen met t=0 elke t+dt(=rekenstapgrootte) het hele systeem doorgerekend volgens het schema dat in het structuurgedeelte staat en de outputvariabelen geplot totdat t=stop bereikt wordt. Op de volgende pagina staat het uitgewerkte voorbeeld van paragraaf 2.1. Je ziet eerst de causaal gemaakte bondgraaf en bij de bonds aangegeven de outputvariabelen van de componenten in het blauw. pagina 11 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra
De inputexpressies staan in het groen tussen haakjes aangegeven. Kijk naar de positie van de causale streepjes en ga na of die kloppen met wat je in het overzicht op pagina 10 ziet. Merk op dat de R component vervangen is door een G om alles causaal in orde te krijgen.
Uin is een puls van 1V die aan staat tussen 0.005 s en 0.02 s, R=1kΩ, L=1H en C=1μF (1μ wordt aangegeven met 1e-6) De vertaling van de bondgraafstructuur is dit stukje tekst in de dynasim file (de structuurtabel genoemd): #structure Uin = PLS IR = _G_ UC = _C_ IL = _L_
( (Uin -UC (IR -IL (UC
: : : :
0.005, 0.02, 1); G); UC0, C); IL0, L);
We gaan het stukje tekst onder #structure regel voor regel na: Uin = PLS ( : 0.005, 0.02, 1); De ingangsspanning Uin, welke geleverd wordt door de effortsource (=spanningsbron) Se is een puls (PLS), waarvan de parameters achter de dubbele punt staan: 0.005 seconde is het tijdstip van aanzetten van de puls, op t=0.02 seconde gaat de puls weer uit en de grootte van de puls is 1 (Volt). Let op dat we rekenen met standaardeenheden uit het MKSA stelsel! Voor de dubbele punt staat niets omdat het PLS blok geen input nodig heeft. IR = _G_ (Uin -UC : G); IR (de stroom door de weerstand R) wordt uitgerekend door een geleidingsblok _G_ met de formule 𝐼𝑅 = 𝐺 ∗ (𝑈𝑖𝑛 − 𝑈𝐶), waarbij G(=1/R) achter de dubbele punt staat als parameter. IR heet de outputvariabele van blok _G_ en Uin-UC is de inputexpressie. Deze inputexpressie kan je vinden door naar de bondgraaf te kijken. De bondgraafpijl (bond) die naar G wijst heeft een effort- en een flowvariable. Omdat het causale (rode) streepje dicht bij het G-symbool staat is de flowvariabele output (dus IR). Dan moet de input van het G-blok een uitdrukking van effortvariabelen (spanningen) zijn. Welke deze uitdrukking is vind je door de wet van behoud van vermogensstromen toe te passen op de 1 junction (boven de G) en door de afspraken over 0- en 1-junctions toe te passen: De bonds rondom de 1-junction hebben allemaal dezelfde flowvariabele (IR geleverd door G) en de 3 bonds rondom de 0-junction hebben alle 3 dezelfde effortvariabele (UC geleverd door C). pagina 12 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra Aangevoerd vermogen = afgevoerd vermogen levert op: 𝑈𝑖𝑛 ∗ 𝐼𝑅 = 𝑈𝐶 ∗ 𝐼𝑅 + 𝑖𝑛𝑝𝑢𝑡𝑒𝑥𝑝𝑟𝑒𝑠𝑠𝑖𝑒 ∗ 𝐼𝑅, wegdelen van IR geeft: 𝑈𝑖𝑛 = 𝑈𝐶 + 𝑖𝑛𝑝𝑢𝑡𝑒𝑥𝑝𝑟𝑒𝑠𝑠𝑖𝑒 dus inputexpressie is 𝑈𝑖𝑛 − 𝑈𝐶. Sneller gezegd: het is de U van de bond, die naar de 1-junction loopt min de U van de bond, die er vanaf loopt. UC = _C_ (IR -IL : UC0, C); Het C-blok is een integraal die een effortvariable UC uitrekent (kijk maar naar de positie van het rode causale streepje) volgens de formule : 𝑈𝐶 = 𝑈𝐶0 +
1 𝐶
𝐼𝑅 − 𝐼𝐿 . 𝑑𝑡
Effortvariable UC is de output van het _C_ blok en IR-IL is de inputexpressie van flowvariabelen. UC0 en C zijn parameters achter de dubbele punt. Er zijn nu twee parameters, als eerste de startwaarde UC0 van de integrator in Volt, ofwel de beginspanning over de condensator op t=0, gevolgd door de capaciteit in Farad. De inputexpressie vind je weer door de wet van behoud van vermogensstromen toe te passen, nu op de 0 junction, waaraan de C hangt en natuurlijk de eigenschappen van de 0- en 1-junction niet te vergeten : Aangevoerd vermogen naar de 0-junction is afgevoerd vermogen : 𝑈𝐶 ∗ 𝐼𝑅 = 𝑈𝐶 ∗ 𝐼𝐿 + 𝑈𝐶 ∗ 𝑖𝑛𝑝𝑢𝑡𝑒𝑥𝑝𝑟𝑒𝑠𝑠𝑖𝑒 dus 𝐼𝑅 = 𝐼𝐿 + 𝑖𝑛𝑝𝑢𝑡𝑒𝑥𝑝𝑟𝑒𝑠𝑠𝑖𝑒 dus 𝑖𝑛𝑝𝑢𝑡𝑒𝑥𝑝𝑟𝑒𝑠𝑠𝑖𝑒 = 𝐼𝑅 − 𝐼𝐿. Sneller gezegd : het is de stroom van de bond die naar de 0-junction loopt minus de stroom van de bond die er vanaf loopt naar de L. IL = _L_ (UC : IL0, L); Het _L_ blok is ook een integraal met IL0 als startwaarde (de stroom door de spoel op t=0) en L de zelfinductie in Henry. De formule, die _L_ uitrekent is : 1 𝐼𝐿 = 𝐼𝐿0 + 𝑈𝐶. 𝑑𝑡 𝐿 Aan het causale streepje dicht bij het L symbool zie je dat de L een flow (stroom IL) uitrekent. De inputexpressie moet dus de dimensie van een spanning hebben. Deze inputexpressie kan je nu sneller vinden omdat je weet dat rondom een 0-junction alle effortvariabelen (spanningen) hetzelfde zijn. UC dus ! Bovenstaande oefening zullen we in het college nog vele malen doen aan de hand van andere bondgraafvoorbeelden.
pagina 13 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra De hele simfile met het resultaat van de simulatie zie je hieronder:
De standaardblokken van dynasim bestaan uit 3 karakters. Vandaar de underscores _ bij de R, G, C en L. Dynasim weet aan de hand van het bloksymbool welk soort berekening er uitgevoerd moet worden. Je kunt zelf ook blokdefinities maken, die uit meer karaktertekens bestaan. Voorbeelden krijg je te zien bij het hoofdstuk over hydraulische systemen. Dynasim is „case sensitive‟, dus Uc is iets anders dan UC. Alle programmaregels worden afgesloten met een ; De rekenstapgrootte is erg kritisch, als deze te grof is gaat de simulatie mis. Je krijgt dan numerieke instabiliteit. Opdracht 2.4 1. Start dynasim en neem bovenstaande dynasimfile over in een verse editor. 2. Run dynasim en controleer of je hetzelfde plaatje krijgt. 3. Verander de waarde van step totdat je run numeriek instabiel wordt. Bij welke waarde is dit ongeveer? 4. Wat is de invloed van de parameters van de plotblokken? 5. Laat R in een multirun automatisch de waarden 500, 1000, 1500, 2000 en 2500 ohm aannemen en plot de 5 resultaten in 1 plaatje (zie ook het multirun voorbeeld op de web site)
pagina 14 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra Hoofdstuk 3 Algemene strategie voor het opstellen van een bondgraaf Als je een bondgraaf opstelt van een elektrisch netwerk kan je meestal gebruik maken van het feit dat een serieschakeling door een 1-junction en een parallelschakeling door een 0-junction voorgesteld wordt. Het is niet altijd mogelijk om duidelijke serie- en parallelschakelingen te ontdekken. Dat lukt niet bij een brugschakeling bijvoorbeeld. Bij het hydraulische, thermische en mechanische domein scheppen de begrippen serie en parallel juist verwarring. Er is echter een algemene methode om tot een goede bondgraaf te komen, die altijd werkt (maar soms wat omslachtig is). 3.1
Strategie voor het elektrische, hydraulische en thermische domein 1. 2. 3. 4.
5. 6. 7. 8. 3.2
Benoem alle ideale fysische componenten en teken een schema Kies een referentie effortvariabele e0 (aarde, 0 Kelvin niveau, atmosferische druk) Zoek alle punten in je schema waar je ten opzichte van deze referentie een effort (spanning, temperatuur, druk) kunt meten en geef die aan met een 0-junction (de referentie e0 zelf geef je niet aan met een aparte 0) Construeer alle benodigde verschil-effortvariabelen door tussen deze 0junctions een 1-junction te plaatsen en georienteerde bondgraafpijlen te tekenen en de 1-junctions vervolgens af te sluiten met een 0-junction (deze laatsten stellen dan de benodigde verschilspanningen/temperaturen/drukken voor) Sluit alle fysische componenten aan op de juiste 0-junctions Vereenvoudig de bondgraaf door alle overtollige junctions te verwijderen of samen te nemen Maak de bondgraaf causaal en los eventuele causale conflicten op Zet de outputvariabele van elke fysische component bij de bondgraafpijl van de component Strategie voor het mechanische domein
1. 2. 3. 4.
5. 6. 7. 8.
Benoem alle ideale fysische componenten en teken een schema Kies een referentie flowvariabele f0 (snelheid 0) Zoek alle punten in je schema waar je ten opzichte van de referentie f 0 een (rotatie)snelheid kunt meten en geef die aan met een 1-junction (f0 zelf hoef je niet door een aparte 1 voor te stellen) Construeer alle benodigde verschil-snelheden door tussen deze 1junctions een 0-junction te plaatsen en georienteerde bondgraafpijlen te tekenen en de 0-junctions vervolgens af te sluiten met een 1-junction (deze laatsten stellen dan de benodigde verschilsnelheden voor) Sluit alle fysische componenten aan op de juiste 1-junctions Vereenvoudig de bondgraaf door alle overtollige junctions te verwijderen of samen te nemen Maak de bondgraaf causaal en los eventuele causale conflicten op Zet de outputvariabele van elke fysische component bij de bondgraafpijl van de component
pagina 15 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra
3.3
Volgorde van causale streepjes zetten
Het causaal maken kan je het beste in een bepaalde volgorde doen. Je kiest eerst de verplichte causaliteiten, dan de voorkeurscausaliteiten en als laatste de vrije causaliteiten van de R (die je immers gemakkelijk in een G kan veranderen). Het komt hier op neer: 1. 2. 3. 4. 3.4
Se, Sf C,L,M,I 0-junctions en 1-junctions R, die eventueel G moet worden bij een causaal conflict Voorbeelden
3.4.1 Voorbeeld RLC kring Een serieschakeling van een spanningsbron, R, L en C volgens dit schema:
De drie kruisjes geven de meetpunten aan van de verschilende spanningen ten opzichte van aarde. De aarde zelf hoef je niet door een 0-junction weer te geven. De strategie uit 3.1 leidt tot onderstaande bondgraaf:
Hier valt flink wat te vereenvoudigen: alle 0-junctions mogen verdwijnen, omdat ze geen van allen een energiestroom verdelen. Dan komen de twee 1-junctions naast pagina 16 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra elkaar te staan. Dat wil zeggen dat alle aangesloten componenten dezelfde stroom voelen. De twee 1-junctions mag je laten samenvallen tot een enkele 1-junction en je krijgt deze vereenvoudigde bondgraaf, die je ook meteen had kunnen opstellen omdat alle vier componenten in serie staan.
Causaal maken en van outputvariabelenamen voorzien leidt tot deze causaal gemaakte bondgraaf:
De spoel L bepaalt de gemeenschappelijke flowvariabele IL. De omstippelde bond heet daarom ook wel een sterke bond of uitzonderingsbond. De volgorde van het zetten van causale streepjes was: 1. ver weg van de Se 2. ver weg van de C en dichtbij de L (want dan integreren ze allebei) 3. De 1-junction moet precies 1 streepje missen, die staat al bij de L, dus streepje ver weg van de R Op de volgende pagina staat de uitwerking in dynasim:
pagina 17 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra
In de #DEFINES sectie staan o.m. de waarden van R=1kΩ, C=0.01μF en L=0.1H, alsmede de startwaarden UC0 en IL0 van de _C_ en _L_ blokken, die immers integratoren zijn. En elke integrator heeft een startwaarde nodig. Aangenomen wordt dat de standaardeenheden van het MKSA stelsel worden gebruikt. De eenheden staan volledigheidshalve als commentaar vermeld na de // tekens. De dynasim compiler maakt uiteraard geen gebruik van dit commentaar. De dynasim structuurtabel is deze: #STRUCTURE Uin UR UC IL
= = = =
PLS _R_ _C_ _L_
( (IL (IL (Uin -UR -UC
: : : :
0.0001, 0.0004, 1); R); UC0, C); IL0, L);
De inputvariabele van de _L_ vind je door de wet van behoud van energie toe te passen op de 1-junction : Het vermogen naar de 1-junction is Uin.IL en UR.IL en UC.IL stromen er vanaf. Voor de spoel blijft dan nog over (Uin-UR-UC).IL. De invoervariabele van _L_ is dan Uin-UR-UC. UR en UC hebben dezelfde invoervariabele IL omdat ze aan dezelfde 1-junction vast zitten. Se voelt ook IL, maar is een ideale spanningsbron en trekt zich daarom niets aan van de grootte van IL. Het PLS blok heeft geen invoervariabele nodig, het is een functie van de tijd: op t=0.0001s gaat de puls aan (1 Volt) en op t=0.0004s weer uit (0 Volt). Ook nu is de waarde van step cruciaal voor de stabiliteit van de simulatie, ga maar na. pagina 18 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra
3.4.2 Voorbeeld karretje met veren en demper Een karretje met massa M=2kg kan wrijvingloos heen en weer rijden en is verbonden aan een wand door middel van een veer met veerkonstante k=500 N/m. Het karretje wordt in beweging gebracht door tegen een demper/veer combinatie te duwen met een snelheid vgeg=0.1 m/s tussen t=1 en t=5 sec. De demper heeft weerstand R = 2 Ns/m.
Het recept van 3.2 levert onderstaande bondgraaf op:
De 1-junction bij vgeg verdeelt geen vermogen en mag verdwijnen. Na causaal maken krijg je de volgende bondgraaf:
pagina 19 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra
De namen van de outputvariabelen van de componenten kies je zelf en zijn in het blauw weergegeven. Aan de positie van de causale streepjes bij de componenten kan je zien of het type van de bijbehorende outputvariabele een effort of een flow is. Bijzonder is hier de koppeling tussen de linker 0- en 1-junction. Zij bepalen elkaars effort- en flowvariabele. Zoiets heet een junctiepaar (junction pair). Voor zo‟n paar is het handig om van te voren te beredeneren welke effort- en flowvariabele bij die bond geldt: Toepassing van de wet van van behoud van energie op de onderste 1-junction levert op dat de effortvariabele FR+Fveer1 is. Toepassing van behoud van energie op de bovenste 0-junction en het feit dat rondom de rechter 1-junction overal v hetzelfde is levert op dat de flowvariabele vgeg-v is. Dus de R en C1 hebben allebei vgeg-v als inputexpressie. C2 heeft als inputexpressie simpelweg v, omdat deze aan de 1-junction hangt, waarvoor v geldt. De inputexpressie van de massa M vind je door behoud van energie toe te passen op de rechter 1-junction en door de eigenschap van de linker 0-junction dat de krachten er rondom overal FR+Fveer1 zijn: FR+Fveer1-Fveer2 dus. Alle inputexpressies zijn tussen haakjes in het groen weergegeven. De demper R heeft maar 1 parameter,namelijk zijn weerstandswaarde en de massa M en de twee veren C hebben allemaal twee parameters omdat het integratoren zijn, die ook nog een startwaarde (v0, Fveer10 en Fveer20) willen hebben. De invulling van de structuurtabel is hiermee volledig bepaald. De dynasimsimulatie ziet er zo uit:
Opdracht 3.4 Zowel het elektrische systeem van paragraaf 3.4.1 als het mechanische systeem van paragraaf 3.4.2 laten een gedempte trilling zien na een verstoring door de puls. Het elektrische systeem is wat sterker gedempt dan het mechanische systeem, maar beide systemen zijn onderkritisch gedempt. Een systeem heet kritisch gedempt als na een verstoring maar een halve slingering optreedt, die net niet doorschiet. Voer beide systemen in in dynasim en onderzoek door middel van simulatie welke waarden van R in beide systemen kritische demping geven. Ga dus experimenteren met de waarden van R. Als je simulatie run onverhoeds onstabiel wordt maak dan de waarde van step in de define sectie kleiner! Maak je de demping te sterk dan is sprake van overkritische demping. In de techniek zijn trillingen vaak oorzaak van slijtage en op den duur kapot gaan van onderdelen. Het kan daarom van belang zijn trillingen zo veel mogelijk te voorkomen. De situatie van kritische demping is dan optimaal. Bij te sterke overkritische demping verdwijnen trillingen volledig. Waarom zou zo‟n situatie minder optimaal kunnen zijn voor de werking van het apparaat?
pagina 21 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra Hoofdstuk 4 Opgaven Stel van onderstaande 8 systemen de bondgraaf op, maak deze causaal en stel een dynasimfile op. 1.
Een massa van 1 kg hangt aan een veer met C = 0.001 m/N aan het plafond. Op de massa werkt de zwaartekracht en een extra kracht F(t). Neem voor F(t) de eenheidspuls (dat is een puls met oppervlakte 1).
2.
Zet parallel aan de veer een demper R = 0.1 Ns/m.
3.
Hang onder het systeem van 2. een andere massa met m = 0.5 kg aan een veer met C = 0.002 m/N. Laat nu de extra kracht F(t) op deze tweede massa werken. Op beide massa's werkt uiteraard ook nog de zwaartekracht.
4.
Voorzie ook de tweede veer van demping R = 0.05 Ns/m.
5.
Onderstaande schakeling wordt een bandfilter genoemd. Er is een ideale spanningbron Uin(t) op aangesloten. R1 = 50 Ω, C1 = 100 μF, C2 = 50 μF, R2 = 1 kΩ. Neem voor Uin de eenheidsstapfunctie.
6.
Neem nu een niet ideale spanningsbron met een inwendige weerstand Ri = 50 Ω en belast het filter met een weerstand van 1 kΩ.
7.
Configureer het bandfilter van opdracht 5 op een andere manier. Verwissel het eerste RC lid met het tweede CR lid.
8.
Neem ook nu weer de niet ideale spanningsbron en de belastingsweerstand.
9.
Hieronder staat een bondgraaf, die kan gelden voor verschillende fysische systemen. Teken de bijbehorende fysische schema's voor a. een elektronisch systeem. (I is een spoel) b. een mechanisch translatie systeem. (I is een massa en C een veer)
pagina 22 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra Hoofdstuk 5 Timing, causale paden en stabiliteit Bij het uitvoeren van een simulatie is de keuze van de kleinste tijdeenheid, waarin gerekend wordt, de stapgrootte, belangrijk. Als deze te klein genomen wordt is dit geen ramp, de totale rekentijd wordt alleen wat langer, als de tijdstap te groot genomen wordt krijg je forse afwijkingen door numerieke instabiliteiten. De simulatie kan ook vastlopen. De volgende vuistregel kan gehanteerd worden: Neem de tijdstap ongeveer 10 maal kleiner dan de kleinst voorkomende relevante tijdconstante van het systeem. De totale simulatietijd kan een factor 200 à 1000 maal groter genomen worden. Veel groter heeft geen zin in verband met de resolutie van het beeldscherm. Je kunt de stoptijd ook in de orde van grootte van de grootste relevante tijdconstante maken. De vraag is nu: hoe vind je de relevante tijdconstanten? Door een causale wandeling te maken langs geldige causale paden. 5.1
Causale paden
In de bondgraaf is op een eenvoudige manier te vinden welke paren van componenten een relevante tijdconstante vormen. Je vindt deze combinaties als startpunt en eindpunt van een zogenaamd causaal pad. Een causaal pad is een geldige route tussen twee componenten. Bronnen mogen niet meedoen. De route is alleen geldig als de causale streepjes steeds aan dezelfde kant staan, dus of steeds aan het begin of steeds aan het eind van een bond. (zie 8.3 voor een uitzondering bij het passeren van een gyrator)
Je kunt bij elke willekeurige component (behalve een Source) beginnen. De richting van de halve pijlpunten van de bonds doet niet ter zake. In de tot nu toe behandelde systemen zijn er drie mogelijke combinaties: 1. 2. 3. 5.2
een I en C met tijdconstante 𝐼. 𝐶 (I staat ook voor L, M en J) een C en G met tijdconstante C/G (ofwel R.C want G=1/R) een I en R met tijdconstante I/R Voorbeeld PIE filter
Een pie-filter uit de elektronica wordt gebruikt om een radiozender met een uitgangsweerstand R1 aan te passen op een antenne met stralingsweerstand R2. U1 levert een sinusvormige spanning met een frequentie van 1620 kHz. R1 = 500 ohm (inwendige weerstand van de zender). C1 = 100 pF. L = 100 μH. C2 = 1 nF. R2 = 50 ohm (antenneweerstand). 1 De resonantiefrekwentie van een ongedempte LC-kring is 𝑓𝑟𝑒𝑠 = 2𝜋 𝐿.𝐶
Voor C moet de serieschakeling C1-C2 genomen worden, waarvan de vervangingswaarde C1.C2/(C1+C2) = 90,9 pF is. fres = 1/(2π.√(10-4.90,9.10-12)) Hz = 1669 kHz. Door demping zal het filter op een iets lagere frequentie resoneren (1620 kHz). pagina 23 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra Het schema van het pie-filter:
De bondgraaf van de pie-filterschakeling:
Er zijn vier causale paden, aangegeven door de groene stippellijnen. De relevante tijdconstanten zijn: tau1: tau2: tau3: tau4:
C1/G1 = 5.10-8 s. √(C1.L) = 10-7 s. √(C2.L) = 3,2.10-7 s. C2/G2 = 5.10-8 s.
De kleinste tijdconstante is 5.10-8 s. Een stapgrootte van 5.10-9 s zal hier zeker voldoen. Hieronder staat een Dynasim simulatie met een rekenstap step=5e-9 sec en een run met een 10 maal zo grote waarde van step.
pagina 24 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra
En nu met step=5e-8 sec. Deze is numeriek instabiel.
Bij de tweede run zijn ook de 4 tau‟s berekend in de define sectie. Ze worden zichtbaar door op Values -> Constants de drukken in de dynasim menubalk.
pagina 25 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra Dit is de structuurtabel van het pie-filtermodel: Uin IR1 UC1 IL IR2 UC2
Nu is Uin eens geen PLS blok, maar een sinusfunctie a*sin(2*pi*f*time), waarvan a de amplitude voorstelt en f de frequentie in Hz. De toppen zijn afgeknipt op een niveau van 100 Volt met behulp van de if then else constructie. In de eerste simulatie zie je dat het filter er voor zorgt dat weer een keurig sinusvormig signaal aan de antenne wordt aangeboden. En dat is maar goed ook, want anders stoort de zender behoorlijk op hogere harmonischen van de zendfrequentie. 5.3
Voorbeeld gekoppelde massa’s
In het tweede voorbeeld zijn twee massa‟s M1=1kg en M2=2kg gekoppeld met een demper-veer combinatie met R1 = 50 Ns/m en C1 = 0.0004 m/N. De massa van 2 kg is ook met een demper-veer combinatie aan de wand bevestigd met R2 = 50 Ns/m en C2 = 0.0002 m/N. De massa van 1kg krijgt voor 0.2 s < t < 1 s een duw van 10N. De massa‟s rollen wrijvingsloos op de grond.
Op de volgende pagina staat de causale bondgraaf met de causale paden er in getekend:
pagina 26 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra
tau1 tau2 tau3 tau4 tau5 tau6
= = = = = =
M1/R1 = 0.02 s M2/R1 = 0.04 s √(M1.C1) = 0.02 s √(M2.C1) = 0.028 s M2/R2 = 0.04 s √(M2.C2) = 0.02 s
De kleinste tijdconstante tau is 0.02 s, dus een rekenstapgrootte van 0.002 s is een verantwoorde schatting voor step. Hieronder staat het resultaat van de simulatierun:
Als je voor de rekenstapgrootte step = 0.0135 s neemt gaat het mis! pagina 27 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra Hieronder zie je ook de door dynasim in de define sectie berekende constanten, waaronder de tijdconstanten.
Numerieke instabiliteit! Maak je step nog groter dan krijg je helemaal een wild springend resultaat.
pagina 28 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra Hieronder staat de dynasim structuurtabel: #structure Fin = PLS ( Fveer1 = _C_ (v1 - v2 FR1 = _R_ (v1 - v2 v1 = _M_ (Fin-FR1-Fveer1 x1 = INT (v1 Fveer2 = _C_ (v2 FR2 = _R_ (v2 v2 = _M_ (FR1+Fveer1-FR2-Fveer2 x2 = INT (v2
Omdat de posities x1 en x2 van de massa‟s interessanter zijn dan de snelheden worden deze laatsten geplot na te zijn berekend door resp. v1 en v2 te integreren. Ga zelf na of je op eigen denkkracht de inputexpressies kan vinden aan de hand van de causaal gemaakte bondgraaf. Dek het gedeelte aan de rechterkant van de bondgraafblokken dan af met een stuk papier. Begin met het vinden van de efforten flowvariabelen die gelden voor het junction paar in het midden van de bondgraaf.
pagina 29 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra 5.4
Fouten in de structuurtabel
Een andere oorzaak van een instabiel resultaat kan zijn een tekenfout in de structuurtabel. Zo‟n fout is snel gemaakt als je onnauwkeurig te werk gaat. Hieronder staat een voorbeeld, waarbij op slechts 1 plek in de structuurtabel van de gekoppelde massa‟s een – teken is vervangen door een + teken:
De regel v1 = _M_ ( ...... ); deugt niet. +FR1 moet –FR1 zijn. Als de bondgraaf zelf niet in orde is ben je natuurlijk helemaal ver van huis. Het is dus zaak om de causale analyse altijd zeer zorgvuldig uit te voeren, zodat je in ieder geval zeker bent van een goede berekenbare bondgraaf. Vervolgens moet je bij het coderen naar dynasimtaal speciaal letten op de inputexpressie. De meeste fouten worden gemaakt bij het verkeerd interpreteren van de wet van behoud van energie rond de 0- en 1-junctions.
pagina 30 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra 5.5
Controles op stabiliteit
Een controle op statisch evenwicht geeft aan of het model stabiel is. Statisch evenwicht wil zeggen dat alle energiebuffers (spoelen, massa‟s, hydraulische traagheden, condensatoren, warmtecapaciteiten, etc.) bij afwezigheid van verstorende signalen van buitenaf een stabiele uitgangswaarde behouden. Het verdient aanbeveling om bij een simulatie de opgelegde signalen eerst even een tijdje 0 te houden voordat ze aan het systeem aangeboden worden. Als de uitgangswaarden van de buffers in die tijd niet veranderen is het systeem bij de start tenminste in stabiel statisch evenwicht. Mocht dit niet het geval zijn dan moet men de startwaarde van de bufferparameter - e(0) of f(0) - vervangen door die uitgangswaarden e(stop) of f (stop) van de buffers die uiteindelijk bereikt worden als alle schommelingen uitgedempt zijn aan het eind van de run. Lukt het dan nog niet het systeem "stil" te krijgen dan is er ofwel iets mis met de rekenstapgrootte, ofwel iets met de structuurtabel, zoals een mintekenfout, ofwel de oorspronkelijke bondgraaf is niet juist.
5.6
Opgaven
1.
Stel de bondgraaf op van een elektronisch bandfilter, bestaande uit een hoogfrequent afsnijdend en een laagfrequent afsnijdend filter achter elkaar met kantelfrequenties van resp. 3000 Hz en 300 Hz. (Dus een RC filter gevolgd door een CR filter, waarvan de tijdconstantes resp. 1/(2π.3000)s en 1/(2π.300)s zijn). Hoe groot kies je de rekenstapgrootte?
2.
Van een schokbreker is de veerconstante 1000 N/m en de dempingsweerstand R = 100 Ns/m. Op t = 0 is de schokbreker ingedrukt met een kracht van 100 N en wordt dan losgelaten. Er zit geen massa aan vast. Stel de bondgraaf op en maak een schatting van de stapgrootte. Plot de verplaatsing x door v te integreren met een INT blok.
3.
Drie massa's van respectievelijk 1, 2 en 3 kg zijn onder elkaar opgehangen aan het plafond via drie veren met veerconstantes resp. van boven naar beneden van 6000, 5000 en 3000 N/m. Parallel met de veren staan dempers van 600, 500 en 300 Ns/m. Op de onderste massa wordt een pulsvormige kracht gezet. Stel de bondgraaf op en maak een schatting van de te gebruiken rekenstapgrootte. Probeer bij het uitvoeren van de simulatie dusdanige begincondities te vinden dat bij afwezigheid van een uitwendige kracht het systeem in statisch evenwicht is. Hou rekening met de zwaartekracht.
pagina 31 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra Hoofdstuk 6
Hydraulische systemen
Bij elektrische en mechanische systemen kan men de onderdelen vaak aanwijzen. Dat is erg handig als je een model wilt maken. Bij vloeistoffen en ook gassen gaat dit niet meer op vanwege de vervormbaarheid van deze stoffen. Dergelijke hydraulische systemen zijn continu van aard. Om de dynamica te onderzoeken van stroming door pijpen bijvoorbeeld wordt zo‟n pijp in "stukjes" gehakt, die elk een bepaalde eigenschap voor hun rekening nemen. Of een slang wordt opgebouwd gedacht uit een hele serie stukjes slang. Dit heet discretiseren van het systeem. Hoeveel en wat voor stukjes er nodig zijn hangt van de vraagstelling af. Bij hydraulische systemen geldt de druk P [Pa] als effortvariable en het volumedebiet Φ [m3/s] als flowvariabele. Het product P.Φ heeft weer de dimensie van vermogen [W]. De werking van hydraulische systemen is analoog aan die van elektrische systemen. Bij het opstellen van de bondgraaf moet je dan ook dezelfde strategie toegepassen als bij elektrische systemen. Begin dus die punten te zoeken waar een bepaalde druk gemeten kan worden ten opzichte van de referentiedruk (meestal de atmosferische druk) en stel deze als 0-junctions voor en maak vervolgens waar nodig de verschildrukken. 6.1
stroming door buizen
Als de stroming niet al te sterk is zullen alle vloeistofdeeltjes netjes parallel aan elkaar door de buis stromen. Dit noemt men laminaire stroming. Stroming is laminair als het Reynoldsgetal Re < 2300. Re is een kengetal, dat afhangt van de dichtheid ρ van de vloeistof, de dynamische viscositeit η, de diameter d van de doorsnede van de buis en de snelheid v van de 𝜌.𝑣.𝑑 vloeistofstroom volgens: 𝑅𝑒(𝑣) = 𝜂
Als A het oppervlak van de doorsnede van de stromingsbuis is dan geldt 𝑣 = 𝜋. 𝑑 2 4. 𝛷 4. 𝜌. 𝛷 𝐴 = 𝑣 = 𝑅𝑒(𝛷) = 2 4 𝜋𝑑 𝜋. 𝜂. 𝑑
𝛷 𝐴
.
Hieronder staan de ρ en η voor een aantal vloeistoffen. Beiden zijn afhankelijk van de temperatuur. Vloeistof H2O 0 °C H2O 20 °C H2O 50 °C Glycerol Kwik Methanol Olijfolie
ρ [kg/m3] 999.8 998.3 988.0 1260 13500 790 920
η [Pa.s] 0.0018 0.001 0.0005 1.5 0.00155 0.0006 0.084
Het meest vloeibaar in deze tabel is water bij 50 °C en het stroperigst is glycerol.
pagina 32 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra
De temperatuurafhankelijkheid van de dynamische viscositeit en dichtheid van water is weergegeven in onderstaande tabel. De data zijn afkomstig van http://www.thermexcel.com/english/tables/eau_atm.htm T[gr C] 0 5 10 20 30 35 40 50 60 70 80 90 100
Met behulp van een curve fitting programma (datafit) zijn onderstaande formules verkregen die zo goed mogelijk passen bij bovenstaande meetgegevens binnen de temperatuur range van 0 tot 100 graden Celsius: ρ(T) = 999.741 + 0.2057*T - 0.06229*T^1.5 [kg/m3] η(T) = 1.794*10-3/(1 + 0.035808*T + 1.8869*10-4*T^2) [Pa.s] (T uitgedrukt in graden Celsius en 0 < T < 100)
We gaan nu een paar eigenschappen onderzoeken van een vloeistofstroom door een ronde buis van l meter lang en een diameter van d meter. 6.2 laminaire stromingsweerstand R De vloeistof ondervindt een stromingsweerstand R die bij laminaire stroming de wet van Poisseuille volgt. ("wet van Ohm" van de hydrodynamica): 𝛥𝑃 = 𝑅. 𝛷 𝑚𝑒𝑡 𝑅 =
8. 𝜋. 𝜂. 𝑙 𝐴2
l is de buislengte [m] ΔP is het drukverschil over de buis [Pa] A is opp. van de doorsnede [m²] 6.3 leidingtraagheid I Als op een vloeistofelement ter lengte van l een nettokracht F werkt zal de vloeistofmassa m in de buis versneld worden. Er geldt volgens Newton: 𝐹 = 𝑚. 𝑎 = 𝑚. 𝑣’ Er geldt ook: pagina 33 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra
𝐹 = 𝛥𝑃. 𝐴 𝑚𝑒𝑡 𝑚 = 𝜌. 𝐴. 𝑙 𝑒𝑛 𝑣’ =
𝛷’ 𝐴
𝛥𝑃. 𝐴 = 𝑚. 𝑣 ′ =
𝜌. 𝐴. 𝑙. 𝛷’ 𝐴
𝛥𝑃 =
𝜌. 𝑙 . 𝛷’ 𝐴
Ook geldt 𝛥𝑃 = 𝐼. 𝛷’ naar analogie met de wet van Lentz 𝑈 = 𝐿. 𝐼’ uit de elektriciteitsleer). Dus het analogon van de spoel is in de hydrodynamica de hydraulische traagheid I met
𝐼 =
𝜌.𝑙
𝑘𝑔
𝐴
𝑚4
.
Opvallend is, dat I groter wordt naarmate A kleiner, dus de pijp dunner is. 6.4 gesloten leidingcapaciteit C Als in een gesloten leiding vloeistof geperst wordt zal de druk toenemen, deels door de samendrukbaarheid van de vloeistof maar grotendeels door de elasticiteit van de leidingwand. Er geldt:
𝑑𝑃
𝛷 = 𝐶. 𝑃’ = 𝐶. 𝑑𝑡 (naar anologie van 𝐼 = 𝐶. 𝑈’ voor de elektrische
condensator). dus
𝑑𝑡
𝐶 = 𝛷. 𝑑𝑃 =
𝑑𝑉 𝑑𝑃
Van een leidingwand is de zgn. bulkmodulus B maatgevend voor de uitzetting onder druk. B is de verhouding tussen de druktoename en de ten gevolge daarvan veroorzaakte relatieve volumeverandering. In formulevorm:
Dus
𝐶 =
𝑉 𝐵
𝑖𝑛
𝑑𝑃
𝐵 = 𝑚 4 .𝑠 2 𝑘𝑔
𝑑𝑉 𝑉
𝑜𝑓
=
𝑉.𝑑𝑃 𝑑𝑉
=
𝑉 𝑑𝑉 𝑑𝑃
=
𝑉 𝐶
𝑚3 𝑃𝑎
B hangt af van de elasticiteitsmodulus E van het buismateriaal en van de maten van de buis op de volgende manier: 𝐵 = 0,8 ∗ (𝑑/𝐷) ∗ 𝐸 (Een hogere waarde van B komt overeen met een stijvere buis) d is de wanddikte van de buis in meters. D is de buisdiameter in meters. E is de elasticiteitsmodulus in Pa. (E
koper
= 12.1010 Pa, E
ijzer
= 22.1010 Pa, E
pvc
= 0,3.1010 Pa)
Voor vloeistoffen geldt bij benadering B = 1,5.109 Pa. Bij een drukverhoging van dP = 100 bar = 107 Pa is de relatieve volumeverandering dV/V = dP/B = 107/1,5.109 = 0.7 %, uitsluitend ten gevolge van de compressibiliteit van de vloeistof zelf. Dat is maar een ietsepietsie vergeleken bij de uitzetting van een elastische slang of buis. Wij beschouwen daarom vloeistoffen gemakshalve als onsamendrukbaar, dus de enige bijdrage tot de capaciteit is de rekbaarheid van de buiswand. Als een buis onder een druk van 100 bar bijvoorbeeld 10 % in volume toeneemt is de bulkmodulus B = dP/0,1 = 100.105/0,1 =108 Pa. Dit soort capaciteiten wordt pagina 34 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra "gesloten leidingcapaciteit" genoemd en het technische symbool is een klein ballonnetje of een balgje op de buis getekend. Bij gasstroming is de compressibiliteit van het gas wel de belangrijkste bijdrage aan B. 6.5
turbulente stromingsweerstand Rblas
Waterstroming door huis- tuin- en keukenleidingen is altijd hoorbaar. Dat komt omdat vrijwel altijd turbulentie optreedt. Voor turbulente stroming gelden veel ingewikkelder wetten die proefondervindelijk (empyrisch) zijn vastgesteld. De algemene formule van de drukval ΔP over een buis is: 𝛥𝑃 = 𝜆 𝑅𝑒 .
𝑙 𝑑
. ½. 𝜌. 𝑣 . 𝑣 (ΔP moet het teken van v behouden)
λ is een functie van het Reynoldsgetal Re. Bij niet ronde buizen moet men voor d de volgende waarde nemen: d = 4.(doorstroom_oppervlak_A/natte_omtrek). Aangezien het volumedebiet 𝛷 = 𝐴. 𝑣 kan voor ΔP geschreven worden: 𝛥𝑃 =
½. 𝜆. 𝜌. 𝑙 . 𝛷 .𝛷 𝑑. 𝐴2
Hieronder staat de tabel met λ-waarden als functie van Re (die van Blasius en Hermann zijn proefondervindelijk bepaald): Zie 6.1 voor de definitie van Re. Reynoldsgetal Re λ(Re) stromingstype 64 𝑅𝑒 < 2300 Laminair 𝑅𝑒 0,3164 3. 103 < 𝑅𝑒 < 105 turbulent volgens Blasius 𝑅𝑒 0,25 0,3964 turbulent volgens Hermann 2. 104 < 𝑅𝑒 < 2. 106 0,0054 + 𝑅𝑒 0,3 Als je de Blasius formule voor λ invult in de algemene formule van ΔP krijg je na enig rekenwerk het volgende verband:
𝛥𝑃 = 𝑅𝑏𝑙𝑎𝑠. 𝛷 1,75 𝛷 > 0
𝑚𝑒𝑡 𝑅𝑏𝑙𝑎𝑠 = 𝑑𝑢𝑠 𝑜𝑜𝑘: 𝛷 =
𝛥𝑃 𝑅𝑏𝑙𝑎𝑠
pagina 35 van 87
1 1,75
0,24143. 𝜂.
𝜌 𝑑
3 0,25
.𝑙
𝑑4
𝛷 = 𝐺𝑏𝑙𝑎𝑠. 𝛥𝑃0,5714286 𝑚𝑒𝑡 𝐺𝑏𝑙𝑎𝑠 = 𝑅𝑏𝑙𝑎𝑠
−0,5714286
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra 6.6
kwadratische uitstroomweestand Rbern van een gat
Als je een gat prikt in een buis, die onder druk staat spuit de vloeistof er uit. We zullen afleiden wat het verband is tussen het drukverschil binnen de buis ten opzichte van de atmosferische druk en het volumedebiet door het gat. Stel dat de oppervlakte van het gat A is. De vloeistof zal er met zekere snelheid v uitstromen. Er zal per dt seconden een hoeveelheid energie uit het vat verdwijnen 𝑑𝑚 van ½. 𝑑𝑚. 𝑣 2 Joule. Het vermogensverlies is dan ½. . 𝑣 2 Watt. 𝑑𝑡
Verder geldt: 𝑑𝑚 𝑑𝑡
= 𝜌.
𝑑𝑉 𝑑𝑡
met 𝑣 = ½. 𝜌. 𝛷 . Dus
= 𝜌. 𝛷
𝛷 𝐴
is dan voor het vermogensverlies te schrijven:
𝛷 2 𝐴
dit is ook gelijk aan 𝛥𝑃. 𝛷.
𝛥𝑃 = ½. 𝜌.
van Φ) Met
𝑅𝑏𝑒𝑟𝑛 =
𝛷 2 𝐴
= ½. 𝜌. 𝐴−2 . 𝛷 . 𝛷 = 𝑅𝑏𝑒𝑟𝑛. 𝛷 . 𝛷 (zo heeft ΔP het teken
𝜌 2𝐴2
Rbern heet de Bernouilli weerstand of kwadratische uitstroomweerstand met dimensie [kg.m-7] Ook geldt dan: 𝛷 =
𝑃 𝑃
.
𝑃 𝑅𝑏𝑒𝑟𝑛
Bij laminaire stroming geldt P ≈ Φ , bij turbulente stroming P ≈ Φ1,75 en bij vrije uitstroming P ≈ Φ2. Je zou kunnen zeggen dat de stroming door een gat superturbulent is. Het oppervlak A van de uitstroomopening waarmee gerekend wordt is niet het werkelijke oppervlak. Door de visceuze eigenschappen van de vloeistof (of het gas!) trekt de vloeistof iets samen en moet A gecorrigeerd worden met een zgn. contractie factor μ, die ook nog afhangt van de vorm van een eventuele felsrand van het gat. Voor een gat zonder felsrand is μ ongeveer 0,7. 6.7
open vat capaciteit C
Ook een vloeistofreservoir, waarvan de vloeistofspiegel een oppervlak Opp heeft, is te beschrijven met een capaciteit. Ten gevolge van de inflow Φ stijgt het vloeistofniveau in dt seconden met dh meter en neemt de druk op de bodem toe met dP. Er geldt: De volumetoename pagina 36 van 87
𝑑𝑉 = 𝑂𝑝𝑝. 𝑑 𝑒𝑛 𝑑𝑢𝑠 𝛷 =
𝑑𝑉 𝑑𝑡
𝑑
= 𝑂𝑝𝑝. 𝑑𝑡
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra
𝑃 = 𝜌. 𝑔. dus
𝑑 𝑑𝑡
=
𝑑𝑃 𝑑𝑡
𝜌.𝑔
Dus
𝛷 = 𝐶 =
𝑂𝑝𝑝 𝜌.𝑔
𝑑𝑃
𝑑𝑈
. 𝑑𝑡 (analoog aan het elektrische 𝐼 = 𝐶. 𝑑𝑡 )
𝑂𝑝𝑝
𝑚 4 𝑠2
𝜌.𝑔
𝑘𝑔
heet de open vat capaciteit met uiteraard dezelfde eenheid als de
Voorbeeld van een drukpomp die via een 20 meter lange tuinslang water van 20°C pompt in een 200 liter drum met een gat in de bodem. Dit is het schema:
En hierna staat de causaal gemaakte bondgraaf, voorzien van outputvariabelenamen bij de componenten. Realiseer je bij de causale pad analyse dat C/GSQ nu geen betekenis heeft omdat dit quotient niet de dimensie van tijd heeft. Ook andere niet lineaire elementen zoals een RBL of GBL in het turbulente geval zijn onbruikbaar in een causale pad analyse om tijdconstanten te vinden. Wil je toch een idee hebben vervang ze dan even door hun lineaire verwanten.
pagina 37 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra
G is in dit turbulente geval een GBL. En dit is de dynasim simulatie voor turbulente stroming:
Reynoldsgetal = 2,23.104 op t=798 sec, dus de stroming is inderdaad vet turbulent. Hieronder staat de hele dynasim file: Let ook op hoe de nieuwe rekenblokken RBL en GBL en _RE gedefinieerd zijn onderaan in de define sectie door middel van het FUN blok. Invoervariabelen zijn daar aangegeven als $i en parameters als $p.
pagina 38 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra 6_8_1.sim ## #DEFINES //------ geometrische gegevens -------------------------------------len = 20 ;//[m] (lengte slang) diam = 0.015 ;//[m] (buitendiameter slang) dikte = 0.002 ;//[m] (wanddikte slang) d = diam-2*dikte ;//[m] (binnendiameter slang) A = pi*d^2/4 ;//[m2](binnenoppervlakte) dgat = 0.01 ;//[m] (diameter gaatje vat) Agat = pi*dgat^2/4 ;//[m2](opp gat) mu = 0.7 ;//(contractiefactor gat) Opp = 0.20 ;//[m2] (opp 200 ltr drum) //------ fysische constanten ---------------------------------------g = 9.80665 ;//[m/s2] zwaartekrachtsversnelling rho = 998.2 ;//[kg/m3] (dichtheid water 20C); visc = 0.001 ;//[Pa.s] (water) E = 8e8 ;//[Pa] elasticiteitsmodulus PE80 polyethyleen //------ afgeleide grootheden --------------------------------------Rblas = 0.24143*(visc*(rho/d)^3)^0.25*len/d^4;//turbulente stromingsweerstand Rbern = 0.5*rho/(mu*Agat)^2 ;//Bernouilli kw. uitstroomweerstand gat Rpois = 8*pi*visc*len/A^2 ;//laminaire stromingsweerstand Islang = rho*len/A ;//hydraulische traagheid slang Cvat = Opp/(rho*g) ;//open vat capaciteit B = 0.8*(dikte/(diam-dikte))*E ;//bulkmodulus slang V = len*A ;//slangvolume Cslang = V/B ;//gesloten leidingcapaciteit slang //------ zelf gedefinieerde funkties -------------------------------//RBL is de bondgraafcomponent voor de turbulente stromingsweerstand volgens Blasius RBL = FUN (if ($i1==0) then 0 else ($p1*sgn($i1)*(abs($i1))^1.75)); //GBL is de inverse turbulente stromingsweerstand volgens Blasius GBL = FUN (if ($i1<=0) then 0 else (sgn($i1)*(abs($i1)/$p1)^0.5714286)); //_Re berekent het Reynoldsgetal _Re = FUN (4*rho*abs($i1)/(pi*d*visc)); // $i1 staat voor de flow en $p1 is Rblas // tijdconstantes tau1 = Cslang*Rpois; tau2 = sqrt(Cslang*Islang); //------ timing ----------------------------------------------------start = 0 ;//[s] stop = 2000 ;//[s] step = 0.001 ;//[s] #STRUCTURE Ppomp FR Pslang Fslang Pvat Fgat
Stel de bondgraaf op van het volgende systeem: Twee vaten hebben een doorsnede van resp. 1 en 2 m2. Ze zijn verbonden door een 1 m lange leiding met een diameter van 24 mm en bulkmodulus B = 10 8 Pa. Op t=0 staat het water in het grootste vat 0.5 m hoog en in het kleinste vat 2 m hoog. Bereken de capaciteiten van de vaten en de gesloten leidingcapaciteit, alsmede de weerstand en de traagheid van de leiding. Moet de gesloten leidingcapaciteit in rekening worden gebracht? Geef een gefundeerde schatting van de stapgrootte (veronderstel laminaire stroming). Voer de simulatie uit.
2.
Gegeven is een rechtopstaande 200 liter drum met bovenoppervlak = 0,25m2, die tot een hoogte van 0,8 m is gevuld met benzine (ρ = 800 kg.m-3 ). Onderin het vat zit een gaatje van 5 mm doorsnede. De contractiefactor μ= 0,7. Maak een bondgraafsimulatie om na te gaan hoe lang het duurt voor het vat leeggelekt is.
3.
Simuleer de stroming van water (20 °C) door een koperen pijp met een lengte van 100 meter en een inwendige diameter van 2,54 cm. De wanddikte is 3 mm. Het einde is open. Op de pijp wordt een druk gezet, die lineair met de tijd oploopt van 0 tot 10 bar in 10 seconden. Veronderstel in eerste instantie dat de stroming laminair blijft. Maak dan een model dat de eventueel optredende turbulentie in aanmerking neemt en vergelijk de resultaten met het eerste geval. (je kunt twee bondgraafstructuren in 1 dynasim structuurtabel onder elkaar zetten)
4.
Modelleer en simuleer een 40 meter lange tuinslang, die aan het eind is afgesloten met een gaatje (een RSQ of GSQ). De binnendiameter is 12 mm, de wanddikte is 2 mm. Neem voor de elasticiteitsconstante E= 5.107 Pa. Zet op het begin van de slang een pulsvormige druk. Veronderstel laminaire stroming. Ga na wat het effect is van het aantal gekozen segmenten. Experimenteer voor het geval van 8 compartimenten met de afsluitweerstand en bepaal de waarde zodanig dat zo min mogelijk reflectie optreedt van de waterdrukgolf. Hoe ziet het verhaal er uit als je turbulente stroming modelleert?
5.
Ga na hoe dun de slang van het voorbeeld van de vorige paragraaf 6.8 moet zijn wil je wel laminaire waterstroming krijgen en houden. Ga dit ook na voor een stroperige vloeistof als glycerine (η=1.5 en ρ=1260)
6.
Ontwerp een pompsysteem dat een (gemiddeld) debiet van 60 liter/minuut glycerol moet kunnen verpompen over een afstand van 100 meter in een opslagtank van 10000 liter.
pagina 40 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra Hoofdstuk 7
Thermische systemen
Ook thermische systemen kunnen met behulp van bondgrafen gemodelleerd worden. De effortvariabele is de temperatuur T [Kelvin of graden Celsius] en de flowvariabele is de warmtestroom in [W]. Nu geldt dus NIET dat het product van effort en flow een vermogen voorstelt omdat de flow zelf al een vermogen is. Toch werkt de bondgraafmethode. Men spreekt wel van pseudobondgraaf. Voor een meer diepgaande theoretische behandeling van warmteproblemen met behulp van pseudobondgrafen zij verwezen naar Nannenberg, hoofdstuk XIII, pag. 362 e.v. en naar een artikel in het TVVL Magazine 23 (1994) nr 11 (november) van Ir. J.T.A. Heier en Ir. W. Zeiler, "Elektronische Bibliotheek van Installatiebouwstenen". Hier volgt een eenvoudige introductie in warmtetransport door geleiding en straling (7.1), door convectie (7.2) en door een combinatie van beide (7.3). 7.1
Warmtetransport door geleiding en straling
Warmtegeleiding lijkt op het gedrag van een elektrische stroom door een weerstand. Wstroom = G.ΔT of ΔT = Wstroom/G = Wstroom.R (vergelijk U=I.R). G is het warmtegeleidingsvermogen [W/K] van bijvoorbeeld een wand (Gλ), of van een overgang tussen twee materialen, zoals van wand naar lucht (Gα). De waarde van G is te vinden uit de afmetingen van het materiaal en de materiaalconstanten. Er geldt: Gλ = λ*A/l λ is de warmtegeleidingscoëfficient [W/m.K] A is het oppervlak van de doorsnede. l is de lengte. Een contactoppervlak van een materiaal met zijn omgeving vormt ook een zekere warmteweerstand. Voor het geleidingsvermogen van zo'n overgang geldt: Gα = A. α α is de warmteovergangscoëfficient [W/m2.K] Deze warmte gaat verloren door straling en door stromende lucht (convectie) en is dan ook afhankelijk van de luchtsnelheid. Voor een warmtecapaciteit geldt een soortgelijke wet als bij de elektrische condensator: Warmtestroom = C.dT/dt C = sw.m = sw.ρ.V (warmtecapaciteit [J/K] sw [J/kg.K] is de soortelijke warmte, ρ de soortelijke massa, m [kg] de massa en V het volume van het materiaal. Een thermisch equivalent voor een traagheid bestaat niet! Voorbeeld koperen staaf Gegeven is een koperen staaf met cirkelvormige doorsnede. De staaf is 15 cm lang en heeft een diameter van 2 cm. De staaf is bevestigd tussen twee massieve metalen platen, die als temperatuurbron (Se) beschouwd mogen worden. De temperatuur van de linker metalen plaat loopt in
pagina 41 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra 100 seconden op van omgevingstemperatuur van 20 °C naar 200 °C en die aan de rechterkant blijft 20 °C. Ik wil weten hoe snel de temperatuur oploopt van de staaf en hoe de temperatuurgradient wordt over de staaf. Als de staaf in thermisch evenwicht is met de omgeving zal het linker stuk heter zijn dan het rechter stuk. Je moet de staaf dan in segmenten verdelen. Hoeveel hangt af van de nauwkeurigheid, waarmee je de gradient wil bepalen. (zie Nannenberg pag. 372 ev) Ik laat een model zien met 3 segmenten. Elk segment heeft een warmtecapaciteit en warmtegeleidingsvermogen Gl. Er is ook warmteverlies naar de omgeving via de wanden van de staaf. Hieronder staat de schematische tekening en de bondgraaf.
pagina 42 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra De dynasimfile wgel3.sim ziet er als volgt uit: Naam: Auteur: Datum: Beschrijving:
wgel3.sim Jan Mooij 9 maart 2007 Warmtegeleiding door een ingeklemde koperen staaf (zie ook Nannenberg pag. 372 en verder)
## #define len = 0.15 n = 3 l = len/n D = 0.02 alpha = 40 lambda = 390 rho = 8900 sw = 390 Tomg = 20 Trechts = 20 //afgeleide grootheden A = pi*D^2/4 Gl = lambda*A/l Ga = alpha*pi*D*l Cap = rho*sw*A*l //timing start = 0 stop = 500 step = 0.5
;//[m] lengte van de koperen staaf ;//aantal segmenten ;//lengte van 1 segment ;//[m] diameter ;//[W/m2.K] warmteoverdrachtscoefficient metaal-lucht ;//[W/m.K] warmtegeleidingscoefficient koper ;//[kg/m3] soortelijke massa koper ;//[J/kg.K] soortelijke warmte koper ;//[gr C] ;//[gr C] ;//[m2] opp. van doorsnede ;//[W/K] ;//[W/K] ;//[J/K] ;//[s] ;//[s] ;//[s]
Bondgrafen - Jan Mooij, Frank Dijkstra Het resultaat van een run staat hieronder:
Als je het verloop van de temperatuur over de staaf (dit is de temperatuurgradient) precieser wilt weten moet je meer segmenten nemen. Je kunt vrij eenvoudig segmenten toevoegen door in de dynasimfile wgel3.sim het groepje van de volgende drie regels WG2 WV2 T2
= _G_ (T1- T2 = _G_ (T2- Tomg = _C_ (WG2-WV2-WG3
: Gl); : Ga); : Tomg, Cap);
te herhalen en de nummers bij de variabelenamen aan te passen. Hierna zie je het resultaat bij 9 segmenten:
pagina 44 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra
Opdracht 1. Bepaal uit de simulatie wgel3.sim hoeveel warmte de linkerplaat aan de staaf afgeeft in stationaire toestand (dus ongeveer op t=500 sec) en hoeveel warmte de rechterplaat dan opneemt. Het verschil wordt aan de omgeving afgestaan. Als de omgeving volgespoten is met isolatieschuim, zodat het warmteverlies aan de omgeving verwaarloosd mag worden ziet de bondgraaf er een stuk eenvoudiger uit. Stel de bondgraaf op voor dit eenvoudiger geval! Hoe worden de temperaturen in de segmenten dan en hoe zit het met de warmtestroom van links naar rechts? 2. Plot op grafiekenpapier de temperatuur van het midden van een compartiment als functie van de plaats in de staaf bij het 9 compartimentenmodel (zonder extra isolatie). Dus plot de temperatuurgradient. Doe hetzelfde bij een 5- en bij een 3 compartimentenmodel van deze staaf. Hoeveel compartimenten moet je eigenlijk nemen om een redelijke inschatting te krijgen van de temperatuurgradient over de staaf?
pagina 45 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra 7.2
Warmtetransport door convectie
In een CV installatie wordt de warmte meegevoerd met het water dat door de buizen en radiatoren stroomt. Warmtestroom die veroorzaakt wordt door beweging van massa wordt convectiewarmte genoemd. De grootte van de warmtestroom hangt af van de temperatuur van het water en het massadebiet [kg/s]. Laten we het temperatuurverloop simuleren van een buis waardoorheen warm water gepompt wordt. We veronderstellen dat er geen warmteverlies naar de omgeving is en we nemen voor de eenvoud ook aan dat er geen warmtetransport door geleiding is. De buis wordt verdeeld in compartimenten, drie in dit voorbeeld. Elk compartiment heeft een warmtecapiciteit en een homogene temperatuur (er zijn geen temperatuurverschillen binnen 1 compartiment) Er stroomt water door de buis met een massadebiet van dm/dt [kg/s]. Dit is hetzelfde als ρ.dΦ/dt. Compartiment 1 krijgt een hoeveelheid warmte binnen van cp.(dm/dt).Tlinks De uit compartiment 1 afgevoerde warmte naar compartiment 2 is cp.(dm/dt).T1, hetgeen tevens de aangevoerde warmte voor compartiment 2 is, enz. Op de grensvlakken van de compartimenten werkt dus een flow sink die warmte onttrekt aan de linkerkant en deze als flow source aanvoert aan de rechterkant van het grensvlak. We introduceren voor dit “source-sink-mechanisme” een nieuw bondgraafsymbool X, dat je kunt zien in de bondgraaf van dit systeem. X is een tweepoort, die aan beide kanten een flow afgeeft, vandaar dat de causale streepjes allebei dicht bij X staan. Door de richting van de bondgraafpijlen wordt er voor gezorgd dat de warmtestroom juist wordt aan- en afgevoerd.
Er is nog 1 addertje onder het gras: als de massastroom van richting omkeert moet ook de aanvoerende temperatuur van de andere kant genomen worden. In dynasim is dit opgelost met de volgende definitie van een X blok: pagina 46 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra
_X_
= FUN (if $i1>0 then $p1*$i1*$i2 else$p1*$i1*$i3);
$i1 is de massastroom, $i2 de temperatuur links en $i3 de temperatuur rechts en $p1 is cpH2O In woorden: Als de massastroom van links naar rechts loopt (en derhalve positief wordt gerekend) levert X cp.dm/dt.Tlinkerkant anders cp.dm/dt.Trechterkant. Hieronder staat de dynasim simulatie:
Hieronder staat de dynasim file wconv.sim Naam: Auteur: Datum: Beschrijving: ## #define len d Opp rhoH2O cpH2O Cap Fv Fm0
= = = = = = = =
wconv.sim Jan Mooij 3 april 2006 Warmtetransport door convectie (warm water stroomt door pijp). (zie ook Nannenberg pag. 393 en verder)
;//[m] lengte van een compartiment ;//[m] diameter pijp ;//[m2] ;//[kg/m3] ;//[J/kg.K] ;//[J/K] ;//[m3/s] ;//[kg/s]
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra Tlinks = 80 Tomg = 20 Trechts = 10
;//[C] ;//[C] ;//[C]
//------ definitie sink-source-blok ---------------------------------_X_ = FUN (if $i1>0 then $p1*$i1*$i2 else $p1*$i1*$i3); /* $i1 is het massadebiet, $i2 is de linker- en $i3 de rechtertemperatuur $p1 is de specifieke warmtecapaciteit van water */ //-------------------------------------------------------------------start = 0 ;//[s] stop = 100 ;//[s] step = 0.25 ;//[s] #structure Fm W1 T1 W2 T2 W3 T3 W4 plot plot plot plot
(De bondgraaf is niet helemaal correct, omdat de Ga‟s werken tussen Tomg en de warmtecapaciteiten. Het plaatje zou dan te ingewikkeld worden. In de sructuurtabel staat het wel goed.)
pagina 48 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra
Hieronder staat de dynasim file wgelconv.sim Naam: wgelconv.sim Auteur: Jan Mooij Datum: 3 april 2006 Beschrijving:Warmtetransport door convectie en geleiding (warm of koud water stroomt door een 15 m lange koperleiding, die in drie compartimenten verdeeld is). ## #define //------ geometrische gegevens ----------------------------------------len = 5 ;//[m] lengte van een pijpsegment diam = 0.015 ;//[m] diameter pijp dikte = 0.001 ;//[m] wanddikte pijp Omtr = pi*diam ;//[m2]buitenomtrek pijp Opp1 = pi*(diam-2*dikte)^2/4 ;//[m2] binnenopp. pijp Opp2 = pi*(diam-dikte)*dikte ;//[m2] opp. doorsnede pijpmateriaal //------ fysische gegevens --------------------------------------------alpha = 40 ;//[W/m2.K] lbdaH2O = 0.6 ;//[W/m.K] lbdaCu = 390 ;//[W/m.K] rhoH2O = 1000 ;//[kg/m3] rhoCu = 8900 ;//[kg/m3] cpH2O = 4180 ;//[J/kg.K] cpCu = 390 ;//[J/kg.K] //------ (berekende) parameters ---------------------------------------FV = 0.000333 ;//[m3/s] Volumedebiet Fm0 = rhoH2O*FV ;//[kg/s] Tlinks = 80 Tomg = 20 Trechts = 10
pagina 49 van 87
;//[C] ;//[C] ;//[C]
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra CH2O CCu Cap
Gegeven is een blok ijs van 1 x 2 x 0.25 meter, dat met zijn platte kant op een stuk piepschuim van 5 cm dik ligt op de grond. De grondtemperatuur is 5 graden Celsius, de luchttemperatuur is 2 graden Celsius, de begintemperatuur van het ijs is -10 graden Celsius. Het zonnetje staat vrolijk op het blok te schijnen en er is geen wind. De ingestraalde en door het ijs opgenomen warmte is 500 W. Hoe lang duurt het voordat het ijs precies 0 graden Celsius geworden is en begint te smelten? Maak een bondgraafmodel en laat dynasim het temperatuurverloop berekenen. Zoek zelf de benodigde materiaalconstanten op.
2.
Een houten dak bestaat uit twee multiplex dakplaten (22 mm) waartussen 5 cm dik isolerend schuimplaat zit. Het geheel wordt van boven vastgespijkerd op ondersteunende balkjes met verzinkte ijzeren spijkers met een vierkante doorsnede (3,4 x 3,4 mm). Neem aan dat onderkant van de spijker die in het ondersteunende balkje zit de binnentemperatuur van 20 graden Celsius heeft.
pagina 50 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra Ook de binnenplaat heeft de binnentemperatuur. De bovenste houten plaat heeft de buitentemperatuur. Over de 5 cm lengte van de spijker door het isolatieschuim zal een temperatuurgradient ontstaan. Bepaal deze gradient door de spijker in 5 segmenten van ieder 1 cm lang te verdelen. Maak eerst een schematische tekening en stel de bondgraaf op, maak deze causaal en stel de dynasimfile op. Ga door simulatie na hoe de temperatuur van de segmenten wordt als de buitentemperatuur in 100 seconden daalt van +20 graden Celsius naar -10 graden Celsius. Zoek zelf de benodigde materiaalconstanten op en neem aan dat de spijker geen warmte afstaat aan het isolatiemateriaal. Er lekt dus alleen warmte van binnen naar buiten door de ijzeren spijker. Hoeveel Watt lekt een enkele spijker aan warmte naar buiten in stationaire toestand (binnen +20C en buiten -10C)? 3.
Maak van het koperen staaf voorbeeld van paragraaf 7.1 een model met 9 segmenten i.p.v. 3 segmenten en stel de bijbehorende bondgraaf op. Maak ook een dynasimfile en voer de simulatie uit. Teken het verloop van de temperatuur over de lengte van de staaf in stationaire toestand (dit is de temperatuurgradient) in een tekening waarin je ook de grovere bepaling van het 3 segmentenmodel zet ter vergelijking.
4.
Maak een model van een automatische soldeerbout. De punt bevat een temperatuursensor met aan-uit regeling met hysterese. De stift is een koperen buisje, 5 cm lang, de buitendiameter is 6 mm en de binnendiameter 2 mm, zodat er ruimte is voor de geisoleerde toevoerdraadjes van de sensor in de tip (de warmtecapaciteit van sensor plus bedrading mag verwaarloosd worden). De ene kant van de stift is aangesloten op een Sf (er wordt vermogen in gestopt). Deel de stift op in 9 segmenten (lijkt veel op de vorige opgave). Begin met een vermogen van 50W en probeer de tip op een temperatuur van 200 graden Celsius te krijgen en te houden. Speel met de hysterese van de regelaar en met het vermogen om een zo gunstig mogelijke situatie te krijgen voor het geval de stift stil in de lucht wordt gehouden en nog niet in kontakt is met het te solderen materiaal. Een aan-uit regelaar wordt in dynasim gerealiseerd met een ONOFF blok.
pagina 51 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra Hoofdstuk 8
Hybride systemen
Hybride systemen bevatten delen uit meer dan 1 energiedomein. Het elegante van de bondgraafbenadering is, dat in één plaatje verschillende fysische domeinen tegelijk ondergebracht kunnen worden vanwege de energetische benadering. De koppeling van de energiedomeinen wordt bewerkstelligd door energieomzetters. Voorbeelden van hybride systemen zijn: luidspreker hefboom elektromotor transformator tandwiel tandheugel MD element waterkrachtcentrale
Zoals je ziet hoeft de energiesoort niet per se verschillend te zijn bij overgang van het ene naar het andere systeem. We nemen aan, dat er geen energie verloren gaat (ideale omzetters). Treedt er wel energieverlies op dan moet dit in rekening gebracht worden door toevoeging van een R of een G op de juiste plek. Een energieomzetter heeft een vermogenspijl naar zich toe wijzen afkomstig van het ene systeem en een pijl van zich af wijzen naar het andere systeem toe. Het worden daarom tweepoorten genoemd in tegenstelling tot de R, C, I en S die eenpoorten genoemd worden. We kennen twee soorten energieomzetters: de transformator en de gyrator. 8.1
Transformator
Een transformator is een energieomzetter, die door zijn speciale constructie een vaste verhouding afdwingt tussen de effortvariabelen van beide systemen of tussen de flowvariabelen van beide systemen. Een voorbeeld is de (ideale) transformator uit de elektronica, waar de wikkelverhouding tussen de primaire spoel en de secundaire spoel bepalend is. In de mechanica zijn hefbomen, tandwieloverbrengingen, tandheugels en katrollen voorbeelden van transformatoren. Er is een vaste verhouding tussen gelijksoortige variabelen! Het symbool is TF (in dynasim _TF). Er zijn twee causaliteiten mogelijk volgens onderstaande plaatjes:
De volgende formules gelden, waarbij n de transformatorverhouding is: pagina 52 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra
Boven: e2 = n.e1 (e2 is outputvariabele) en f1 = n.f2 (f1 is outputvariabele). Onder: f2 = n.f1 (f2 is outputvariabele) en e1 = n.e2 (e1 is outputvariabele) Ga na dat e1.f1 = e2.f2 (er treedt geen energieverlies op). Bij elk TF-symbool gelden steeds twee formules. In de dynasim structuurtabel komen per TF dus twee regels voor met het _TF rekenblok.
8.2
Gyrator
Een gyrator zet de effortvariabele van het ene systeem om in een flowvariabele van het andere systeem met een bepaalde verhouding k (de gyratorverhouding). De gyrator dwingt dus een vaste verhouding k af tussen anderssoortige variabelen. Een voorbeeld van een gyrator is een elektromotor, die een bepaald koppel M levert evenredig aan de toegevoerde ankerstroom. Het symbool voor de gyrator is GY (in dynasim _GY). Hieronder zie je de twee mogelijke causaliteiten:
De volgende formules gelden, waarbij k de gyratorverhouding is: Boven: f2 = k.e1 (f2 is outputvariabele) en f1 = k.e2 (f1 is outputvariabele). Onder: e2 = k.f1 (e2 is outputvariabele) en e1 = k.f2 (e1 is outputvariabele) Ga na dat ook hier e1.f1 = e2.f2 (er treedt geen energieverlies op). Bij elk GY-symbool gelden steeds twee formules. In de dynasim structuurtabel komen per GY dus twee regels voor met het _GY rekenblok. Het verschil met eenpoorten (R, C, L, S, etc) is, dat nu de e en f variabele waarvoor de formule geldt niet bij 1 bond horen, maar bij de 2 bonds aan elke kant van de TF of GY. Zowel de transformatorverhouding n als de gyratorverhouding k kunnen functies van de tijd of van andere variabelen zijn. Men spreekt dan van een moduleerbare transformator MTF, respectievelijk een moduleerbare gyrator MGY.
pagina 53 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra
8.3
Causale analyse
Voor het vinden van relevante tijdconstanten moeten weer causale paden gevonden worden. De regel van paragraaf 5.1 wordt uitgebreid tot: Een causaal pad is een geldige route tussen twee componenten. Bronnen mogen niet meedoen. De route is alleen geldig als de causale streepjes steeds aan dezelfde kant staan. Maar bij het passeren van een gyrator wisselt de positie van het causale streepje voor de rest van de route. In plaats van 3 zijn er nu in totaal 10 verschillende combinaties mogelijk. Let op dat I-TF-R hetzelfde is als R-TF-I, of I-C hetzelfde als C-I, etc.. In de tabel hieronder staan de formules van de bijbehorende tijdconstantes tau van de combinaties. I staat voor inertie. Dat kan dus ook M, J of L zijn. n is de transformatorverhouding en k is de gyratorverhouding. combinaties I - C I - R C - G I - TF - R C - TF - G C - TF - I C - GY - R I - GY - G C1-GY-C2 I1-GY-I2
Een fraai voorbeeld van een hybride systeem is de luidspreker, waarin het elektrische, mechanische en akoestische (lijkt op hydraulische) domein een rol spelen.
pagina 54 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra
Een spanningsbron met inwendige weerstand R veroorzaakt een stroom door de luidsprekerspoel, die gewikkeld is om een koker, die heen en weer kan schuiven over een permanente magnetische cilinder. De stroom wekt een kracht op die de koker wegduwt (stroom wordt omgezet in kracht). Omgekeerd als de koker bewogen wordt met een bepaalde snelheid ontstaat een inductiespanning over de uiteinden van de luidsprekerspoel (snelheid wordt omgezet in een elektrische spanning). Dit is de werking van een gyrator. De luidsprekerconus is bevestigd aan de koker en is aan de randen verend opgehangen. Dit is een massa-veer systeem. De bewegende conus wekt drukgolven op. De snelheid van de conus wordt omgezet in flow van lucht. Deze laatste aktie is typisch het werk van een transformator, die de ene flowvariabele (v) omzet in de andere flowvariabele (luchtstroom). Hieronder staat de simulatie en uitwerking van de bondgraaf in de dynasim file luidspreker.sim.
De verplaatsing x van de luidspreker is geplot door v te integreren. De gyratorconstante k = 5 N/A betekent dat bij een stroom van 1 A door de luidsprekerspoel een kracht van 5 N op de conus wordt uitgeoefend. Voor de transformater geldt: akoestische druk P = conuskracht/conusoppervlak ofwel conuskracht = conusoppervlak * Pakoestisch ofwel FTP = conusoppervlak * PR. Dus de trafoconstante n = conusoppervlak. De drie tau‟s zijn uitgerekend in de define sectie met de formules uit de tabel. pagina 55 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra
pagina 56 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra ## #define R = 10 k = 5 FC_0 = 0 C = 0.001 v_0 = 0 m = 0.02 n = 0.02 Rak = 1000 //tijdconstates tau1 = m*R/(k^2); tau2 = sqrt(m*C); tau3 = m/(n^2*Rak); //timing start = 0; stop = 0.2; step = 0.0004; #structure Uin = PLS IR = _G_ UGY = _GY FGY = _GY FC = _C_ v = _M_ FTF = _TF Flow = _TF PR = _R_ x = INT plot plot plot plot
tau2 = 0.000447 sec. is de kleinste dus step = 0.00004 sec. is een mooie schatting voor de rekentijdstapgrootte.
pagina 57 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra 8.5
Voorbeeld wip
Een wip met een arm a = 2m en een arm b = 1m is aan de lange kant gedempt met een demper R. Aan de korte kant staat een massa van 2 kg, die naar de grond toe geveerd is met een veer C. (zie onderstaande tekening)
Hieronder staat de causaal gemaakte bondgraaf met de causale paden:
vTF.a = -b.vM -> vTF = -b/a .vM -> n = -b/a volgens de tabel is M – TF – R: tau1 = m/(n2.R) M–C: tau2 = √(m.C) tau2 = 0.0447 sec. Blijkt de kleinste tijdconstante te zijn, dus een goede schatting voor de rekenstapgrootte is 0.004 sec. (met step=0.001 zitten we zeker goed) Als aan de linkerkant naar beneden wordt geduwd (dus in negatieve richting) moet aan de rechterkant de massa omhoog komen (dus in positieve richting). De zwaartekrachtsversnelling g werkt naar beneden en is dus negatief.
pagina 58 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra
## #define a = 2 ;//[m] b = 1 ;//[m] n = -a/b ;//[m] R = 2 ;//[Ns/m] C = 0.001 ;//[m/N] m = 2 ;//[kg] g = -9.80665 ;//[m/s2] gew = m*g ;//[N] v0 = 0 ;//[m/s] x0 = gew*C ;//[m](indrukking veer op t=0) //tijdconstantes tau1 = m/(R*n^2) ; tau2 = sqrt(m*C) ; //timing start = 0 ;//[s] stop = 5 ;//[s] step = 0.001 ;//[s]
pagina 59 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra #structure Fgeg FR vTF FTF FC v x
= = = = = = =
PLS _R_ _TF _TF _C_ _M_ INT
( ( ( ( ( ( (
PLOT PLOT PLOT
( Fgeg ( v ( x
: vTF : v : Fgeg - FR : v : gew + FTF - FC : v :
0.5, 2, -1); R); n); n); gew, C); v0, m); x0);
: -8, 2); : -0.125, 0.125); : -0.025,0);
#time start, stop, step; #END ##
8.6
Slippend wiel
Een wiel met straal r kan rollen over een horizontal vlak. Op de as wordt een kracht (Ftrek) uitgeoefend. Als je een ruk geeft aan het wiel zal het wiel eerst even slippen en zodra de snelheid van het zwaartepunt vz „past‟ bij de rotatiesnelheid ω zal het wiel zonder slip rollen.
De wrijving tussen wiel en grondvlak wordt uitgedrukt in de wrijvingshoek fh. Er geldt tg(fh) = Fwmax/FN (De normaalkracht FN = -gewicht) De snelheid van de as van het wiel is vz en de snelheid v van het contactpunt met de ondergrond is ω.r Deze relatie tussen v en ω riekt naar een transformator TF. Hieronder zie je de bondgraaf:
pagina 60 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra
Links van de TF wordt het translatiedomein beschreven en rechts het rotatiedomein. De transformatorverhouding is r vanwege vTF = r.ω RW is geen gewone „ohmse‟ weerstand. Als vTF en vz aan elkaar gelijk zijn is Fw = 0. Zo niet dan slipt het wiel en is Fw = Fwmax met het juiste teken. In dynasim is een nieuw rekenblok _RW gedefinieerd, dat dit gedrag simuleert. Hieronder staat de simulatie:
Tijdens het slippen wordt wrijvingswarmte geproduceerd. Deze is ook berekend en geplot. Dit is de dynasimfile: Naam: slippendwiel.sim Auteur: Jan Mooij Datum: 6 april 2006 Beschrijving: Een wiel rolt al of niet slippende over een horizontaal vlak. de wrijvingshoek is fh graden. Ftrek is de trekkracht, die op het zwaartepunt werkt. Tijdens het slippen wordt wrijvingswarmte gegenereerd.
pagina 61 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra ## #DEFINES fh = g = r = rho = massa = J = gewicht = Fwmax = _RW start stop step
Bondgrafen - Jan Mooij, Frank Dijkstra Hoofdstuk 9
Gemengde opgaven
Stel ook als het niet expliciet gevraagd wordt de bondgraaf op van onderstaande systemen, maak de bondgraaf causaal, voer een causale analyse uit om de rekenstap te bepalen en voer de simulatie uit. Je verslag moet structureel opgebouwd zijn: het probleem zelf moet vermeld worden dat je gaat oplossen, vervolgens hoe je het probleem gaat oplossen, dan de presentatie van de resultaten van je oplossingsmethode en tot slot de conclusies die je uit de resultaten trekt. 1 Een hydraulische pomp levert een druk van 2 bar en pompt water door een 12 meter lange slang met een diameter van 1.5 cm en een bulkmodulus van 5.107 Pa naar de onderkant van een vat met een doorsnede van 5 m2. De slang ligt horizontaal.(dynamische viscositeit van water is 10-3 Pa.s) Bereken zowel de weerstand Rpois (voor het laminaire stromingsmodel) als Rblas (voor het turbulente stromingsmodel), de leidingcapaciteit C en de inertie I van de leiding en vervolgens de capaciteit van het vat. Ga na of de leidingcapaciteit in aanmerking genomen dient te worden. Voer de simulatie uit voor het turbulente model. Voer ook een simulatie uit, waarbij de leiding als pure (turbulente) weerstand beschouwd wordt. Wat is het verschil? 2 Een as met massatraagheidsmoment J = 4.10-5 kg.m2 wordt aangedreven door een koppel M = 0.03 Nm. De as is aan het uiteinde gelagerd. Er is lagerwrijving R en de as ondervindt torsie. R = 0.0025 Nms.rad-1 en C = 6 rad/Nm. Plot M en de resulterende rotatiesnelheid. 3 Een massa van 10 kg wordt vastgehouden aan een veer met "slapheid" C = 0.5 m/N. Voor de snelheid v van de bovenkant van de veer geldt: v = 2 m/s (1 < t < 2 sec ) voor de rest van de tijd is v = 0. Plot v en de posities van je hand en de massa. 4 Een elektromotor drijft de as aan van vraagstuk 9.2. Op t = 0 wordt een spanningsbron aangesloten van 18 V met een inwendige weerstand van 30 Ω. De elektromotor levert een koppel M evenredig met de stroom i volgens M = n.i met n = 0.05 Nm/A. Plot de spanning V en de rotatiesnelheid als functie van de tijd. Voer de simulatie ook uit met een condensator van 1000 μF parallel over de motor geschakeld. 5 Een systeem bestaat uit twee massa's M1 en M2 die onderling gekoppeld zijn door veer C1 met parallel een demper R1. M2 zit via een andere veer C2 met parallelle demper R2 vast aan een wand. Op de massa M1, die niet aan de wand zit, wordt een kracht Fin uitgeoefend van 10 N.
M1 = 4 kg, C1 = 2.10-4 m/N, R1 = 5 Ns/m, M2 = 10 kg, C2 = 0.001 m/N en R2 = 40 Ns/m. Leg de kracht gedurende 2 sec. aan, plot deze, alsmede de snelheden en posities van M1 en M2 (door de v‟s te integreren). Een galvanometerspoel, waarvan de zelfinductie en serieweerstand verwaarloosd worden, is aangesloten op een niet ideale spanningsbron met inwendige weerstand van 100 Ω. 6
pagina 63 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra Het massatraagheidsmoment J van het spoeltje plus naald is 4.10-4 kg.m2. De spiraalveer heeft een C van 1 Nm/rad. De gyratorverhouding is 1 Nm/A. Er wordt een stapvormige spanning aangelegd van 10 Volt. Plot behalve de rotatiesnelheid ω ook de hoekverdraaiing φ. 𝜑 = 𝜑 0 + ∫ 𝜔𝑑𝑡 7 Op dezelfde galvanometer als die van opgave 9.6 wordt een stroombron aangesloten, die een stapvormige stroom levert van 0.1 A. Parallel over de galvanometerspoel wordt een dempingsweerstand R geschakeld. Onderzoek voor welke waarden van R de galvanometer onderkritisch, kritisch en overkritisch gedempt is. 8 Drie meren - de Ham, de Poel en het Zwin - zijn onderling verbonden door drie kanalen: de Poelhammersloot, de Zwinpoelervaart en het Hamzwinkanaal. Beschouw de kanalen als grote buizen met een rechthoekige doorsnede met een turbulente weerstand Rblas en traagheid I. De watertemperatuur is 20 °C. NAP is het 0-niveau van de waterhoogte. Opp de Ham = 1 km2; waterhoogte 10 cm beneden NAP. Opp de Poel= 0.5 km2; waterhoogte 20 cm beneden NAP. Opp het Zwin = 2 km2; waterhoogte op NAP pijl. Doorsnede Poelhammersloot = 1m x 5m; lengte = 5 km. Doorsnede Zwinpoelervaart = 2m x 10m; lengte = 20 km. Doorsnede Hamzwinkanaal = 2m x 5m; lengte = 20 km. Plot de waterhoogte van de meren in meter. De simulatie begint om 00:00 uur. Voer de simulatie ook een keer uit als vanaf 06:00 uur tot 18:00 uur een poldergemaal werkt, dat 15 m3 water per seconde vanuit de omliggende polders in de Poel pompt. Je kunt zelf proberen het probleem uit te breiden met een extra kanaal, dat naar bijv. het IJsselmeer loopt met een constant waterniveau op NAP peil. 9
Onderstaande brugschakeling wordt gevoed door een sinusgenerator (zie onderstaand schema).
Uin = sin(2.π.f.t), Rinw = 50 Ω, R1 = R2 = 1kΩ, Rab = 100kΩ, C1 = C2 = 1μF. Bepaal Uab voor f=100 Hz, 1000Hz en 10000Hz.
10
Maak onderstaande bondgraaf causaal en los eventuele causale conflicten op.
pagina 64 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra 11 Voorzie onderstaande bondgraaf van outputvariabelen en van causale paden. Stel de dynasim structuurtabel op. Geef voor elke component de formule die hij uitrekent. Geef de formules van de relevante tijdconstanten.
12 Om een schijf met een straal van 10 cm is een koord gewikkeld waaraan een massa hangt. Op de schijf zit een trommel met een straal van 5 cm. Ook hierom zit een koord gewikkeld, dat loopt naar een veer, die aan de wand is bevestigd. (zie tekening)
De schijf en de trommel hebben samen een massatraagheidsmoment J en er is lagerwrijving. Het systeem wordt in beweging gebracht door een extra kracht op de massa. Er is zwaartekracht. De massa van de schijf M = 1 kg. Het massatraagheidsmoment J = 0.005 kg.m2 De lagerwrijving R = 0.1 Nms De slapheid van de veer C = 0.001 m/N Wordt de overgang van de bewegende massa naar de roterende schijf door een gyrator of transformator beschreven? (Verklaar je antwoord) 13 Een elektrische soldeerbout heeft een holle koperen stift met aan het uiteinde een ingebouwde temperatuursensor met aan/uit schakelaar. Als de temperatuur van de tip boven 205° Celsius uitstijgt schakelt de bout uit en onder 195° Celsius schakelt de bout weer aan. De hysterese is dus 10° Celsius. Maak eerst een bondgraafmodel met 5 compartimenten van de koperen stift. Op het eerste compartiment is een warmtebron Sf aangesloten met een door jou te kiezen vermogen. Kies ook zelf redelijke afmetingen voor de stift. Neem een omgevingstemperatuur aan van 20° Celsius. De aan/uit schakelaar met hysterese wordt in dynasim gerealiseerd met een ONOFF blok (zie de dynasim help). Ga na hoe je de hysterese moet instellen om zo min mogelijk variatie te krijgen in de gewenste tiptemperatuur van 200° Celsius. Kan je de variatie op nul krijgen? Verklaar je antwoord.
pagina 65 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra 14 Op een achtbaan rijdt een treintje bestaande uit een aantal karretjes. Deze zijn onderling verbonden door een veer C met parallel daaraan een demper R. Het eerste karretje, de opduwer, krijgt zijn aandrijving van een lineaire magnetische motor die gedurende een bepaalde tijd een constante kracht levert en het treintje horizontaal wegschiet de baan op. De hele baan is voor de eenvoud hier volkomen recht en horizontaal verondersteld. Het karretje op de kop ondervindt luchtwrijving. Hieronder staat een tekening met bondgraaf voor 9 karretjes.
Opdrachten en vragen: a.
Kies een reële waarde voor de massa van een karretje plus inzittenden. Onderzoek eerst het effect van luchtwrijving door een simulatie te maken van 1 karretje (zonder rolwrijving), die door een pulsvormige kracht wordt weggeschoten en alleen door luchtwrijving (RSQ) wordt afgeremd. Zoek een zodanige waarde voor de parameter van de RSQ, dat het karretje na de aanjaagpuls (F1) pas na ongeveer 1000 m door luchtwrijving tot stilstand komt en gebruik deze waarde in het vervolg van het vraagstuk. Kies voor de grootte en duur van de krachtpuls waarden die jou reëel lijken. Een afgelegde weg s kan je vinden door in dynasim de snelheid v te integreren met een INT blok.
b.
Stel vervolgens de bondgraaf op voor de situatie dat je 3 karretjes hebt, die gekoppeld zijn via een veer-demper systeem (zie de tekening), waarbij alleen het karretje op de kop luchtwrijving ondervindt en stel de bijbehorende dynasimfile op. Bedenk zinnige initiele waarden voor de demper R en de veer C en neem de waarden voor de massa van 1 karretje en voor de RSQ over uit a. Ga nu al experimenterend na welke waarden van R en C comfortabel zouden kunnen zijn voor de inzittenden van de karretjes. Dus geen al te heftige trillingen en geen al te grote relatieve verplaatsingen tussen de karretjes onderling. Mik op een kritisch gedempt systeem.
pagina 66 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra
Appendix A – Dynasim tutorial De laatste versie van dynasim is te vinden op http://www.expa.hu.nl/cursussen/it/sysl/Dynasim326.zip . Maak een directory dynasim aan op je PC en pak deze zip file daarin uit. In de sim folder staan de .sim files waarop onderstaande opdrachten en voorbeelden betrekking hebben plus nog een aantal. Voor een snelle uitleg over de structuur van dynasim zie layout.sim. Als je je vertrouwd wilt maken met enkele elementaire mogelijkheden van dynasim volg dan onderstaande opdrachten. Na het opstarten van het programma wordt een edit window zichtbaar, waarin je een .sim file kunt laden zoals de eerste 01_func.sim Je krijgt dan dit te zien:
01_func Opdracht Maak een grafiek van de functie y = 3.sin(x)/x. Er geldt: -15 < x < 15 (radialen), -1.5 < y < 3.5. Oplossing: ##********************************************************************* #system syntax = DS3; x_text = "x"; #structure PLOT (3*sin(time)/time : -1.5, 3.5) ;"3*sin(x)/x" #timing -15, 15, 0.0625 ; #end
pagina 67 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra ##*********************************************************************
Opdrachten 1. Er zijn drie knoppen boven aan dit window: 1. Make (met een vierkantje) 2. Make & Run 3. Make, Run & Go
(maak de simulator aan) (idem en prepareer een run) (idem en start meteen)
Dit ziet u na een geslaagde run:
Probeer alle drie de knoppen eens uit. Als u op 'Make & Run' drukt, wordt de simulatie gecompileerd en klaargezet. Bovenaan het 'main window' verschijnen een aantal knoppen waarmee u de simulatie kunt regelen. Probeer deze ook eens uit. Verwijder na de simulatie de grafische window door op het kruisje rechts boven aan te drukken. (U kunt ook op 'abort' drukken rechts bovenaan in het 'main' window). 2. In de grafiek kunt U zien dat de functie een "singulier" punt heeft in t=0. Hier wordt namelijk door 0 gedeeld. In de volgende simulatie "2_func" wordt dit probleem ondervangen. Opmerkingen Bestudeer het bovenstaande voorbeeld nogmaals. U ziet dat er sprake is van 3 gedeelten (secties) die met een '#'commando worden opgegeven. Ieder geldig DYNASIM model kent tenminste de '#structure' en de '#timing' sectie. In de #system sectie wordt een aantal systeemparameters ingesteld. Hier is aangegeven dat de gebruikte syntax voor de modelbeschrijving "DS3" is. Dit slaat op de syntax die in Dynasim 3.x wordt gebruikt. In de meeste volgende simulaties wordt hiervan gebruik gemaakt. U kunt de 'default' syntax ook instellen via het hoofdmenu: Options -> Compiler Options
pagina 68 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra
Wanneer de simulator wordt aangemaakt, de 'Make', worden alleen de secties gelezen. Voor het eerste '#-teken en na '#end' kunnen we al het commentaar schrijven dat we er bij willen hebben. In de structure sectie worden blokken en variabelen gedeclareerd. Met de naam 'PLOT' wordt een blok aangeduid. De "input" van dit blok is een expressie. De waarden die na de ':' staan zijn de parameters van het blok, in dit geval de onder- en bovengrens van de schaalverdeling. In de #timing sectie worden begintijd, eindtijd en stapwaarde opgegeven. De tijd zal voor veel simulatiemodellen bij 0 beginnen, maar kan (zoals hier) zonder bezwaar negatieve waarden aannemen.
02_func Opdracht Plot de functie 3.sin(x)/x tussen dezelfde grenzen als in de vorige opgave. Zorg voor een Y-as en een X-as. De rand om de figuur kan weg. Als x=0 moet de figuur de limietwaarde 3 aannemen. De grafiek moet een groene kleur krijgen. Oplossing ##********************************************************************** #system SYNTAX = DS3; DIVIDE0 = 3; X_AXIS = 0.3; Y_AXIS = 0.5; FRAME = FALSE; X_TEXT = " 3.sin(t)/t"; #structure 1 PLOT (3*sin(time)/time : -1.5, 3.5,,,GREEN); #timing -15,15,0.0625; #end ##*********************************************************************
1. Probeer deze grafiek uit op dezelfde manier als de vorige. Bestudeer het effect van de systeemparameters. U kunt via het hoofdmenu: "Values->System Constants" de waarden van alle systeemvariabelen te zien krijgen. 2. Wanneer de grafiek getekend is kunt u er verschillende bewerkingen op loslaten. U vindt deze door met de cursor in het grafische gebied op de rechter muisknop te drukken. Probeer het effect van de verschillende menukeuzen eens uit (niet alle instellingen zullen in dit eenvoudige voorbeeldje effect hebben). Opmerkingen De variabele x is in Dynasim niet als zodanig bekend. Voor de eenvoud hebben we daarom 'time' genomen inplaats van x. Het is echter heel goed mogelijk een variabele x te definieren die weer een functie is van 'time'. In de volgende voorbeelden zal dit duidelijk worden. De 6 parameters die in de #system sectie genoemd zijn hebben een speciale betekenis in Dynasim. DIVIDE0 is de waarde die geleverd wordt wanneer een deling door 0 plaatsheeft. De defaultwaarde van deze constante is 1.0.
pagina 69 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra
Kleuren zijn ook voorgedefinieerde constanten. 'GREEN' is een constante met waarde 2. De constante 'X_TEXT' is een string. Dit is een stukje tekst tussen aanhalingstekens. Indien gedefinieerd, wordt deze tekst in de grafiek onder de horizontale as geschreven. Via het 'Values' menu wordt alleen een numerieke waarde opgegeven, deze is voor een string gelijk aan 0. De waarde 'GREEN' is de vijfde parameter van het PLOT blok. Wanneer we, zoals hier, parameter 3 en 4 niet willen invullen kunnen we dit aangeven door een komma. Dit kan niet voor ieder blok, bij de meeste moeten de parameters alle ingevuld worden. De waarden in de system sectie zijn niet 'case sensitive'. Dit betekent dat u inplaats van SYNTAX = DS2 ook kunt schrijven syntax = ds2. Namen in andere secties zijn in het algemeen WEL 'case sensitive'!
03_spiral Opdracht Plot een spiraal door Y en X als functie van 'time' te definiëren. Oplossing ##********************************************************************* #structure x = (1 - 0.01*time)* cos(time); y = (1 - 0.01*time)* sin(time); YXPLOT (y, x : -1, 1, -1, 1); #timing 0,100,0.01; #end ##*********************************************************************
Opmerkingen
Het YXPLOT blok heeft twee inputs, deze worden hier ook aan y en x gekoppeld. De vijfde parameter van YXPLOT mag weer een kleur zijn. Als deze niet gegeven is kiest de simulator zelf een kleur. De drie knoppen midden boven op de knoppenbalk dienen om te kiezen tussen de tekst van de simulatie of het grafische window, in fulle screen of in vierkante uitvoering. Probeer de drie knoppen eens uit.
Oefeningen 1. Verander in dit programma de schalen van de plotter door in de editor de betreffende parameters te veranderen. 2. Breng X- en Y-assen aan op een zelfgekozen plaats (zie de vorige opgave) en verander de kleur van de grafiek. 3. Breng een tekst naar keuze aan onder de X-as.
pagina 70 van 87
versie 7 november 2009
Bondgrafen - Jan Mooij, Frank Dijkstra
04_spiral Opdracht Twee spiralen die tegengesteld verlopen in de kleuren rood en geel. Oplossing ******************************************************************** #system background = black; #structure 1 2 3 4