@@ -8,6 +8,7 @@
\usepackage{listings}
\bibliographystyle{plain}
\usepackage{xcolor}
\usepackage{float}

\definecolor{background}{gray}{0.95}
\definecolor{comment}{rgb}{0,0.5,0}
@@ -49,19 +50,31 @@


\section*{Oppgave 1}
[ta med faseroms plott.]
\\
Kan man bruke forskjellige initialbetingelser for å generere en bane som ikke er eliptisk, bruk totalenergien for å begrunne.
\\
Hvorfor står banen i faserommet vinkelrett på x og y aksen?
\\
Beverger plotet seg med eller mot klokka? Plott litt mindre enn en runde og se. Kan den gå motsatt retning?
\\



Se plot for plot, kode for kode.
\\
\\
\begin{figure}
\includegraphics[scale=1]{Oppgave1.png}
\begin{figure}[H]
\includegraphics[scale=0.8]{Oppgave1.png}
\end{figure}
\\


Energien for en fjerpendel

Totalenergien viser et eller annet, FINN UT AV HVA TOTALENERGIEN ER. Siden det ikke er noen form for friksjon så vil energien bare veksle mellom potensiell og kinetisk. + mer forklaring
\\
\\
\\
Hvorfor står banen i faserommet vinkelrett på x og y aksen?
\\
\\
\\
@@ -71,30 +84,116 @@ \section*{Oppgave 1}


\section*{Oppgave 2}
Diskuter banen i faserommet.
\\
Står banen fortsatt loddrett på begge aksene. Nei, men står den vinkelrett, det kan du finne ut av.
\\
Hva er en attraktor?
\\
En attraktor er et set med numeriske verdier som et dynamisk system har en tendens til å utvikle seg mot for et bredt utvalg av initialbetingelser. En attraktor kan være et punkt(1 dim), et set met punkter(Jeg syntes 1 dim også), en kurve(2 dim), og flere ting innenfor matematikk. Punktet $x=0m$ og $\dot{x}=0m/s$ er en attraktor av dimensjon 1, fordi det er et singulært punkt. Kurven i oppgave 1 er også en attraktor i følge definisjonen tror jeg, siden systemet alltid havner i den kurven uansett initialbetingelser. På den andre siden så kan det argumenteres for at det ikke er en attraktor fordi systemet faktisk ikke kan gjøre noe annet, og dermed ikke kan ha en tendens til å ende langs kurven. Altså siden den ikke begynner utenfor kurven og så går inn og blir der så er det ikke en attraktor. FINN UT AV DET.



\begin{figure}
\includegraphics[scale=1]{Oppgave2.png}
\begin{figure}[H]
\includegraphics[scale=0.8]{Oppgave2.png}
\end{figure}


\section*{Oppgave 3}

Løs difflikningen analytisk, det betyr en del equations.
\\
Hvordan kan vi tolke en slik løsning?
\\

\section*{Oppgave 4}

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sed massa urna. Fusce placerat, nulla id aliquam varius, nulla risus commodo metus, in fringilla velit massa eu odio. Aliquam vitae eros at orci volutpat pulvinar eu a sapien. Proin ullamcorper tincidunt orci vel vehicula. Vestibulum venenatis eget magna at pharetra. Aenean ut rutrum urna. Aliquam venenatis leo viverra, fermentum massa vel, maximus lectus. Pellentesque pulvinar sodales massa non venenatis. Praesent lobortis consequat erat ut semper. Nulla tincidunt ac enim sed imperdiet. Nulla maximus dui eget eros laoreet, vitae eleifend magna vulputate. Sed ut molestie neque. Sed sagittis sagittis metus. Fusce placerat enim ut augue ornare mattis.
\\
mer ting
\begin{figure}[H]
\includegraphics[scale=0.8]{Oppgave4del1.png}
\end{figure}

