Miniprojekt: Vattenledningsnätet i Lutorp 1



Relevanta dokument
Miniprojekt: Vattenledningsnätet i Lutorp 1

Miniprojekt: Vattenledningsnäten i Lutorp och Vingby 1

Miniprojekt: Vattenledningsnätet i Lutorp 1

Miniprojekt: Vattenledningsnäten i Lutorp och Vingby 1

Problemlösning och miniprojekt

Tentamen i Beräkningsvetenskap I/KF, 5.0 hp,

Tentamen i Beräkningsvetenskap I (nya versionen), 5.0 hp, Del A

Facit Tentamen i Beräkningsvetenskap I (1TD393) STS ES W K1

Miniprojekt: MEX och molekyldynamik

Laboration: Vektorer och matriser

Laboration: Grunderna i MATLAB

Avdelningen för teknisk databehandling (TDB) Polacksbacken, hus 2

Tentamen i Beräkningsvetenskap I och KF, 5.0 hp,

Laboration: Grunderna i Matlab

2 Matrisfaktorisering och lösning till ekvationssystem

TANA17 Matematiska beräkningar med Matlab

Tekniska Högskolan i Linköping Institutionen för Datavetenskap (IDA) Torbjörn Jonsson Plot och rekursion

Uppgift 1 - programmet, Uppg6.m, visade jag på föreläsning 1. Luftmotståndet på ett objekt som färdas genom luft ges av formeln

MMA132: Laboration 2 Matriser i MATLAB

Introduktion till MATLAB

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 9 november 2015 Sida 1 / 28

Jarmo Rantakokko, , rum 2421,

Instruktion för laboration 1

Lägg märke till skillnaden, man ser det tydligare om man ritar kurvorna.

Inledande matematik för I1. MVE011 läsperiod Matlab vecka 2 övningsuppgifter

Fallstudie: numerisk integration Baserad på läroboken, Case Study 19.9

5B1146 med Matlab. Laborationsr. Laborationsgrupp: Sebastian Johnson Erik Lundberg, Ann-Sofi Åhn ( endst tal1-3

Tentamen i Beräkningsvetenskap I (nya versionen), 5.0 hp, Del A

Instruktion för laboration 1

Laboration 2: 1 Syfte. 2 Väntevärde och varians hos en s.v. X med fördelningen F X (x) MATEMATISK STATISTIK, AK FÖR BYGG, FMS 601, HT-08

Laboration 1. Ekvationslösning

Facit Tentamen i Beräkningsvetenskap I (1TD393) STS ES W K1

Innehåll. Vad är MATLAB? Grunderna i MATLAB. Informationsteknologi. Informationsteknologi.

Beräkningsvetenskap och Matlab. Vad är MATLAB? Vad är MATLAB? Användningsområden. Vad är MATLAB? Grunderna i Matlab. Beräkningsvetenskap == Matlab?

Facit Tentamen i Beräkningsvetenskap I (1TD393 - nya versionen, 5hp!)

Gemensamt projekt: Matematik, Beräkningsvetenskap, Elektromagnetism. Inledning. Fysikalisk bakgrund

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 14:e januari klockan

När man vill definiera en matris i MATLAB kan man skriva på flera olika sätt.

LAB 4. ORDINÄRA DIFFERENTIALEKVATIONER. 1 Inledning. 2 Eulers metod och Runge-Kuttas metod

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

TSBB14 Laboration: Intro till Matlab 1D

FMNF15 HT18: Beräkningsprogrammering Numerisk Analys, Matematikcentrum

Omtentamen i DV & TDV

Newtons metod och arsenik på lekplatser

Tentamen i Teknisk-Vetenskapliga Beräkningar

ELLER (fyll bara i om du saknar tentamenskod): Datum: 32 maj Bordsnummer: Kontrollera att du fått rätt tentamensuppgifter

MATLAB övningar, del1 Inledande Matematik

LAB 1. FELANALYS. 1 Inledning. 2 Flyttal. 1.1 Innehåll. 2.1 Avrundningsenheten, µ, och maskinepsilon, ε M

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

Dagens program. Programmeringsteknik och Matlab. Administrativt. Viktiga datum. Kort introduktion till matlab. Övningsgrupp 2 (Sal Q22/E32)

4 Numerisk integration och av differentialekvationer

Laboration 6. Ordinära differentialekvationer och glesa system

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

Laboration 2. Laborationen löses i grupper om två och redovisas individuellt genom en lappskrivning den 3/10. x = 1±0.01, y = 2±0.05.

MATLAB the Matrix Laboratory. Introduktion till MATLAB. Martin Nilsson. Enkel användning: Variabler i MATLAB. utvecklat av MathWorks, Inc.

Föreläsning 14: Exempel på randvärdesproblem. LU-faktorisering för att lösa linjära ekvationssystem.

Index. Vektorer och Elementvisa operationer. Summor och Medelvärden. Grafik i två eller tre dimensioner. Ytor. 20 januari 2016 Sida 1 / 26

Linjär algebra med tillämpningar, lab 1

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 2 november 2015 Sida 1 / 23

TAIU07 Matematiska beräkningar med Matlab

Introduktion till Matlab

Lösningsförslag till inlämningsuppgift 3 i Beräkningsprogrammering Problem 1) function condtest format compact format long

