\documentclass[12pt,
               a4paper,
               article,
               oneside,
               oldfontcommands,
               norsk]{memoir}


\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[scaled]{beramono}
\usepackage[final]{microtype}
\usepackage{amssymb}
\usepackage{mathtools}
\usepackage{amsthm}
\usepackage{thmtools}
\usepackage{babel}
\usepackage{csquotes}
\usepackage{listings}
\usepackage{bm}
\lstset{basicstyle = \ttfamily}
\usepackage{textcomp}
\usepackage{siunitx}
\usepackage{xcolor}
\usepackage{graphicx}
\usepackage[colorlinks, allcolors = uiolink]{hyperref}


\renewcommand*{\chaptitlefont}{\Large\bfseries\sffamily\raggedright}
\setsecheadstyle{\large\bfseries\sffamily\raggedright}
\setsubsecheadstyle{\large\bfseries\sffamily\raggedright}
\setsubsubsecheadstyle{\normalsize\bfseries\sffamily\raggedright}
\setparaheadstyle{\normalsize\bfseries\sffamily\raggedright}
\setsubparaheadstyle{\normalsize\bfseries\sffamily\raggedright}
\setbeforesubsubsecskip{2ex}
\setaftersubsubsecskip{1ex}


\pretolerance = 2000
\tolerance    = 6000
\hbadness     = 6000


\renewcommand{\sfdefault}{phv}
\definecolor{uiolink}{HTML}{0B5A9D}


\declaretheorem[style = definition]{oppgave}


\begin{document}


