Miniprojekt: Vattenledningsnätet i Lutorp 1

Relevanta dokument
Miniprojekt: Vattenledningsnäten i Lutorp och Vingby 1

Miniprojekt: Vattenledningsnäten i Lutorp och Vingby 1

Miniprojekt: Vattenledningsnätet i Lutorp 1

Miniprojekt: Vattenledningsnätet i Lutorp 1

Problemlösning och miniprojekt

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

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

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

Miniprojekt: MEX och molekyldynamik

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

TANA17 Matematiska beräkningar med Matlab

Laboration: Grunderna i MATLAB

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

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

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

Laboration: Vektorer och matriser

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

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

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

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

MMA132: Laboration 2 Matriser i MATLAB

TAIU07 Matematiska beräkningar med Matlab

2 Matrisfaktorisering och lösning till ekvationssystem

SF1905 Sannolikhetsteori och statistik: Lab 2 ht 2011

Uppgift 1 ( Betyg 3 uppgift )

Värmedistribution i plåt

Laboration 1. Ekvationslösning

Introduktion till MATLAB

Hemuppgift 2, SF1861 Optimeringslära för T, VT-10

Stokastiska processer och simulering I 24 augusti

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

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Hjälpmedel: MATLAB

Tentamen i Beräkningsvetenskap II, 5.0 hp,

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

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

Newtons metod och arsenik på lekplatser

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

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och...

Hemuppgift 1, SF1861 Optimeringslära, VT 2017

FK2002- FK2004 (HT2011)

Laboration 3: Stora talens lag, centrala gränsvärdessatsen och enkla punktskattningar

Laboration 1 - Simplexmetoden och Modellformulering

1 Minkostnadsflödesproblem i nätverk

FMNF15 HT18: Beräkningsprogrammering Numerisk Analys, Matematikcentrum

SF1900 Sannolikhetsteori och statistik, HT 2017 Laboration 1 för CINEK2

Uppgift 1 ( Betyg 3 uppgift )

Linjär algebra med tillämpningar, lab 1

LABORATION 1. Syfte: Syftet med laborationen är att

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

Matematisk analys för ingenjörer Matlabövning 3 Numerisk lösning av differentialekvationer

SKRIVNING I VEKTORGEOMETRI

Lösningsanvisningar till vissa av de icke obligatoriska workout-uppgifterna i Beräkningsvetenskap II

Variabler. TANA81: Beräkningar med Matlab. Matriser. I Matlab skapas en variabel genom att man anger dess namn och ger den ett värde:

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

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

Arbeta med normalfördelningar

Matematisk analys för ingenjörer Matlabövning 2 Numerisk ekvationslösning och integration

Lektionsanteckningar 11-12: Normalfördelningen

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

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

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

Laboration 4: Stora talens lag, Centrala gränsvärdessatsen och enkla punktskattningar

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

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A

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

i LabVIEW. Några programmeringstekniska grundbegrepp

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

e 3 e 2 e 1 Kapitel 3 Vektorer i planet och i rummet precis ett sätt skrivas v = x 1 e 1 + x 2 e 2

2 Laborationsuppgifter, upptagetsystem

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

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.

Instruktion för laboration 1

Labbrapport - Linjär algebra och geometri

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

Uppgift 1 (vadå sortering?)

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

TSBB14 Laboration: Intro till Matlab 1D

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

Matriser och linjära ekvationssystem

repetera begreppen sannolikhetsfunktion, frekvensfunktion och fördelningsfunktion

15 februari 2016 Sida 1 / 32

Finansiell Statistik (GN, 7,5 hp,, HT 2008) Föreläsning 3

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

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

Introduktion till Matlab

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

Demonstration av laboration 2, SF1901

Räknarinstruktioner för CASIO FX-9750GII till Matematik Origo 2c

Fö relä sning 2, Kö system 2015

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

Jarmo Rantakokko, , rum 2421,

Laboration 3: Stora talens lag, centrala gränsvärdessatsen och enkla punktskattningar

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.

Attila Szabo Niclas Larson Gunilla Viklund Mikael Marklund Daniel Dufåker. GeoGebraexempel

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

Laboration: Grunderna i Matlab

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

Textsträngar från/till skärm eller fil

KPP053, HT2016 MATLAB, Föreläsning 2. Vektorer Matriser Plotta i 2D Teckensträngar

Instruktion för laboration 1

Transkript:

26 mars 212 Miniprojekt 1 (5) Beräkningsvetenskap I Institutionen för informationsteknologi Teknisk databehandling Besöksadress: MIC hus 2, Polacksbacken Lägerhyddsvägen 2 Postadress: Box 337 751 5 Uppsala Telefon: 18 471 (växel) Telefax: 18 52 3 49 Hemsida: http://www.it.uu.se Department of Information Technology Scientific Computing Visiting address: MIC bldg 2, Polacksbacken Lägerhyddsvägen 2 Postal address: Box 337 SE-751 5 Uppsala SWEDEN Telephone: +46 18 471 (switch) Telefax: +46 18 52 3 49 Web page: http://www.it.uu.se Miniprojekt: Vattenledningsnätet i Lutorp 1 Du är nyanställd på konsultföretaget Pollax Pipes AB i vattenledningsbranchen. Del 1 Du har blivit skickat på ditt första uppdrag vid tekniska kontoret i Gaussby kommun att kontrollera att vattenledningsnätet i den lilla tätorten Lutorp är väldimensionerat. I lilla Lutorp finns ett fåtal bostäder, som är anslutna till en egen del av det kommunala vattenledningsnätet. Din chef har givit dig en schematisk skiss över det lokala vattenledningsnätet i orten. (Se Figur 1. Beteckningarna i figuren förklaras nedan.) Noderna i nätet är numrerade med heltal: 1, 2, 3, 4, 5, 6. Ditt uppdrag är till att börja med ska beräkna trycket i de interna noderna (2, 3 & 4). Till nod 1 är en vattenreservoar ansluten, och nod 5 och 6 är kopplade till avtappningskranar i två bostäder. Tryckvärdena i de olika noderna betecknas med p 1, p 2, p 3, p 4, p 5 respektive p 6. 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. I det aktuella fallet är k konstant och lika med.1. 2. Summan av flödena in till en nod är lika med summan av flödena ut från samma nod. En äldre medarbetare tillhandahåller en tabell över värdet på L för de rörledningar som ingår i Lutorps vattenledningsnät före utbyggnaden: rör L rör L 1 3 4 6 2 5 5 5 3 5 6 5 1 Del 1 baseras på Problem 5.1 i A. Quarteroni & F. Saleri, Scientific Computing with MATLAB, Springer-Verlag Berlin Heidelberg, 23

2 (5) Vidare är trycket i vattenreservoaren 1 bar och trycket p vid avtappningsställena cirka bar. Samband 2 ovan ger följande ekvationer för de tre inre noderna i Lutorps vattenledningsnät (se Figur 1): Punkt 2: Q 1 = Q 2 + Q 3 Punkt 3: Q 3 = Q 4 + Q 6 Punkt 4: Q 2 + Q 4 = Q 5 Genom att i dessa ekvationer sätta in sambandet (1) och värdena för k och L, får vi efter förenkling följande system av sex ekvationer för trycken i de olika noderna: 1..3 1.3.5.5.5 1.6.6.5.5.6 1.6.5 1. 1. p 1 p 2 p 3 p 4 p 5 p 6 = Härled ekvationssystemet ovan och 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 i Gaussby kommun 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) 1 (2) Figur 1: Skiss av vattenledningsnätet i Lutorp. Del 2 Att manuellt härleda och skriva in systemet för ett större vattenledningsnät blir snabbt mycket tidsödande. Därför har ditt konsultföretag beslutat att skapa ett pro-