Tentamen för kursen TME135 Programmering i Matlab för M1

Matriser och vektorer i Matlab

MMA132: Laboration 1 & 2 Introduktion till MATLAB

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

TMV166 Linjär Algebra för M. Tentamen

TMV166 Linjär algebra för M. Datorlaboration 2: Matrisalgebra och en mekanisk tillämpning

Department of Physics Umeå University 27 augusti Matlab för Nybörjare. Charlie Pelland

Dagens föreläsning (F15)

SKRIVNING I VEKTORGEOMETRI

Laboration 1. x = 1±0.01, y = 2±0.05. a) Teoretiskt med hjälp av felfortplantningsformeln (Taylor-utveckling).

FÖRSÄTTSBLAD TILL TENTAMEN. ELLER (fyll bara i om du saknar tentamenskod): Datum: 16 januari Bordsnummer:

Uppgift 1 ( Betyg 3 uppgift )

Mathematica. Utdata är Mathematicas svar på dina kommandon. Här ser vi svaret på kommandot från. , x

STOCKHOLMS UNIVERSITET VT 2011 Avd. Matematisk statistik GB DATORLABORATION 1: TIDSSERIER.

Komponentvisa operationer,.-notation Multiplikation (*), division (/) och upphöj till (ˆ) av vektorer följer vanliga vektoralgebraiska

Labbrapport - Linjär algebra och geometri

Introduktion till Matlab

Laboration 1 - Simplexmetoden och Modellformulering

3 Man kan derivera i Matlab genom att approximera derivator med differenskvoter. Funktionen cosinus deriveras för x-värdena på följande sätt.

MULTIPLIKATION AV MATRISER, BASER I RUMMET SAMT FÖRSTA MÖTET MED MATRISINVERSER = = =

Laboration 1. 1 Matlab-repetition. 2 Störningsräkning 1. 3 Störningsräkning 2

Introduktion till Matlab

% Föreläsning 3 10/2. clear hold off. % Vi börjar med att titta på kommandot A\Y som löser AX=Y

x + y + z + 2w = 0 (a) Finn alla lösningar till ekvationssystemet y + z+ 2w = 0 (2p)

TEM Projekt Transformmetoder

DN1212/numpm Numeriska metoder och grundläggande programmering Laboration 1 Introduktion

Rapportexempel, Datorer och datoranvändning

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 27 oktober 2015 Sida 1 / 31

15 september, Föreläsning 5. Tillämpad linjär algebra

Laboration 3. Funktioner, vektorer, integraler och felskattning

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 4 december 2015 Sida 1 / 26

Statistiska samband: regression och korrelation