\begin{titlingpage}
    \vspace*{-8em}
    \setlength{\parskip}{1.5ex plus 0.5ex minus 0.2ex}
    \setlength{\parindent}{0pt}

    \begin{flushright}
        \small\today
    \end{flushright}

    \begin{center}
        \vspace{2em}
        {
            \bfseries\sffamily\huge
            MEK1100
            %% Alternativt:
            %% EMNEXXXX \textthreequartersemdash\ NAVN P{\AA} EMNE
        }
        \vskip0.2ex
        \Large
        Obligatorisk oppgave 2 av 2 \\
        \vspace{1ex}
    \end{center}

    \subsubsection*{Innleveringsfrist}
    Torsdag 11. mai \the\year, klokken 14:30 i Canvas
    (\href{https://canvas.uio.no}{\underline{canvas.uio.no}}).

    \subsubsection*{Instruksjoner}
    Merk at man har \textbf{ett forsøk} på å få oppgaven godkjent. Dette betyr at det ikke lenger gis andregangsforsøk. 
    
    Du velger selv om du skriver besvarelsen for h{\aa}nd og scanner besvarelsen eller om du skriver l{\o}sningen direkte inn p{\aa} datamaskin (for eksempel ved bruk av \LaTeX).
    Besvarelsen skal leveres som {\'e}n PDF-fil.
    Scannede ark m{\aa} v{\ae}re godt lesbare.
    Besvarelsen skal inneholde navn, emne og oblignummer.

    Det forventes at man har en klar og ryddig besvarelse med tydelige begrunnelser.
    Husk {\aa} inkludere alle relevante plott og figurer.
    Samarbeid og alle slags hjelpemidler er tillatt, men den innleverte besvarelsen skal v{\ae}re skrevet av deg og reflektere din forst{\aa}else av stoffet.
    Er vi i tvil om du virkelig har forst{\aa}tt det du har levert inn, kan vi be deg om en muntlig redegj{\o}relse.

    I oppgaver der du blir bedt om {\aa} programmere m{\aa} du legge ved programkoden og levere den sammen med resten av besvarelsen.
    Det er viktig at programkoden du leverer inneholder et kj{\o}reeksempel, slik at det er lett {\aa} se hvilket resultat programmet gir. 

    \subsubsection*{S{\o}knad om utsettelse av innleveringsfrist}
    Hvis du blir syk eller av andre grunner trenger {\aa} s{\o}ke om utsettelse av innleverings\-fristen, m{\aa} du ta kontakt med studieadministrasjonen ved Matematisk institutt (e-post: \href{mailto:studieinfo@math.uio.no}{studieinfo@math.uio.no}) senest samme dag som innleveringsfristen.

    For {\aa} f{\aa} adgang til avsluttende eksamen i dette emnet, m{\aa} man best{\aa} alle obliga\-toriske oppgaver i ett og samme semester.

    \subsubsection*{For fullstendige retningslinjer for innlevering av obligatoriske oppgaver, se her:}
    \begin{center}
        \href{http://www.uio.no/studier/admin/obligatoriske-aktiviteter/mn-math-oblig.html}
        {\underline{www.uio.no/studier/admin/obligatoriske-aktiviteter/mn-math-oblig.html}}
        \vspace{1ex}        
        \vfill
        LYKKE TIL!
    \end{center}
\end{titlingpage}


\noindent
Hver deloppgave gir maksimalt 10 poeng. I alt kan du oppnå 70 poeng. Vi
krever minimum 70 \% eller 49 poeng for å få obligen godkjent.
%% Korrekt typesetting av prosent: \SI{60}{\percent}

\bigskip

I denne oppgaven skal vi anvende det vi har lært i emnet for å analysere et datasett målt i Hydrodynamisk laboratorium ved Matematisk institutt.

Eksperimentet ble gjort i et rør.  Røret har sirkulært tverrsnitt med radius 5
cm. Målingene ble gjort med “Particle Imaging Velocimetry” (PIV). Dette er en
teknikk som gjør oss i stand til å måle hastighetsfeltet.  Vi måler kun
hastighetskomponentene $u$ i $x$-retning og $v$ i $y$-retning. Det fulle
hastighetsfeltet er $\bm{v} = u\bm{i} + v\bm{j} + w\bm{k}$.  Vi måler altså
ikke hastighetskomponenten $w$ i $z$-retning.

\section*{a)}

Last ned fila
\href{www.uio.no/studier/emner/matnat/math/MEK1100/v19/undervisningsmateriale/data.mat}{data.mat}
og les den inn Matlab/Octave/Python. (Hvordan dette kan gjøres er forklart i
Appendiks \hyperlink{A}{A}).

Fila inneholder fire matriser $X$, $Y$, $U$, $V$ og to vektorer $XIT$,
$YIT$. Matrisene $X$ og $Y$ inneholder $x$- og $y$-koordinatene i
$xy$-planet. Matrisene $U$ og $V$ inneholder $u$- og $v$-komponentene til
hastighetsfeltet. Vektorene $XIT$ og $YIT$ inneholder posisjonen til
skilleflaten mellom gass og væske i $xy$-planet.

\textcircled{} \hspace{2mm} Sjekk at hver matrise har 194 punkter i $x$-retning og 201 punkter i $y$-retning, tilsammen 38994 punkter i $xy$-planet. 

\textcircled{}  \hspace{2mm} Sjekk at de to vektorene har 194 punkter i $x$-retning. (Hvordan man sjekker dette er forklart i Appendiks \hyperlink{B}{B} ). 

\textcircled{} \hspace{2mm} Sjekk at griddet i $xy$-planet er regulært med intervall 0.5 mm i begge retninger. 

\textcircled{}  \hspace{2mm} Sjekk at $y$-koordinatene spenner ut hele diameteren til røret. 

\section*{b)}
%\justify
Vi skal nå se  på strukturen i både gassfasen og væskefasen. Siden lufta har
mye større fart enn vannet er det vanskelig å se strukturen i bare ett plott.

\textcircled{} \hspace{2mm} Lag to konturplott for å illustrere farten $\sqrt{u^2 + v^2}$ for hastighetskomponentene i $xy$-planet og vis fargeskala. 

\textcircled{} \hspace{2mm} Tegn inn posisjonen til skilleflaten i plottet, dette kan gjøres ved å bruke en serie med * i en farge som skiller seg ut fra konturplottet.


\section*{c)}

\hspace{6mm} \textcircled{} \hspace{2mm}  Lag et vektor pilplott med hastigheten i $xy$-planet u\textbf{i} + v\textbf{j}.  Vi ønsker at plottet skal gi nyttig informasjon, og ettersom det opplagt ikke er fornuftig å plotte 38994 piler i samme plott vil det lønne seg å velge kun et utvalg av disse.

\medskip

I denne oppgaven skal vi betrakte tre mindre områder i hastighetsfeltet.  Vi
lager derfor tre rektangler definert ved indeksene til hjørnene
$(ix,iy)$\footnote{Her er indeksene skrevet som en vanlig matematisk tekst, med
  $x$ før $y$.  Hvordan dette skrives på datamaskin er forklart i Appendiks
  \hyperlink{B}{B}}\footnote{Disse indeksverdiene gjelder for
  Matlab/Octave, for Python må de reduseres med én.}:
Rektangel 1 (35, 160) og (70, 170)\\
Rektangel 2 (35, 85) og (70, 100)\\
Rektangel 3 (35, 50) og (70, 60)

\medskip

\textcircled{} \hspace{2mm} Marker rektanglene med linjer i figuren. Bruk forskjellige farger for hver side i rektanglene: rødt nede (side 1), grønt på høyre side (side 2), blått oppe (side 3) og svart på venstre side (side 4).

\textcircled{} \hspace{2mm} Sørg for å tegne inn posisjonen til skilleflaten i samme plott (se punkt b). Pass på at to av rektanglene skal ligge i gassfasen og ett av rektanglene ligge i væskefasen.

\section*{d)}
%\justify
\hspace{6mm}\textcircled{} \hspace{2mm} Regn ut divergensen til $u\bm{i} + v\bm{j}$ og forklar hvorfor dette ikke er lik divergensen til $\bm{v}$. 

