diff --git a/HW4/README.md b/HW4/README.md
index 7f04a9a..4a06ed0 100644
--- a/HW4/README.md
+++ b/HW4/README.md
@@ -1,4 +1,4 @@
-# Homework #3
+# Homework #4
## due 3/1/17 by 11:59pm
diff --git a/lecture_13/octave-workspace b/lecture_13/octave-workspace
index be23e10..8c437bb 100644
Binary files a/lecture_13/octave-workspace and b/lecture_13/octave-workspace differ
diff --git a/lecture_15/.ipynb_checkpoints/lecture_15-checkpoint.ipynb b/lecture_15/.ipynb_checkpoints/lecture_15-checkpoint.ipynb
new file mode 100644
index 0000000..2fd6442
--- /dev/null
+++ b/lecture_15/.ipynb_checkpoints/lecture_15-checkpoint.ipynb
@@ -0,0 +1,6 @@
+{
+ "cells": [],
+ "metadata": {},
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/lecture_15/animate_eig.m b/lecture_15/animate_eig.m
new file mode 100644
index 0000000..a4721a5
--- /dev/null
+++ b/lecture_15/animate_eig.m
@@ -0,0 +1,56 @@
+function [v,e]=animate_eig(k,m)
+ % create a series of png's for use in an animation based on
+ % spring constants [k1,k2,k3]=k
+ % and
+ % masses
+ % [m1,m2]=m
+
+ % check inputs for m and k
+ if length(m)==1
+ m1=m;
+ m2=m;
+ else
+ m1=m(1);
+ m2=m(2);
+ end
+ if length(k)==1
+ k1=k; k2=k; k3=k;
+ else
+ k1=k(1);
+ k2=k(2);
+ k3=k(3);
+ end
+ setdefaults
+ K=[k1/m1+k2/m1,-k2/m1;-k3/m2,k2/m2+k3/m2];
+ [v,e]=eig(K);
+ w1=e(1,1); w2=e(2,2);
+ scale = 0.5; % the magnitude of oscillations is not important for vibrational modes
+ % just set scale to 1/2 for nice plots
+ % the eigenvector magnitude is independent of the solution
+ X11=v(1,1)*scale; X12=v(2,1)*scale;
+ X21=v(1,2)*scale; X22=v(2,2)*scale;
+ f11=@(t) X11*sin(w1*t); f12=@(t) X12*sin(w1*t);
+ f21=@(t) X21*sin(w2*t); f22=@(t) X22*sin(w2*t);
+ f=figure();
+ time=linspace(-1,4);
+ % create a loop to plot the position over time where mass 1 and 2 start at x=1 and x=2 m
+ % then for the next vibrational mode, mass 1 and 2 start at x=3 and x=4 m
+
+ for i=1:length(time)
+ t=time(i);
+ plot(f11(t)+1,0,'rs',f11(time+t)+1,-time,...
+ f12(t)+2,0,'rs',f12(time+t)+2,-time,...
+ f21(t)+3,0,'bo',f21(time+t)+3,-time,...
+ f22(t)+4,0,'bo',f22(time+t)+4,-time)
+ axis([0 6 -4 1])
+ title('Vibration Modes')
+ xlabel('position (m)')
+ ylabel('time (s)')
+ filename=sprintf('output/%05d.png',i);
+ % another option for saving a plot to a png is the 'print' command
+ print(filename)
+ end
+ % this is a system command to use ImageMagick's cli 'convert' to create an animated gif
+ % if you don't have ImageMagick installed, comment this next line
+ system ("convert -delay 10 -loop 0 output/*png eigenvalues.gif")
+end
diff --git a/lecture_15/eig_200_100_40_20.gif b/lecture_15/eig_200_100_40_20.gif
new file mode 100644
index 0000000..1b583a7
Binary files /dev/null and b/lecture_15/eig_200_100_40_20.gif differ
diff --git a/lecture_15/eig_200_100_40_50.gif b/lecture_15/eig_200_100_40_50.gif
new file mode 100644
index 0000000..ba05f59
Binary files /dev/null and b/lecture_15/eig_200_100_40_50.gif differ
diff --git a/lecture_15/eig_200_40.gif b/lecture_15/eig_200_40.gif
new file mode 100644
index 0000000..f29f27e
Binary files /dev/null and b/lecture_15/eig_200_40.gif differ
diff --git a/lecture_15/lecture_15.ipynb b/lecture_15/lecture_15.ipynb
new file mode 100644
index 0000000..2541de3
--- /dev/null
+++ b/lecture_15/lecture_15.ipynb
@@ -0,0 +1,597 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 40,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": [
+ "%plot --format svg"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 41,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": [
+ "setdefaults"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Final Project\n",
+ "\n",
+ "1. Will be a team project (select team of 2-3 students)\n",
+ "\n",
+ "2. You will create a repository and each of you will contribute code and documentation\n",
+ "\n",
+ "3. If you have an idea feel free to suggest it, otherwise I will come up with a project, possible topics include:\n",
+ "\n",
+ " a. Conduction of heat through simple geometry\n",
+ " \n",
+ " b. Plate or beam mechanics (1-D and 2-D geometries)\n",
+ " \n",
+ " c. \n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Eigenvalues\n",
+ "\n",
+ "Eigenvalues and eigen vectors are the solution to the set of equations where\n",
+ "\n",
+ "$Ax=\\lambda x$\n",
+ "\n",
+ "or \n",
+ "\n",
+ "$A-I \\lambda=0$\n",
+ "\n",
+ "Where A is the description of the system and I is the identity matrix with the same dimensions as A and $\\lambda$ is an eigenvalue of A. \n",
+ "\n",
+ "These problems are seen in a number of engineering practices:\n",
+ "\n",
+ "1. Determining vibrational modes in structural devices\n",
+ "\n",
+ "2. Material science - vibrational modes of crystal lattices (phonons)\n",
+ "\n",
+ "3. [Google searches - http://www.rose-hulman.edu/~bryan/googleFinalVersionFixed.pdf](http://www.rose-hulman.edu/~bryan/googleFinalVersionFixed.pdf)\n",
+ "\n",
+ "4. Quantum mechanics - many solutions are eigenvalue problems\n",
+ "\n",
+ "5. Solid mechanics, principle stresses and principle stress directions are eigenvalues and eigenvectors\n",
+ "\n",
+ "One way of determining the eigenvalues is taking the determinant:\n",
+ "\n",
+ "$|A-\\lambda I|=0$\n",
+ "\n",
+ "This will result in an $n^{th}$-order polynomial where A is $n \\times n$."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Take, A\n",
+ "\n",
+ "$A=\\left[\\begin{array}{ccc}\n",
+ "2 & 1 & 0 \\\\\n",
+ "1 & 3 & 1 \\\\\n",
+ "0 & 1 & 4 \\end{array}\\right]$\n",
+ "\n",
+ "$|A-\\lambda I| = \\left|\\begin{array}{ccc}\n",
+ "2-\\lambda & 1 & 0 \\\\\n",
+ "1 & 3-\\lambda & 1 \\\\\n",
+ "0 & 1 & 4-\\lambda \\end{array}\\right|=0$"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "$(2-\\lambda)(3-\\lambda)(4-\\lambda)-(4-\\lambda)-(2-\\lambda)=0$\n",
+ "\n",
+ "$-\\lambda^{3}+9\\lambda^{2}-24\\lambda+18 =0$\n",
+ "\n",
+ "$\\lambda = 3,~\\sqrt{3}+3,-\\sqrt{3}+3$\n",
+ "\n",
+ "in Matlab/Octave:\n",
+ "\n",
+ "```matlab\n",
+ "A=[2,1,0;1,3,1;0,1,4];\n",
+ "pA=poly(A);\n",
+ "lambda = roots(pA)\n",
+ "```\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "lambda =\n",
+ "\n",
+ " 4.7321\n",
+ " 3.0000\n",
+ " 1.2679\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "A=[2,1,0;1,3,1;0,1,4];\n",
+ "pA=poly(A); % characteristic polynomial of A, e.g. l^3-9*l^2+24*l-18=0\n",
+ "lambda = roots(pA)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Applications of Eigenvalue analysis\n",
+ "\n",
+ "Consider the 2-mass, 3-spring system shown below\n",
+ "\n",
+ "\n",
+ "\n",
+ "It might not be immediately obvious, but there are two resonant frequencies for these masses connected in series. \n",
+ "\n",
+ "Take the two FBD solutions:\n",
+ "\n",
+ "$m_{1}\\frac{d^{2}x_{1}}{dt^{2}}=-kx_{1}+k(x_{2}-x_{1})$\n",
+ "\n",
+ "$m_{2}\\frac{d^{2}x_{2}}{dt^{2}}=-k(x_{2}-x_{1})-kx_{2}$\n",
+ "\n",
+ "we know that $x_{i}(t)\\propto sin(\\omega t)$ so we can substitute\n",
+ "\n",
+ "$x_{i}=X_{i}sin(\\omega t)$\n",
+ "\n",
+ "$-m_{1}X_{1}\\omega^{2}sin(\\omega t) = -kX_{1}sin(\\omega t) +k(X_{2}-X_{1})sin(\\omega t)$\n",
+ "\n",
+ "$-m_{2}X_{2}\\omega^{2}sin(\\omega t) = -kX_{2}sin(\\omega t) - k(X_{2}-X_{1})sin(\\omega t)$\n",
+ "\n",
+ "where $X_{1}$ and $X_{2}$ are the amplitude of oscillations and $\\omega$ is the frequency of oscillations. "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "now, \n",
+ "\n",
+ "$\\left(\\frac{2k}{m_{1}}-\\omega^{2}\\right)X_{1}-\\frac{k}{m_{1}}X_{2} = 0$\n",
+ "\n",
+ "\n",
+ "$-\\frac{k}{m_{2}}X_{1}+\\left(\\frac{2k}{m_{2}}-\\omega^{2}\\right)X_{2} = 0$\n",
+ "\n",
+ "or\n",
+ "\n",
+ "$|K-\\lambda I| = \\left|\\begin{array}{cc}\n",
+ "\\left(\\frac{2k}{m_{1}}-\\omega^{2}\\right) & -\\frac{k}{m_{1}}X_{2} \\\\\n",
+ "-\\frac{k}{m_{2}}X_{1} & \\left(\\frac{2k}{m_{2}}-\\omega^{2}\\right)\n",
+ "\\end{array}\\right|=0$\n",
+ "\n",
+ "where $\\lambda = \\omega^{2}$\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 34,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "K =\n",
+ "\n",
+ " 10 -5\n",
+ " -5 10\n",
+ "\n",
+ "v =\n",
+ "\n",
+ " -0.70711 -0.70711\n",
+ " -0.70711 0.70711\n",
+ "\n",
+ "e =\n",
+ "\n",
+ "Diagonal Matrix\n",
+ "\n",
+ " 5 0\n",
+ " 0 15\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "m=40; % mass in kg\n",
+ "k=200; % spring constant in N/m\n",
+ "\n",
+ "K=[2*k/m,-k/m;-k/m,2*k/m]\n",
+ "\n",
+ "[v,e]=eig(K)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 35,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "ans =\n",
+ "\n",
+ " -10.607\n",
+ " 10.607\n",
+ "\n",
+ "ans =\n",
+ "\n",
+ " -10.607\n",
+ " 10.607\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "K*v(:,2)\n",
+ "e(2,2)*v(:,2)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "v =\n",
+ "\n",
+ " 0.78868 -0.57735 0.21132\n",
+ " -0.57735 -0.57735 0.57735\n",
+ " 0.21132 0.57735 0.78868\n",
+ "\n",
+ "e =\n",
+ "\n",
+ "Diagonal Matrix\n",
+ "\n",
+ " 1.2679 0 0\n",
+ " 0 3.0000 0\n",
+ " 0 0 4.7321\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "[v,e]=eig(A)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 32,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "ans =\n",
+ "\n",
+ " 1.00000\n",
+ " -0.73205\n",
+ " 0.26795\n",
+ "\n",
+ "ans =\n",
+ "\n",
+ " 1.00000\n",
+ " -0.73205\n",
+ " 0.26795\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "A*v(:,1)\n",
+ "e(1,1)*v(:,1)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### $m_{1}=m_{2}=$40 kg and $k_{1}=k_{2}=k_{3}=$200 N/m\n",
+ "\n",
+ "\n",
+ "### $m_{1}=$40 kg, $m_{2}=$50 kg, $k_{1}=$200 N/m, and $k_{2}=k_{3}=$100 N/m\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Solid Mechanics\n",
+ "\n",
+ "Many times you want to know the \"principle\" components of stress or strain. \n",
+ "\n",
+ "stress and strain are second order tensors:\n",
+ "\n",
+ "$\\sigma_{ij} =\\frac{F_{i}}{A_{j}}$ (engineering stress)\n",
+ "\n",
+ "$\\epsilon_{ij}=\\frac{\\Delta l_{i}}{l_{j}}$ (engineering strain)\n",
+ "\n",
+ "Imagine you can apply a force in two directions normal to each other, could you create a shear stress? \n",
+ "\n",
+ "\n",
+ "\n",
+ "Let's try to create the stress state of 10 MPa shear stress with two normal stresses. \n",
+ "\n",
+ "that means, $\\sigma_{12}=\\sigma_{21}=$10 MPa, and $\\sigma_{11}=\\sigma_{22}=\\sigma_{33}=\\sigma_{23}=\\sigma_{13}=0$ MPa\n",
+ "\n",
+ "in matrix form:\n",
+ "\n",
+ "$[\\sigma]=\\left[\\begin{array}{ccc}\n",
+ "0 & 10 & 0 \\\\\n",
+ "10 & 0 & 0 \\\\\n",
+ "0 & 0 & 0 \\end{array} \\right]$ MPa"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 55,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "v =\n",
+ "\n",
+ " -0.70711 0.00000 0.70711\n",
+ " 0.70711 0.00000 0.70711\n",
+ " 0.00000 1.00000 0.00000\n",
+ "\n",
+ "e =\n",
+ "\n",
+ "Diagonal Matrix\n",
+ "\n",
+ " -10 0 0\n",
+ " 0 0 0\n",
+ " 0 0 10\n",
+ "\n",
+ "v1 =\n",
+ "\n",
+ " 7.07107\n",
+ " -7.07107\n",
+ " 0.00000\n",
+ "\n",
+ "v2 =\n",
+ "\n",
+ " 7.07107\n",
+ " 7.07107\n",
+ " 0.00000\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "s=[0,10,0;10,0,0;0,0,0];\n",
+ "[v,e]=eig(s)\n",
+ "v1=s*v(:,1)\n",
+ "v2=s*v(:,3)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 57,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/svg+xml": [
+ ""
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "v1=s*v(:,1);\n",
+ "v2=s*v(:,3);\n",
+ "%quiver([0,0],[0,0],v(1,[1,3]),v(2,[1,3]))\n",
+ "quiver([0,0],[0,0],[v1(1),v2(1)],[v1(2),v2(2)])\n",
+ "axis([-10,10,-10,10])"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ ""
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Octave",
+ "language": "octave",
+ "name": "octave"
+ },
+ "language_info": {
+ "file_extension": ".m",
+ "help_links": [
+ {
+ "text": "MetaKernel Magics",
+ "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md"
+ }
+ ],
+ "mimetype": "text/x-octave",
+ "name": "octave",
+ "version": "0.19.14"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/lecture_15/octave-workspace b/lecture_15/octave-workspace
new file mode 100644
index 0000000..d68e895
Binary files /dev/null and b/lecture_15/octave-workspace differ
diff --git a/lecture_15/output/00001.png b/lecture_15/output/00001.png
new file mode 100644
index 0000000..a7cf7cb
Binary files /dev/null and b/lecture_15/output/00001.png differ
diff --git a/lecture_15/output/00002.png b/lecture_15/output/00002.png
new file mode 100644
index 0000000..b677760
Binary files /dev/null and b/lecture_15/output/00002.png differ
diff --git a/lecture_15/output/00003.png b/lecture_15/output/00003.png
new file mode 100644
index 0000000..cfe1d3c
Binary files /dev/null and b/lecture_15/output/00003.png differ
diff --git a/lecture_15/output/00004.png b/lecture_15/output/00004.png
new file mode 100644
index 0000000..94a6914
Binary files /dev/null and b/lecture_15/output/00004.png differ
diff --git a/lecture_15/output/00005.png b/lecture_15/output/00005.png
new file mode 100644
index 0000000..87c6cc6
Binary files /dev/null and b/lecture_15/output/00005.png differ
diff --git a/lecture_15/output/00006.png b/lecture_15/output/00006.png
new file mode 100644
index 0000000..2561065
Binary files /dev/null and b/lecture_15/output/00006.png differ
diff --git a/lecture_15/output/00007.png b/lecture_15/output/00007.png
new file mode 100644
index 0000000..a434b00
Binary files /dev/null and b/lecture_15/output/00007.png differ
diff --git a/lecture_15/output/00008.png b/lecture_15/output/00008.png
new file mode 100644
index 0000000..2ce0439
Binary files /dev/null and b/lecture_15/output/00008.png differ
diff --git a/lecture_15/output/00009.png b/lecture_15/output/00009.png
new file mode 100644
index 0000000..c28d3d9
Binary files /dev/null and b/lecture_15/output/00009.png differ
diff --git a/lecture_15/output/00010.png b/lecture_15/output/00010.png
new file mode 100644
index 0000000..02d6dbe
Binary files /dev/null and b/lecture_15/output/00010.png differ
diff --git a/lecture_15/output/00011.png b/lecture_15/output/00011.png
new file mode 100644
index 0000000..aae545b
Binary files /dev/null and b/lecture_15/output/00011.png differ
diff --git a/lecture_15/output/00012.png b/lecture_15/output/00012.png
new file mode 100644
index 0000000..59b04a5
Binary files /dev/null and b/lecture_15/output/00012.png differ
diff --git a/lecture_15/output/00013.png b/lecture_15/output/00013.png
new file mode 100644
index 0000000..370ede9
Binary files /dev/null and b/lecture_15/output/00013.png differ
diff --git a/lecture_15/output/00014.png b/lecture_15/output/00014.png
new file mode 100644
index 0000000..a08c7bf
Binary files /dev/null and b/lecture_15/output/00014.png differ
diff --git a/lecture_15/output/00015.png b/lecture_15/output/00015.png
new file mode 100644
index 0000000..bcd3a81
Binary files /dev/null and b/lecture_15/output/00015.png differ
diff --git a/lecture_15/output/00016.png b/lecture_15/output/00016.png
new file mode 100644
index 0000000..57f1768
Binary files /dev/null and b/lecture_15/output/00016.png differ
diff --git a/lecture_15/output/00017.png b/lecture_15/output/00017.png
new file mode 100644
index 0000000..cf7e47f
Binary files /dev/null and b/lecture_15/output/00017.png differ
diff --git a/lecture_15/output/00018.png b/lecture_15/output/00018.png
new file mode 100644
index 0000000..df5800a
Binary files /dev/null and b/lecture_15/output/00018.png differ
diff --git a/lecture_15/output/00019.png b/lecture_15/output/00019.png
new file mode 100644
index 0000000..949ef0c
Binary files /dev/null and b/lecture_15/output/00019.png differ
diff --git a/lecture_15/output/00020.png b/lecture_15/output/00020.png
new file mode 100644
index 0000000..7e1396c
Binary files /dev/null and b/lecture_15/output/00020.png differ
diff --git a/lecture_15/output/00021.png b/lecture_15/output/00021.png
new file mode 100644
index 0000000..c20b09f
Binary files /dev/null and b/lecture_15/output/00021.png differ
diff --git a/lecture_15/output/00022.png b/lecture_15/output/00022.png
new file mode 100644
index 0000000..65aad69
Binary files /dev/null and b/lecture_15/output/00022.png differ
diff --git a/lecture_15/output/00023.png b/lecture_15/output/00023.png
new file mode 100644
index 0000000..45fff01
Binary files /dev/null and b/lecture_15/output/00023.png differ
diff --git a/lecture_15/output/00024.png b/lecture_15/output/00024.png
new file mode 100644
index 0000000..2239bcb
Binary files /dev/null and b/lecture_15/output/00024.png differ
diff --git a/lecture_15/output/00025.png b/lecture_15/output/00025.png
new file mode 100644
index 0000000..84949cc
Binary files /dev/null and b/lecture_15/output/00025.png differ
diff --git a/lecture_15/output/00026.png b/lecture_15/output/00026.png
new file mode 100644
index 0000000..4cdc519
Binary files /dev/null and b/lecture_15/output/00026.png differ
diff --git a/lecture_15/output/00027.png b/lecture_15/output/00027.png
new file mode 100644
index 0000000..b5469d5
Binary files /dev/null and b/lecture_15/output/00027.png differ
diff --git a/lecture_15/output/00028.png b/lecture_15/output/00028.png
new file mode 100644
index 0000000..035086e
Binary files /dev/null and b/lecture_15/output/00028.png differ
diff --git a/lecture_15/output/00029.png b/lecture_15/output/00029.png
new file mode 100644
index 0000000..cb8c951
Binary files /dev/null and b/lecture_15/output/00029.png differ
diff --git a/lecture_15/output/00030.png b/lecture_15/output/00030.png
new file mode 100644
index 0000000..9884fad
Binary files /dev/null and b/lecture_15/output/00030.png differ
diff --git a/lecture_15/output/00031.png b/lecture_15/output/00031.png
new file mode 100644
index 0000000..2ffb2cb
Binary files /dev/null and b/lecture_15/output/00031.png differ
diff --git a/lecture_15/output/00032.png b/lecture_15/output/00032.png
new file mode 100644
index 0000000..39f1eb0
Binary files /dev/null and b/lecture_15/output/00032.png differ
diff --git a/lecture_15/output/00033.png b/lecture_15/output/00033.png
new file mode 100644
index 0000000..954a5ed
Binary files /dev/null and b/lecture_15/output/00033.png differ
diff --git a/lecture_15/output/00034.png b/lecture_15/output/00034.png
new file mode 100644
index 0000000..eea295c
Binary files /dev/null and b/lecture_15/output/00034.png differ
diff --git a/lecture_15/output/00035.png b/lecture_15/output/00035.png
new file mode 100644
index 0000000..53757e7
Binary files /dev/null and b/lecture_15/output/00035.png differ
diff --git a/lecture_15/output/00036.png b/lecture_15/output/00036.png
new file mode 100644
index 0000000..c52550c
Binary files /dev/null and b/lecture_15/output/00036.png differ
diff --git a/lecture_15/output/00037.png b/lecture_15/output/00037.png
new file mode 100644
index 0000000..1a9936c
Binary files /dev/null and b/lecture_15/output/00037.png differ
diff --git a/lecture_15/output/00038.png b/lecture_15/output/00038.png
new file mode 100644
index 0000000..c4a04ea
Binary files /dev/null and b/lecture_15/output/00038.png differ
diff --git a/lecture_15/output/00039.png b/lecture_15/output/00039.png
new file mode 100644
index 0000000..c70e2e9
Binary files /dev/null and b/lecture_15/output/00039.png differ
diff --git a/lecture_15/output/00040.png b/lecture_15/output/00040.png
new file mode 100644
index 0000000..1442e9e
Binary files /dev/null and b/lecture_15/output/00040.png differ
diff --git a/lecture_15/output/00041.png b/lecture_15/output/00041.png
new file mode 100644
index 0000000..1eaafba
Binary files /dev/null and b/lecture_15/output/00041.png differ
diff --git a/lecture_15/output/00042.png b/lecture_15/output/00042.png
new file mode 100644
index 0000000..d8dffb0
Binary files /dev/null and b/lecture_15/output/00042.png differ
diff --git a/lecture_15/output/00043.png b/lecture_15/output/00043.png
new file mode 100644
index 0000000..c5cd2c9
Binary files /dev/null and b/lecture_15/output/00043.png differ
diff --git a/lecture_15/output/00044.png b/lecture_15/output/00044.png
new file mode 100644
index 0000000..69d7001
Binary files /dev/null and b/lecture_15/output/00044.png differ
diff --git a/lecture_15/output/00045.png b/lecture_15/output/00045.png
new file mode 100644
index 0000000..17cced2
Binary files /dev/null and b/lecture_15/output/00045.png differ
diff --git a/lecture_15/output/00046.png b/lecture_15/output/00046.png
new file mode 100644
index 0000000..2c99b03
Binary files /dev/null and b/lecture_15/output/00046.png differ
diff --git a/lecture_15/output/00047.png b/lecture_15/output/00047.png
new file mode 100644
index 0000000..176533b
Binary files /dev/null and b/lecture_15/output/00047.png differ
diff --git a/lecture_15/output/00048.png b/lecture_15/output/00048.png
new file mode 100644
index 0000000..aff509e
Binary files /dev/null and b/lecture_15/output/00048.png differ
diff --git a/lecture_15/output/00049.png b/lecture_15/output/00049.png
new file mode 100644
index 0000000..df6d8ed
Binary files /dev/null and b/lecture_15/output/00049.png differ
diff --git a/lecture_15/output/00050.png b/lecture_15/output/00050.png
new file mode 100644
index 0000000..d32de4e
Binary files /dev/null and b/lecture_15/output/00050.png differ
diff --git a/lecture_15/output/00051.png b/lecture_15/output/00051.png
new file mode 100644
index 0000000..be78dbb
Binary files /dev/null and b/lecture_15/output/00051.png differ
diff --git a/lecture_15/output/00052.png b/lecture_15/output/00052.png
new file mode 100644
index 0000000..04f3ee7
Binary files /dev/null and b/lecture_15/output/00052.png differ
diff --git a/lecture_15/output/00053.png b/lecture_15/output/00053.png
new file mode 100644
index 0000000..01637cb
Binary files /dev/null and b/lecture_15/output/00053.png differ
diff --git a/lecture_15/output/00054.png b/lecture_15/output/00054.png
new file mode 100644
index 0000000..293e0f5
Binary files /dev/null and b/lecture_15/output/00054.png differ
diff --git a/lecture_15/output/00055.png b/lecture_15/output/00055.png
new file mode 100644
index 0000000..0722663
Binary files /dev/null and b/lecture_15/output/00055.png differ
diff --git a/lecture_15/output/00056.png b/lecture_15/output/00056.png
new file mode 100644
index 0000000..4da0215
Binary files /dev/null and b/lecture_15/output/00056.png differ
diff --git a/lecture_15/output/00057.png b/lecture_15/output/00057.png
new file mode 100644
index 0000000..4bf29a5
Binary files /dev/null and b/lecture_15/output/00057.png differ
diff --git a/lecture_15/output/00058.png b/lecture_15/output/00058.png
new file mode 100644
index 0000000..d8a0313
Binary files /dev/null and b/lecture_15/output/00058.png differ
diff --git a/lecture_15/output/00059.png b/lecture_15/output/00059.png
new file mode 100644
index 0000000..438e6e7
Binary files /dev/null and b/lecture_15/output/00059.png differ
diff --git a/lecture_15/output/00060.png b/lecture_15/output/00060.png
new file mode 100644
index 0000000..210926d
Binary files /dev/null and b/lecture_15/output/00060.png differ
diff --git a/lecture_15/output/00061.png b/lecture_15/output/00061.png
new file mode 100644
index 0000000..4d449ec
Binary files /dev/null and b/lecture_15/output/00061.png differ
diff --git a/lecture_15/output/00062.png b/lecture_15/output/00062.png
new file mode 100644
index 0000000..0c693a1
Binary files /dev/null and b/lecture_15/output/00062.png differ
diff --git a/lecture_15/output/00063.png b/lecture_15/output/00063.png
new file mode 100644
index 0000000..e83420e
Binary files /dev/null and b/lecture_15/output/00063.png differ
diff --git a/lecture_15/output/00064.png b/lecture_15/output/00064.png
new file mode 100644
index 0000000..1c19582
Binary files /dev/null and b/lecture_15/output/00064.png differ
diff --git a/lecture_15/output/00065.png b/lecture_15/output/00065.png
new file mode 100644
index 0000000..02042ea
Binary files /dev/null and b/lecture_15/output/00065.png differ
diff --git a/lecture_15/output/00066.png b/lecture_15/output/00066.png
new file mode 100644
index 0000000..44dc2a1
Binary files /dev/null and b/lecture_15/output/00066.png differ
diff --git a/lecture_15/output/00067.png b/lecture_15/output/00067.png
new file mode 100644
index 0000000..1a0e527
Binary files /dev/null and b/lecture_15/output/00067.png differ
diff --git a/lecture_15/output/00068.png b/lecture_15/output/00068.png
new file mode 100644
index 0000000..9bd826d
Binary files /dev/null and b/lecture_15/output/00068.png differ
diff --git a/lecture_15/output/00069.png b/lecture_15/output/00069.png
new file mode 100644
index 0000000..f5453ca
Binary files /dev/null and b/lecture_15/output/00069.png differ
diff --git a/lecture_15/output/00070.png b/lecture_15/output/00070.png
new file mode 100644
index 0000000..c3ae83f
Binary files /dev/null and b/lecture_15/output/00070.png differ
diff --git a/lecture_15/output/00071.png b/lecture_15/output/00071.png
new file mode 100644
index 0000000..e118a6a
Binary files /dev/null and b/lecture_15/output/00071.png differ
diff --git a/lecture_15/output/00072.png b/lecture_15/output/00072.png
new file mode 100644
index 0000000..685165c
Binary files /dev/null and b/lecture_15/output/00072.png differ
diff --git a/lecture_15/output/00073.png b/lecture_15/output/00073.png
new file mode 100644
index 0000000..8098077
Binary files /dev/null and b/lecture_15/output/00073.png differ
diff --git a/lecture_15/output/00074.png b/lecture_15/output/00074.png
new file mode 100644
index 0000000..ca3b66d
Binary files /dev/null and b/lecture_15/output/00074.png differ
diff --git a/lecture_15/output/00075.png b/lecture_15/output/00075.png
new file mode 100644
index 0000000..5433bce
Binary files /dev/null and b/lecture_15/output/00075.png differ
diff --git a/lecture_15/output/00076.png b/lecture_15/output/00076.png
new file mode 100644
index 0000000..4fa4b28
Binary files /dev/null and b/lecture_15/output/00076.png differ
diff --git a/lecture_15/output/00077.png b/lecture_15/output/00077.png
new file mode 100644
index 0000000..eb216f5
Binary files /dev/null and b/lecture_15/output/00077.png differ
diff --git a/lecture_15/output/00078.png b/lecture_15/output/00078.png
new file mode 100644
index 0000000..73ff651
Binary files /dev/null and b/lecture_15/output/00078.png differ
diff --git a/lecture_15/output/00079.png b/lecture_15/output/00079.png
new file mode 100644
index 0000000..54bc866
Binary files /dev/null and b/lecture_15/output/00079.png differ
diff --git a/lecture_15/output/00080.png b/lecture_15/output/00080.png
new file mode 100644
index 0000000..0bcc237
Binary files /dev/null and b/lecture_15/output/00080.png differ
diff --git a/lecture_15/output/00081.png b/lecture_15/output/00081.png
new file mode 100644
index 0000000..b6b2406
Binary files /dev/null and b/lecture_15/output/00081.png differ
diff --git a/lecture_15/output/00082.png b/lecture_15/output/00082.png
new file mode 100644
index 0000000..7212257
Binary files /dev/null and b/lecture_15/output/00082.png differ
diff --git a/lecture_15/output/00083.png b/lecture_15/output/00083.png
new file mode 100644
index 0000000..6eae390
Binary files /dev/null and b/lecture_15/output/00083.png differ
diff --git a/lecture_15/output/00084.png b/lecture_15/output/00084.png
new file mode 100644
index 0000000..4e03cc7
Binary files /dev/null and b/lecture_15/output/00084.png differ
diff --git a/lecture_15/output/00085.png b/lecture_15/output/00085.png
new file mode 100644
index 0000000..c212a71
Binary files /dev/null and b/lecture_15/output/00085.png differ
diff --git a/lecture_15/output/00086.png b/lecture_15/output/00086.png
new file mode 100644
index 0000000..eda45fa
Binary files /dev/null and b/lecture_15/output/00086.png differ
diff --git a/lecture_15/output/00087.png b/lecture_15/output/00087.png
new file mode 100644
index 0000000..131c816
Binary files /dev/null and b/lecture_15/output/00087.png differ
diff --git a/lecture_15/output/00088.png b/lecture_15/output/00088.png
new file mode 100644
index 0000000..aeb4157
Binary files /dev/null and b/lecture_15/output/00088.png differ
diff --git a/lecture_15/output/00089.png b/lecture_15/output/00089.png
new file mode 100644
index 0000000..9b45340
Binary files /dev/null and b/lecture_15/output/00089.png differ
diff --git a/lecture_15/output/00090.png b/lecture_15/output/00090.png
new file mode 100644
index 0000000..a4cd16d
Binary files /dev/null and b/lecture_15/output/00090.png differ
diff --git a/lecture_15/output/00091.png b/lecture_15/output/00091.png
new file mode 100644
index 0000000..7d1b812
Binary files /dev/null and b/lecture_15/output/00091.png differ
diff --git a/lecture_15/output/00092.png b/lecture_15/output/00092.png
new file mode 100644
index 0000000..81a2827
Binary files /dev/null and b/lecture_15/output/00092.png differ
diff --git a/lecture_15/output/00093.png b/lecture_15/output/00093.png
new file mode 100644
index 0000000..5244a75
Binary files /dev/null and b/lecture_15/output/00093.png differ
diff --git a/lecture_15/output/00094.png b/lecture_15/output/00094.png
new file mode 100644
index 0000000..f896bd9
Binary files /dev/null and b/lecture_15/output/00094.png differ
diff --git a/lecture_15/output/00095.png b/lecture_15/output/00095.png
new file mode 100644
index 0000000..1560ca3
Binary files /dev/null and b/lecture_15/output/00095.png differ
diff --git a/lecture_15/output/00096.png b/lecture_15/output/00096.png
new file mode 100644
index 0000000..dc22858
Binary files /dev/null and b/lecture_15/output/00096.png differ
diff --git a/lecture_15/output/00097.png b/lecture_15/output/00097.png
new file mode 100644
index 0000000..2052cf2
Binary files /dev/null and b/lecture_15/output/00097.png differ
diff --git a/lecture_15/output/00098.png b/lecture_15/output/00098.png
new file mode 100644
index 0000000..e3a52b9
Binary files /dev/null and b/lecture_15/output/00098.png differ
diff --git a/lecture_15/output/00099.png b/lecture_15/output/00099.png
new file mode 100644
index 0000000..4b6a5e2
Binary files /dev/null and b/lecture_15/output/00099.png differ
diff --git a/lecture_15/output/00100.png b/lecture_15/output/00100.png
new file mode 100644
index 0000000..945a4ef
Binary files /dev/null and b/lecture_15/output/00100.png differ
diff --git a/lecture_15/springs_masses.png b/lecture_15/springs_masses.png
new file mode 100644
index 0000000..9a01154
Binary files /dev/null and b/lecture_15/springs_masses.png differ
diff --git a/lecture_15/stress.svg b/lecture_15/stress.svg
new file mode 100644
index 0000000..dbbd0b7
--- /dev/null
+++ b/lecture_15/stress.svg
@@ -0,0 +1,297 @@
+
+
+
+
diff --git a/lecture_15/stress_soln.svg b/lecture_15/stress_soln.svg
new file mode 100644
index 0000000..5366d11
--- /dev/null
+++ b/lecture_15/stress_soln.svg
@@ -0,0 +1,297 @@
+
+
+
+