1 Förberedelseuppgifter

Laboration 5: Regressionsanalys. 1 Förberedelseuppgifter. 2 Enkel linjär regression DATORLABORATION 5 MATEMATISK STATISTIK FÖR I, FMS 012, HT-08

1.1 MATLABs kommandon för matriser

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 21:a April klockan

Introduktion till Matlab

Miniprojekt 1 - Gasers volym Revision 1

Transkript:

2 november 212 Miniprojekt 1 (4) Institutionen för informationsteknologi Beräkningsvetenskap Besöksadress: MIC hus 2, Polacksbacken Lägerhyddvägen 2 Postadress: Box 337 751 5 Uppsala Telefon: 18 471 (växel) Telefax: 18 51 19 25 Hemsida: http://www.it.uu.se Department of Information Technology Scientific Computing Visiting address: MIC bldg 2, Polacksbacken Lägerhyddvägen 2 Postal address: Box 337 SE-751 5 Uppsala SWEDEN Telephone: +46 18 471 (switch) Telefax: +46 18 51 19 25 Web page: http://www.it.uu.se Beräkningsvetenskap I Beräkningsvetenskap DV Miniprojekt: Vattenledningsnätet i Lutorp 1 Du har blivit engagerad för ett konsultuppdrag åt Gaussby kommun. Kommunen planerar att bygga ett nytt stort bostadsområde i Lutorp. Ditt uppdrag gäller beräkningar av tryckförhållanden i vattenledningsnätet i Lutorp. Del 1 Före den planerade utbyggnaden består Lutorp av ett fåtal bostäder. De är anslutna till en egen del av det kommunala vattenledningsnätet. Hos Tekniska kontoret i Gaussby kommun finns en schematisk skiss över det lokala vattenledningsnätet i Lutorp före utbyggnaden. (Se bilaga. Beteckningarna i figuren förklaras nedan.) Knutpunkterna i nätet är numrerade med heltal: 1, 2, 3, 4. Tekniska kontoret vill att du till att börja med ska beräkna trycket i dessa knutpunkter. De sökta tryckvärdena betecknas med p 1, p 2, p 3, respektive p 4. Trycket anges som skillnaden mellan vattentrycket och det omgivande atmosfäriska trycket. I beräkningarna används därför en skala där det atmosfäriska trycket sätts till. För beräkningen av trycket används följande samband: 1. För rörledning nummer j kan vattenflödeshastigheten Q j (i m 3 /s) uttryckas: Q j = kl (p in p ut ). (1) Beteckningar: 1/k är det hydrauliska motståndet i den aktuella rörledningen, så k är inversen av det hydrauliska motståndet; L är rörledningens längd; p in är trycket vid inloppet till rörledningen och p ut är trycket vid utloppet från samma rörledning. Det inversa motståndet mäts i m 2 /(bar s), trycket i bar och längden i meter. 2. Summan av flödena in till en knutpunkt är lika med summan av flödena ut från samma knutpunkt. Tekniska kontoret tillhandahåller en tabell över värdena på k och L för de rörledningar som ingår i Lutorps vattenledningsnät före utbyggnaden: rör k L rör k L rör k L 1.1 2 2.5 1 3.5 14 4.5 1 5.5 1 6.2 8 7.2 8 8.2 8 9.5 1 1.2 8 Vidare är trycket i vattenreservoaren 1 bar och trycket p vid avtappningsställena cirka bar. 1 Del 1 baseras på Problem 5.1 i A. Quarteroni & F. Saleri, Scientific Computing with MATLAB, Springer-Verlag Berlin Heidelberg, 23