ting
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sed massa urna. Fusce placerat, nulla id aliquam varius, nulla risus commodo metus, in fringilla velit massa eu odio. Aliquam vitae eros at orci volutpat pulvinar eu a sapien. Proin ullamcorper tincidunt orci vel vehicula. Vestibulum venenatis eget magna at pharetra. Aenean ut rutrum urna. Aliquam venenatis leo viverra, fermentum massa vel, maximus lectus. Pellentesque pulvinar sodales massa non venenatis. Praesent lobortis consequat erat ut semper. Nulla tincidunt ac enim sed imperdiet. Nulla maximus dui eget eros laoreet, vitae eleifend magna vulputate. Sed ut molestie neque. Sed sagittis sagittis metus. Fusce placerat enim ut augue ornare mattis.
\\

\begin{figure}[H]
\includegraphics[scale=0.8]{Oppgave4del2.png}
\end{figure}


Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sed massa urna. Fusce placerat, nulla id aliquam varius, nulla risus commodo metus, in fringilla velit massa eu odio. Aliquam vitae eros at orci volutpat pulvinar eu a sapien. Proin ullamcorper tincidunt orci vel vehicula. Vestibulum venenatis eget magna at pharetra. Aenean ut rutrum urna. Aliquam venenatis leo viverra, fermentum massa vel, maximus lectus. Pellentesque pulvinar sodales massa non venenatis. Praesent lobortis consequat erat ut semper. Nulla tincidunt ac enim sed imperdiet. Nulla maximus dui eget eros laoreet, vitae eleifend magna vulputate. Sed ut molestie neque. Sed sagittis sagittis metus. Fusce placerat enim ut augue ornare mattis.
\\


\section*{Oppgave 5}

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sed massa urna. Fusce placerat, nulla id aliquam varius, nulla risus commodo metus, in fringilla velit massa eu odio. Aliquam vitae eros at orci volutpat pulvinar eu a sapien. Proin ullamcorper tincidunt orci vel vehicula. Vestibulum venenatis eget magna at pharetra. Aenean ut rutrum urna. Aliquam venenatis leo viverra, fermentum massa vel, maximus lectus. Pellentesque pulvinar sodales massa non venenatis. Praesent lobortis consequat erat ut semper. Nulla tincidunt ac enim sed imperdiet. Nulla maximus dui eget eros laoreet, vitae eleifend magna vulputate. Sed ut molestie neque. Sed sagittis sagittis metus. Fusce placerat enim ut augue ornare mattis.
\\
\\
mer ting
\begin{figure}[H]
\includegraphics[scale=0.8]{Oppgave5del1.png}
\end{figure}


Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sed massa urna. Fusce placerat, nulla id aliquam varius, nulla risus commodo metus, in fringilla velit massa eu odio. Aliquam vitae eros at orci volutpat pulvinar eu a sapien. Proin ullamcorper tincidunt orci vel vehicula. Vestibulum venenatis eget magna at pharetra. Aenean ut rutrum urna. Aliquam venenatis leo viverra, fermentum massa vel, maximus lectus. Pellentesque pulvinar sodales massa non venenatis. Praesent lobortis consequat erat ut semper. Nulla tincidunt ac enim sed imperdiet. Nulla maximus dui eget eros laoreet, vitae eleifend magna vulputate. Sed ut molestie neque. Sed sagittis sagittis metus. Fusce placerat enim ut augue ornare mattis.
\\
ting


\begin{figure}[H]
\includegraphics[scale=0.8]{Oppgave5del2.png}
\end{figure}

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sed massa urna. Fusce placerat, nulla id aliquam varius, nulla risus commodo metus, in fringilla velit massa eu odio. Aliquam vitae eros at orci volutpat pulvinar eu a sapien. Proin ullamcorper tincidunt orci vel vehicula. Vestibulum venenatis eget magna at pharetra. Aenean ut rutrum urna. Aliquam venenatis leo viverra, fermentum massa vel, maximus lectus. Pellentesque pulvinar sodales massa non venenatis. Praesent lobortis consequat erat ut semper. Nulla tincidunt ac enim sed imperdiet. Nulla maximus dui eget eros laoreet, vitae eleifend magna vulputate. Sed ut molestie neque. Sed sagittis sagittis metus. Fusce placerat enim ut augue ornare mattis.
\\
\\