3 (5) gram för att hantera detta. Den första delen är redan färdig, och består av funktionen GenerateMatrix.m, som automatiskt genererar systemmatrisen utifrån följande textfiler som beskriver ledningsnätet: *.coords En lista över x- och y-koordinaterna för de olika nodpunkterna i nätet. Nodens radnummer blir dess index i nätet och i lösningsvektorn. *.graph En lista över alla kopplingar i nätet. Rad nummer i listar index för de noder som har en koppling till nod i. *.source En lista över källor och sänkor i nätet. På varje rad anges index för källan/sänkan, följt av 1 om det är en källa ( vattentorn ) eller om det är en sänka ( öppen kran ). Som ett exempel finns dessa filer för fallet tätorten Lutorp i Del 1 att ladda ned från hemsidan. Dessa kan laddas in genom kommandot [A,i_source] = GenerateMatrix( lutorp ); Förutom systemmatrisen A, returneras även vektorn i_source som innehåller indexen för de noder som är källor (dvs bara 1 för Lutorp). Dessutom ritas en bild över vattenledningsnätet upp, med blå punkter för öppna kranar, och röda punkter för vattentorn. Testa att ladda in matrisen med hjälp av GenerateMatrix.m och se att matrisen blir samma som i Del 1. Din uppgift är skriva ett huvudprogram som laddar in matrisen A för Lutorp med hjälp av GenerateMatrix.m, konstruerar högerled och löser systemet. Alla ekvationer utom den första har i högerledet. Värdet i första ekvationens högerled är p r, dvs vattentrycket i reservoaren. Användaren ska själv kunna mata in p r från kommandotolken när programmet körs. Resultatet ska presenteras i en graf där man på x-axeln ska se knutpunkternas nummer och i y-led de beräknade tryckvärdena. Lös Lutorp-problemet med samma vattenreservoarstryck som i Del 1, och jämför resultaten. Programmet ska vidare kunna användas för fler orter än Lutorp. Ändra i programmet så att användaren får mata in namnet på fallet, t.ex. lutorp för Lutorp. Testa ditt program genom att skapa ett eget vattenledningssystem i staden Newtown (du kan kopiera filerna för Lutorp och använda dem som grund). Del 3 Räkna ut trycket i Newtown för något tryck på stadens vattenreservoar(er). Pollax Pipes AB expanderar och har fått ett nytt prestigefullt utlandsuppdrag i storstaden Wingtown, som är belägen runt några sjöar med befolkningen koncentrerad kring stränderna. Din chef blev såpass nöjd med ditt arbete med Lutorp och Newtown att du har blivit ansvarig för det nya uppdraget. I staden ska det byggas

4 (5) tre vattentorn, och uppdraget består i att dimensionera dessa för att trygga stadens vattenförsörjning. Nätfilerna för Wingtown finns att ladda hem från hemsidan. Din uppgift är att utvidga programmet från Del 2 så att användaren kan testa sig fram till värden på vattentornstrycken som ger en jämn och tillräckligt hög tryckfördelning i nätet. Observera att Wingtown har flera vattentorn som användaren skall kunna bestämma trycket i. Programmet ska kunna fungera oberoende av hur många vattentorn som finns i nätet. För att kontrollera att trycket i systemet är tillräckligt högt kan man beräkna medeltrycket. I Wingtown vill man inte att medeltrycket ska understiga 2 bar. Medelvärdet 2 av trycket kan beräknas med hjälp av MATLABs inbyggda funktion mean som anropas enligt: medeltryck = mean(p); Kvaliteten på tryckfördelningen ska beräknas genom standardavvikelsen 3, vilket är ett mått från statistiken som beskriver hur mycket trycket varierar. Ett lågt värde på standardavvikelsen innebär en liten variation, dvs ett jämnfördelat tryck. I Matlab kan standardavvikelsen beräknas med hjälp av den inbyggda funktionen std som tar en vektor som input: tryckvariation = std(p); När användaren testar olika tryck i vattentornen skall medeltryck och standardavvikelse visas på skärmen. När ekvationssystemet och resultatet har presenterats, så ska användaren ges möjlighet att mata in nya tryck i vattentornen, se resultaten, mata in nya tryck i vattentornen, etc. Detta upprepas tills användaren väljer att inte mata in ytterligare värden. Det är inte säkert att användaren vill se en graf efter varje test, och därför ska detta kunna väljas efter varje beräkning. Det är viktigt att det inte tar för lång tid att köra programmet när man vill göra många test. Du ska implementera 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 ska återanvändas när ett nytt vattentornstryck behandlas. Del 4 (inte obligatorisk) Om du vill kan du nu gå vidare och bygga ut programmet så att användaren inte behöver söka efter optimalt tryck i vattentornen utan att detta sker automatiskt. Användaren ska då bara behöva ange ett min- och maxvärde för varje vattentorn. Programmet ska sedan automatiskt söka igenom alla möjliga kombinationer av vattentryck inom de givna intervallen i tornen och hitta den optimala fördelningen på trycket. Del 5 (inte obligatorisk) Ändra belastningen på vattenledningsnätet, dvs fördela om antalet öppna kranar genom att lägga till fler sänkor i filen *.source och gör om beräkningarna. 2 Medelvärdet av trycket är definierat som µ p := 1 N pi, där N är antalet noder, pi är N i=1 trycket i nod i. 3 1 N Standardavvikelsen är definierad som σ p := N i=1 (pi µp)2.

5 (5) I slutändan skulle man vilja införa en automatisk reglering av trycket i vattentornen beroende på vilken belastning man har på nätet, d.v.s. m.a.p. på hur många kranar som är anslutna och öppna vid ett givet tillfälle. Fundera på hur man skulle kunna åstadkomma detta.