\textcircled{} \hspace{2mm} Lag konturplott av divergensen slik at strukturen kommer tydelig fram i både gass- og væskefasen. 

\textcircled{} \hspace{2mm} Tegn inn skilleflaten (se punkt b) og rektanglene (se punkt c) i samme plott.

\textcircled{} \hspace{2mm} Vi kan med god nøyaktighet anta at både gassen og væska er inkompressible fordi strømingen er betydelig langsommere enn lydhastigheten i luft og i vann. 
Forklar hvilken konsekvens dette har for divergensen til $\bm{v}$ og hva vi i så fall kan si om hastighetskomponenten $w$ som vi ikke har målt.

\section*{e)}
\hspace{6mm}\textcircled{} \hspace{2mm} Regn ut den komponenten av virvlinga til $\bm{v}$ som står normalt på $xy$-planet.

\textcircled{} \hspace{2mm} Lag konturplott av denne virvlingskomponenten. 

\textcircled{} \hspace{2mm} Tegn inn skilleflaten (se punkt b) og rektanglene (se punkt c) i samme plott.

\textcircled{} \hspace{2mm} Plot strømlinjer for både gass- og væskefasen og
tegn inn skilleflaten (se punkt b) i samme plott. Beskriv strømningen for både
gassfasen og væskefasen.  Legg spesielt merke til strømningen ved veggen. 


\section*{f)}
 Nå skal vi anvende Stokes eller Greens sats på rektanglene. 

\textcircled{} \hspace{2mm} Regn ut sirkulasjonen direkte som kurveintegral rundt rektanglene. 

\textcircled{} \hspace{2mm} Regn ut sirkulasjonen indirekte som flateintegral over rektanglene.

\textcircled{} \hspace{2mm} Diskuter om du får samme resultat med kurve- og
flateintegral.  Husk at hastighetsfeltet er en måling som kan inneholde feil og at du har begrenset oppløsning i griddet.

\textcircled{} \hspace{2mm}  Diskuter forskjellen mellom de tre rektanglene. 
For å få en bedre forståelse av sirkulasjonen angir du verdien til
kurveintegralene langs hver side av rektanglene.  Passer disse resultatene med hva du hadde forventet når du ser på hastighetsfeltet i området?

\section*{g)}
Nå skal vi anvende Gauss sats på rektanglene. I utgangspunktet skulle man tro
det var problematisk å bruke Gauss sats når vi ikke kjenner
hastighetskomponenten $w$.  Vi kan  imidlertid med god tilnærming  anta at strømningen i dette eksperimentet er inkompressibel fordi hastighetene vi måler er betydelig mindre enn lydhastigheten. Følgelig kan vi forutsette at $\nabla \cdot \bm{v} = 0$ for det fulle hastighetsfeltet $\bm{v} = u\bm{i} + v\bm{j} + w\bm{k}$.

\textcircled{} \hspace{2mm} Regn ut den integrerte fluksen av hastighetsvektoren $u\bm{i} + v\bm{j}$ ut av sidene av rektanglene orientert langs $xy$-planet. Gjør dette direkte som kurveintegral rundt rektanglene.

\textcircled{} \hspace{2mm} Diskuter hvilken implikasjon disse svarene har for den integrerte fluksen over rektanglene orientert i $z$-retning.

\textcircled{} \hspace{2mm} For å få en bedre forståelse av fluksen skal du angi verdien til kurveintegralene langs hver side av rektanglene.
Passer disse resultatene med hva du hadde forventet når du ser på hastighetsfeltet i området?
\newpage