\section*{Oppgave 6}

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sed massa urna. Fusce placerat, nulla id aliquam varius, nulla risus commodo metus, in fringilla velit massa eu odio. Aliquam vitae eros at orci volutpat pulvinar eu a sapien. Proin ullamcorper tincidunt orci vel vehicula. Vestibulum venenatis eget magna at pharetra. Aenean ut rutrum urna. Aliquam venenatis leo viverra, fermentum massa vel, maximus lectus. Pellentesque pulvinar sodales massa non venenatis. Praesent lobortis consequat erat ut semper. Nulla tincidunt ac enim sed imperdiet. Nulla maximus dui eget eros laoreet, vitae eleifend magna vulputate. Sed ut molestie neque. Sed sagittis sagittis metus. Fusce placerat enim ut augue ornare mattis.
\\
\\

\section*{Oppgave 7}

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sed massa urna. Fusce placerat, nulla id aliquam varius, nulla risus commodo metus, in fringilla velit massa eu odio. Aliquam vitae eros at orci volutpat pulvinar eu a sapien. Proin ullamcorper tincidunt orci vel vehicula. Vestibulum venenatis eget magna at pharetra. Aenean ut rutrum urna. Aliquam venenatis leo viverra, fermentum massa vel, maximus lectus. Pellentesque pulvinar sodales massa non venenatis. Praesent lobortis consequat erat ut semper. Nulla tincidunt ac enim sed imperdiet. Nulla maximus dui eget eros laoreet, vitae eleifend magna vulputate. Sed ut molestie neque. Sed sagittis sagittis metus. Fusce placerat enim ut augue ornare mattis.
\\
\\

\section*{Oppgave 8}

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sed massa urna. Fusce placerat, nulla id aliquam varius, nulla risus commodo metus, in fringilla velit massa eu odio. Aliquam vitae eros at orci volutpat pulvinar eu a sapien. Proin ullamcorper tincidunt orci vel vehicula. Vestibulum venenatis eget magna at pharetra. Aenean ut rutrum urna. Aliquam venenatis leo viverra, fermentum massa vel, maximus lectus. Pellentesque pulvinar sodales massa non venenatis. Praesent lobortis consequat erat ut semper. Nulla tincidunt ac enim sed imperdiet. Nulla maximus dui eget eros laoreet, vitae eleifend magna vulputate. Sed ut molestie neque. Sed sagittis sagittis metus. Fusce placerat enim ut augue ornare mattis.
\\
\\

\section*{Oppgave 9}

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sed massa urna. Fusce placerat, nulla id aliquam varius, nulla risus commodo metus, in fringilla velit massa eu odio. Aliquam vitae eros at orci volutpat pulvinar eu a sapien. Proin ullamcorper tincidunt orci vel vehicula. Vestibulum venenatis eget magna at pharetra. Aenean ut rutrum urna. Aliquam venenatis leo viverra, fermentum massa vel, maximus lectus. Pellentesque pulvinar sodales massa non venenatis. Praesent lobortis consequat erat ut semper. Nulla tincidunt ac enim sed imperdiet. Nulla maximus dui eget eros laoreet, vitae eleifend magna vulputate. Sed ut molestie neque. Sed sagittis sagittis metus. Fusce placerat enim ut augue ornare mattis.
\\
\\


\section*{Appendix}

\lstinputlisting{RK4.py}

\lstinputlisting{oppgave1.py}

\lstinputlisting{oppgave2.py}

\lstinputlisting{oppgave4.py}

\lstinputlisting{oppgave5.py}

\lstinputlisting{oppgave6.py}

%\lstinputlisting{oppgave7.py}

%\lstinputlisting{oppgave8.py}


\end{document}
@@ -5,9 +5,8 @@
import seaborn