2 (4) Samband 2 ovan ger följande ekvationer för de fyra knutpunkterna i Lutorps befintliga vattenledningsnät (se bifogad figur): Punkt 1 : Q 1 = Q 2 + Q 3 + Q 4 Punkt 2 : Q 2 = Q 9 + Q 1 Punkt 3 : Q 4 = Q 5 + Q 6 Punkt 4 : Q 3 + Q 5 + Q 9 = Q 7 + Q 8 Genom att i dessa ekvationer sätta in sambandet (1) och mätvärdena från Tekniska kontoret, får vi efter förenkling följande system av fyra ekvationer för de fyra sökta tryckvärdena p 1, p 2, p 3, p 4 : 3.7.5.5.7.5 1.16.5.5 1.16.5.7.5.5 2.2 p 1 p 2 p 3 p 4 = 2 Skriv i Matlab ett program som ställer upp detta system, löser det med Matlabs inbyggda backslash -operator samt skriver ut lösningen. Utskriften ska vara sådan att dina uppdragsgivare på Tekniska kontoret förstår den utan att du behöver ge någon kompletterande, muntlig information. (Kom ihåg att när du så småningom ska implementera programmet ska det skrivas in i en.m-fil) Del 2 När den planerade utbyggnaden av Lutorp genomförs kommer antalet bostäder i området att bli mer än tusen gånger större och det behövs en motsvarande utbyggnad av vattenledningsnätet. Ingenjörerna på Tekniska kontoret har tillgång till ett ritprogram med vars hjälp de kan skissa olika alternativ för utbyggnaden. När skissen är klar genererar ritprogrammet en fil som innehåller koefficientmatrisen i det motsvarande ekvationssystemet för tryckberäkning. Dessutom innehåller filen k- och L-värdena för rör nummer 1, det rör som är anslutet till vattenreservoaren. Ritprogrammet använder Matlab-kommandot save för att spara data till filen. De filer som save skapar kallas för.mat-filer. Du ska nu modifiera ditt program för tryckberäkning så att det använder sig av de filer som genererats av ritprogrammet. Du ska alltså skriva ett program som läser in en fil (med Matlab-kommandot load), ställer upp ekvationssystemets högerled, löser ekvationssystemet, samt sparar resultatet i en annan.mat-fil (med Matlab-kommandot save). Se nedan för kort beskrivning av save och load. Alla ekvationer utom den första har i högerledet. Värdet i första ekvationens högerled är klp r, där k- och L-värdena avser rör nummer 1 och p r är vattentrycket i reservoaren. Värdet p r ska matas in av användaren när programmet körs. I utdatafilen ska du spara lösningsvektorn, inga andra data. Ditt modifierade program ska kunna användas av personal på Tekniska kontoret. När programmet körs ska användaren få mata in namnet på den.mat-fil där ekvationssystemet för det planerade vattenledningsnätet finns lagrat. Vidare ska användaren få välja namn på den.mat-fil där resultatet ska sparas. Slutligen ska användaren kunna välja att även få se en plot över resultatet, där man på x-axeln ska se knutpunkternas nummer och i y-led de beräknade tryckvärdena.