\noindent
{\large\textbf{\hypertarget{A}{A}: Hvordan lese MAT-filer i Matlab, Octave og Python}}

Dataene leses inn i Matlab/Octave med kommandoen \verb+load('data.mat')+. 
Våre variabler er da tilgjenglige som \texttt{x, y, u, v, xit, yit}.

\medskip

Den enkleste måten å lese inn dataene i Python er:
\begin{verbatim}
import scipy.io as sio
# Dette virker med versjon 7 MAT-filer
data = sio.loadmat('data.mat')
x = data.get('x')
y = data.get('y')
u = data.get('u')
v = data.get('v')
xit = data.get('xit')
yit = data.get('yit')
\end{verbatim}

\medskip

Det finnes også andre måter å lese inn dataene i Python, men da gjelder ikke
nødvendigvis følgende kommentarer om indeksering.

\medskip

\noindent
{\large\textbf{\hypertarget{B}{B}: Indeksering av matriser }}

La oss betrakte den vertikale hastighetskomponenten  som er  avhengig av horisontal posisjon $x$ og vertikal posisjon $y$. I vanlig matematisk tekst hadde vi skrevet $v(x, y)$ for å angi verdien til $v$ for en gitt posisjon $(x, y)$.

Vi ønsker å implementere dette på datamaskinen slik at \texttt{v} er en matrise som inneholder diskrete verdier til $v$ i et rutenett med \texttt{nx} punkter i $x$-retning og \texttt{ny} punkter i $y$-retning. La \texttt{ix} være en indeks som løper over de \texttt{nx} punktene i $x$-retning, og la \texttt{iy} være en indeks som løper over de \texttt{ny} punktene i $y$-retning.

For å finne ut hvor stor matrisen \texttt{v} er kan vi bruke Matlab/Octave-kommandoen \texttt{size} eller Python-kommandoen \texttt{shape}. Det viser seg i så fall at Matlab/Octave, og Python med \texttt{scipy.io}-måten, vil gi \texttt{ny}-verdien først, og deretter \texttt{nx}-verdien.

For å indeksere matrisen \texttt{v} skriver vi i Matlab/Octave
\texttt{v(iy,ix)}, og i Python med \texttt{scipy.io}-måten \texttt{v[iy,ix]}. 

\bigskip

\noindent
{\large\textbf{\hypertarget{C}{C}: {Noen funksjoner for Python (P) og
      MATLAB (M):}}}

\href{https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.contourf.html}{\fontfamily{qcr}\selectfont contourf (P)}, \href{https://uk.mathworks.com/help/matlab/ref/contourf.html?s_tid=gn_loc_drop}{contourf (M)} --- tegner konturlinjene og fyller ut med farger mellom konturlinjene

\href{https://matplotlib.org/api/colorbar_api.html}{\fontfamily{qcr}\selectfont colorbar (P)}, \href{https://uk.mathworks.com/help/matlab/ref/colorbar.html}{colorbar (M)} - viser hvilke verdier som svarer til hver farge

\href{https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.quiver.html}{\fontfamily{qcr}\selectfont
  quiver (P)},
\href{https://uk.mathworks.com/help/matlab/ref/quiver.html}{quiver (M)} -
lager vektor pilplot

\href{https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.streamplot.html}{\fontfamily{qcr}\selectfont
  streamplot (P)}, \href{https://uk.mathworks.com/help/matlab/ref/streamline.html}{streamline (M)} - kan brukes for å tegne strømlinjer til et vektorfelt

\end{document}

\section*{Fasit}
Her er tilnærmet resultatene av integrasjonene for de tre rektanglene, fra øverst til nederst:
\newline

Sirkulasjon ved direkte utregning som kurveintegral:

2.6955e+03, -6.0977e+04, 9.5210
\newline

Flateintegral av virvlingens z-komponent:

2.6216e+03, -6.1483e+04, -12.2143
\newline

Plan fluks ut av de fire sidene i rektanglene:

104.8526, -6.4769e+03, -124.5687
\newline

Disse tallene er framkommet ved å benytte den aller enkleste integrasjonsmetoden, nemlig at funksjonsverdien i hvert kurveelement med lengde $\Delta x$ eller
$\Delta y$, og i hvert flateelement med areal $\Delta x \Delta y$, er konstant lik den verdien vi har i grid-punktet.
\newline

\Large{Andre integrasjonsmetoder, f.eks. trapes-metoden, vil gi andre svar!}

\end{document}



\end{document}