#declare constants
dt = 10.**-2 #some shit timestep [s]
dt = 10.**-2 #some timestep [s]
m = 0.500 #mass of 500 g [kg]
k = 1. #stiffness constant [N/m]
x0 = 1. #start position [m]
@@ -24,27 +23,27 @@
mx''(t) + kx(t) = 0
x''(t) = kx(t)/m
"""
#making functions for this bitch
#making functions

def diffEQ(xNow,vNow,tNow):
aNow = -k*xNow/m
return aNow

#running the loop for shit
#running the loop
for i in range(N-1):
x1 = x[i]; v1 =v[i]
x[i+1],v[i+1] = RK4(diffEQ,x1,v1,t,dt)
t[i+1] = t[i] + dt



#plotting shit
#plotting

"""
#plotting the motion in x against time
plt.plot(t,x)
plt.xlabel("time")
plt.ylabel("utslag, whatever that is in english")
plt.ylabel("motion")
plt.show()
"""

@@ -54,7 +53,7 @@ def diffEQ(xNow,vNow,tNow):
plt.xlabel("Motion in x [m]", fontsize=14)
plt.ylabel("Velocity [m/s]", fontsize=14)
plt.tick_params(axis = 'both', which = 'major', labelsize = 12)
plt.savefig('Oppgave1.png')
#plt.savefig('Oppgave1.png')
plt.show()


@@ -7,7 +7,7 @@


#declare constants
dt = 10.**-2 #some shit timestep [s]
dt = 10.**-2 #some timestep [s]
m = 0.500 #mass of 500 g [kg]
k = 1. #stiffness constant [N/m]
x0 = 1. #start position [m]
@@ -26,21 +26,21 @@
mx''(t) +bx'(t) + kx(t) = 0
x''(t) = -bx'(t)/m -kx(t)/m
"""
#making functions for this bitch
#making functions

def diffEQ(xNow,vNow,tNow):
aNow = -b*vNow/m-k*xNow/m
return aNow

#running the loop for shit
#running the loop
for i in range(N-1):
x1 = x[i]; v1 =v[i]
x[i+1],v[i+1] = RK4(diffEQ,x1,v1,t,dt)
t[i+1] = t[i] + dt



#plotting shit
#plotting

#plotting the motion in x against time
plt.plot(t,x, '#803CA2', linewidth=2.0)
@@ -56,7 +56,7 @@ def diffEQ(xNow,vNow,tNow):
plt.xlabel("Motion in x [m]", fontsize=14)
plt.ylabel("Velocity [m/s]", fontsize=14)
plt.tick_params(axis = 'both', which = 'major', labelsize = 12)
plt.savefig('Oppgave2.png')
#plt.savefig('Oppgave2.png')
plt.show()


@@ -7,7 +7,7 @@