3 (4) Om namnet på indatafilen är lagrat som en textsträng i variabeln namnin, så kan filen läsas genom kommandot load(namnin). Om namnet på utdatafilen är lagrat som en textsträng i variabeln namnut och lösningsvektorn är lagrad i variabeln p, så innebär kommandot save(namnut, p ) att lösningsvektorn sparas i utdatafilen. Suffixet.MAT är underförstått vid anrop av save och load och behöver därför inte ingå i de textsträngar som innehåller filnamnen. Se Matlabs hjälpfönster för en utförlig beskrivning av olika sätt att anropa dessa två kommandon. När programmet är färdigt ska du testköra det och förvissa dig om att det fungerar som avsett. Via kurshemsidan kan du hämta filerna lutorp2x2.mat, lutorp5x5.mat och lutorp8x8.mat. Den första av dessa innehåller koefficientmatrisen för det befintliga vattenledningsnätet, med fyra knutpunkter, det vill säga samma koefficientmatris som i Del 1. De två övriga filerna innehåller koefficientmatriser för två alternativa utbyggnader av vattenledningsnätet, med 25 respektive 64 knutpunkter. Du använde ovan kommandot plot för att plotta trycket. En mer illustrativ figur kan man få genom att plotta trycket som en funktion av knutpunkternas position. Vattenledningsnäten är utformade som kartesiska nät av knutpunkter. Du kan därför använda dig av plot-kommandot surf. Förutom koefficientmatris och k- och L-värden innehåller varje.mat-fil matriser X och Y med x- och y- koordinater för knutpunkterna som kan användas som input till surf. Du behöver forma om lösningsvektorn med trycket till en matris med samma storlek som X och Y så att den kan användas som input till surf tillsammans med X och Y. Detta kan åstadkommas med hjälp av kommandot reshape. Del 3 Tekniska kontoret vill bland annat undersöka hur trycket i vattenreservoaren påverkar trycknivåerna i vattenledningsnätet. Därför vill man för ett och samma vattenledningsnät kunna göra upprepade beräkningar, för olika värden på trycket i vattenreservoaren. Nu ska du ändra programmet från Del 2, så att detta blir möjligt. När ekvationssystemet har lösts och resultatet har presenterats, så ska användaren ges möjlighet att i samma körning mata in ett nytt p r -värde, se lösningen till det nya systemet, mata in ytterligare ett p r -värde, etc. Detta upprepas tills användaren väljer att inte mata in ytterligare värden. Du ska föreslå ett effektivt sätt att utföra de upprepade beräkningarna (motivera!), så att resultaten från tidigare beräkningar så långt som möjligt återanvänds när ett nytt p r -värde behandlas. Genomför de motsvarande ändringarna i programmet från Del 2. Använd lutorp5x5.mat och lutorp8x8.mat som testfall. Du kommer att finna att det skulle bli alldeles för lågt tryck i det utbyggda vatttenledningsnätet om utbyggnaden skulle göras enligt de alternativ som motsvaras av filerna lutorp5x5.mat och lutorp8x8.mat. Skulle det gå bättre om man ansluter ytterligare några vattenreservoarer till nätet? Via kurshemsidan hittar du filerna lutorp5x5_8.mat och lutorp8x8_8.mat. De motsvarar en utbyggnad där ytterligare sju vattenreservoarer har anslutits till vattenledningsnätet. Inflödesrören från de nya reservoarerna har samma egenskaper som röret till den ursprungliga reservoaren. Du ska nu modifiera ditt program så att det kan hantera utbyggnaden. Användaren av ditt program skall ges möjlighet

4 (4) att sätta trycket i var och en av de åtta vattenreservoarerna. Raderna i koefficientmatrisen har ordnats på sådant sätt att de åtta ekvationerna för knutpunkterna med anslutna vattenreservoarer kommer först. Det betyder att om användaren matar in ett värde p (i) för trycket i reservoar nr. i så skall ekvation nr. i ha värdet klp (i) i högerledet. Precis som ovan så ska upprepade beräkningar med nya värden på p (i), i = 1, 2,..., 8 utföras på ett effektivt sätt. Använd data från filerna lutorp5x5_8.mat respektive lutorp8x8_8.mat för att beräkna trycket under de nya förutsättningarna. Undersök hur trycket i nätet beror på trycket i de åtta vattenreservoarerna. Vilken skillnad i tryck blir det jämfört med fallet med bara en vattenreservoar? Del 4 (inte obligatorisk) Om du är van programmerare kan du nu gå vidare och lägga in tidtagning i programmet med Matlab-kommandot cputime. Mät dels hur lång tid det tar att lösa det första ekvationssystemet, dels hur lång tid det tar att lösa de efterföljande systemen, där du bara har ändrat tryck-värdena p (i), i = 1, 2,..., 8 för de åtta vattenreservoarerna. Gaussby kommun tackar för dina insatser!

p= Q 1 Q 2 2 Q 9 Q 8 p= Q 1 1 4 Q 3 p= Q 4 3 Q 7 Q 5 p= Q 6 Schematisk skiss av vattenledningsnätet i Lutorp före den planerade utbyggnaden