#declare constants
dt = 10.**-2 #some shit timestep [s]
dt = 10.**-2 #some timestep [s]
m = 0.500 #mass of 500 g [kg]
k = 1. #stiffness constant [N/m]
x0 = 2. #start position [m]
@@ -33,22 +33,21 @@
mx''(t) + kx(t) = F(t)
x''(t) = F(t)/m -kx(t)/m
"""
#making functions for this bitch
#making functions

def diffEQ(xNow,vNow,tNow):
aNow = F[i]/m-omega0*xNow
aNow = (F[i]-k*xNow)/m
return aNow

#running the loop for shit
#running the loop
for i in range(N-1):
x1 = x[i]; v1 =v[i]
F[i] = F_D *np.cos(omega_D*t[i])
x[i+1],v[i+1] = RK4(diffEQ,x1,v1,t,dt)
t[i+1] = t[i] + dt



#plotting shit
#plotting

#plotting the motion in x against time
plt.plot(t,x, '#803CA2', linewidth=2.0)
@@ -64,7 +63,7 @@ def diffEQ(xNow,vNow,tNow):
plt.xlabel("Motion in x [m]", fontsize=14)
plt.ylabel("Velocity [m/s]", fontsize=14)
plt.tick_params(axis = 'both', which = 'major', labelsize = 12)
plt.savefig('Oppgave4del1.png')
#plt.savefig('Oppgave4del1.png')
plt.show()


@@ -0,0 +1,69 @@
#imports
import numpy as np
import matplotlib.pyplot as plt
from RK4 import RK4
import seaborn


#declare constants
dt = 10.**-2 #some timestep [s]
m = 0.500 #mass of 500 g [kg]
k = 1. #stiffness constant [N/m]
x0 = 2. #start position [m]
v0 = 0. #start velocity [m/s]
T = 100. #total time [s]
N = int(T/dt) #number of things
b = 0.1 #[kg/s]
omega0 = k/m #Svingefrekvens for HO
F_D = 0.7 #[N]
omega_D = 13./(8*omega0)
#omega_D = 2./((np.sqrt(5)-1)*omega0)


#setting initialconditions
x = np.zeros(N); v = np.zeros(N); t = np.zeros(N)
x[0] = x0; v[0] = v0
F = np.zeros(N)
F[0] = F_D



"""
the function we have is
mx''(t) +bx'(t) + kx(t) = F(t)
x''(t) = (F(t) -bx'(t) -kx(t))/m
"""
#making functions

def diffEQ(xNow,vNow,tNow):
aNow = (F[i]-b*vNow-k*xNow)/m
return aNow

#running the loop
for i in range(N-1):
x1 = x[i]; v1 =v[i]
F[i] = F_D *np.cos(omega_D*t[i])
x[i+1],v[i+1] = RK4(diffEQ,x1,v1,t,dt)
t[i+1] = t[i] + dt


#plotting

#plotting the motion in x against time
plt.plot(t,x, '#803CA2', linewidth=2.0)
plt.title('Plot av utslag', fontsize=20)
plt.xlabel("Time [s]", fontsize=14)
plt.ylabel("Motion in x [m]", fontsize=14)
plt.tick_params(axis = 'both', which = 'major', labelsize = 12)
plt.show()

#plotting the phaseplot
plt.plot(x,v, '#803CA2', linewidth=2.0)
plt.title('Plot i faserommet, $\omega_D = 13/(8\omega_0)$', fontsize=20)
plt.xlabel("Motion in x [m]", fontsize=14)
plt.ylabel("Velocity [m/s]", fontsize=14)
plt.tick_params(axis = 'both', which = 'major', labelsize = 12)
#plt.savefig('Oppgave5del1.png')
plt.show()


@@ -0,0 +1,74 @@
#imports
import numpy as np
import matplotlib.pyplot as plt
from RK4 import RK4
import seaborn


#declare constants
dt = 10.**-4 #some timestep [s]
m0 = 0.00001 #mass of waterdrop [kg]
k = 0.475 #stiffness constant [N/m]
x0 = 0.001 #start position [m]
v0 = 0.001 #start velocity [m/s]
T = 3. #total time [s]
N = int(T/dt) #number of things
b = 0.001 #[kg/s]
#omega0 = k/m #Svingefrekvens for HO
#F_D = 0.7 #[N]
#omega_D = 13./(8*omega0)
#omega_D = 2./((np.sqrt(5)-1)*omega0)
g = 9.81 #gravitational acceleration [m/s^2]
psi = 0.00055 #m'(t) [kg/s]
dpsi =3*psi/N

#setting initialconditions
x = np.zeros(N); v = np.zeros(N); t = np.zeros(N)
x[0] = x0; v[0] = v0
m = np.zeros(N)
m[0] = m0

#F = np.zeros(N)
#F[0] = F_D



"""
the functions we have are
m(t)x''(t)+(b+psi)x'(t)+kx(t)=m(t)g
x''(t) = (m(t)g - (b+psi)x'(t) - kx(t))/m(t)
"""
#making functions

def diffEQ(xNow,vNow,tNow):
aNow = (m[i]*g-(b+psi)*vNow-k*xNow)/m[i]
return aNow

#running the loop
for i in range(N-1):
x1 = x[i]; v1 =v[i]
x[i+1],v[i+1] = RK4(diffEQ,x1,v1,t,dt)
t[i+1] = t[i] + dt
m[i+1] = m[i] + dpsi


#plotting

#plotting the motion in x against time
plt.plot(t,x, '#803CA2', linewidth=2.0)
plt.title('Plot av utslag', fontsize=20)
plt.xlabel("Time [s]", fontsize=14)
plt.ylabel("Motion in x [m]", fontsize=14)
plt.tick_params(axis = 'both', which = 'major', labelsize = 12)
plt.show()

#plotting the phaseplot
plt.plot(x,v, '#803CA2', linewidth=2.0)
plt.title('Plot i faserommet', fontsize=20)
plt.xlabel("Motion in x [m]", fontsize=14)
plt.ylabel("Velocity [m/s]", fontsize=14)
plt.tick_params(axis = 'both', which = 'major', labelsize = 12)
#plt.savefig('Oppgave5del1.png')
plt.show()