diff --git a/notebooks/daniel_notebook.ipynb b/notebooks/daniel_notebook.ipynb deleted file mode 100644 index fd56d50..0000000 --- a/notebooks/daniel_notebook.ipynb +++ /dev/null @@ -1,665 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Determining Static Equilibrium in NumPY\n", - "\n", - "When analyzing structures it is crucial to understand the mechanics keeping it stable. Applied forces on a floor, a beam, or any other structure, create reaction forces and moments. These reactions are the structure resisting movement without breaking. You will look at structures that do not move despite having forces applied to them. In this case Newton's second law states that both the acceleration and sum of forces in the system must be zero. Newton's second law describes the sum of forces in all directions. The reactions present must be equal and opposite to the sum of forces. You can represent and solve this concept with NumPy arrays.\n", - "\n", - "## What you'll do:\n", - "- In this tutorial, you will use NumPy to create vectors and moments using NumPy arrays\n", - "- Solve for cables and floors holding up structures\n", - "- Write NumPy matrixes to isolate unkowns\n", - "- Use NumPy functions to perform linear algebra\n", - " \n", - "## What you'll learn:\n", - "- How to represent points, vectors, and moments with NumPy.\n", - "- How to find the normal of vectors\n", - "- Using NumPy to compute matrix calculations\n", - " \n", - "## What you'll need:\n", - "- NumPy\n", - "- matplotlib\n", - "\n", - "imported with the following comands:" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np\n", - "import matplotlib.pyplot as plt" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In this tutorial you will use the following NumPy tools:\n", - "\n", - "`np.linalg.norm` : this function determines the measure of vector magnitude\n", - "\n", - "`np.cross` : this function takes two matrices and produces the cross product\n", - "\n", - "`plt.figure` : this function creates a figure\n", - "\n", - "`Axes3D` : This gives the figure 3D axes" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Solving equilibrium with Newton's second law\n", - "\n", - "Your model consists of a beam under a sum of forces and moments. You can start analyzing this system with Newton's second law: \n", - "\n", - "$\\ \\sum{force} = mass * acceleration$.\n", - "\n", - "In order to simplify the examples looked at, assume they are static, with $\\ acceleration = 0$. Due to our system existing in three dimensions, consider forces being applied in each. This means that you can represent these forces as vectors. You come to the same conclusion for moments, which result from forces being applied a certain distance away from an object's center of mass.\n", - "\n", - "$\\ Example force = $\n", - "\n", - "$\\ Example Moment = \\times$\n", - "\n", - "$\\ \\sum{force} = 0$\n", - "\n", - "$\\ \\sum{moment} = 0$\n", - "\n", - "where F represents the magnitude of the force being applied in each corresponding direction and r is the distance that the force is applied from the centroid of the system. In this convention assume each entry in a vector corresponds to $\\ \\hat{i}, \\hat{j}, \\hat{k}$ respectively.\n", - "\n", - "Start with some simple examples of force vectors" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Force A = [1 0 0]\n", - "Force B = [0 1 0]\n" - ] - } - ], - "source": [ - "forceA = np.array([1,0,0])\n", - "forceB = np.array([0,1,0])\n", - "print('Force A =', forceA)\n", - "print('Force B =', forceB)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This defines force A as being a vector with magnitude of 1 in the x direction and force B as magnitude 1 in the y direction.\n", - "\n", - "Use matplotlib to visualize these forces." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "fig = plt.figure()\n", - "\n", - "d3 = fig.gca(projection='3d')\n", - "\n", - "d3.set_xlim(-1,1)\n", - "d3.set_ylim(-1,1)\n", - "d3.set_zlim(-1,1)\n", - "\n", - "x, y, z = np.array([0,0,0]) # defining the point of application. Make it the origin\n", - "\n", - "u, v, w = forceA # breaking the force vector into individual components\n", - "d3.quiver(x,y,z,u,v,w) # plotting forceA\n", - "\n", - "u, v, w = forceB\n", - "d3.quiver(x,y,z,u,v,w) # plotting forceB\n", - "\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "There are two forces eminating from a single point.\n", - "\n", - "In order to simplify this problem, you can add them together to find the sum of forces." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Force C = [1 1 0]\n" - ] - } - ], - "source": [ - "forceC = forceA + forceB\n", - "print('Force C =', forceC)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Force C now acts as a single force that represents both A and B.\n", - "You can plot it to see the result." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "fig = plt.figure()\n", - "\n", - "d3 = fig.gca(projection='3d')\n", - "\n", - "d3.set_xlim(-1,1)\n", - "d3.set_ylim(-1,1)\n", - "d3.set_zlim(-1,1)\n", - "\n", - "x, y, z = np.array([0,0,0])\n", - "\n", - "u, v, w = forceC\n", - "d3.quiver(x,y,z,u,v,w)\n", - "\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "There is now a single vector at the origin.\n", - "However, the goal is equilibrium.\n", - "This means that you want your sum of forces to be <0,0,0> or else your object will experience acceleration\n", - "Therefore, there needs to be another force that counteracts the prior ones.\n", - "\n", - "You can write this problem as $\\ A+B+R=0$,\n", - "with R being the reaction force that solves the problem.\n", - "\n", - "In this example this would mean:\n", - "\n", - "$\\ <1,0,0>+<0,1,0>+=<0,0,0>$\n", - "\n", - "Broken into x, y, and z components this gives you:\n", - "\n", - "$\\ 1+0+R_{x}=0$\n", - "\n", - "$\\ 0+1+R_{y}=0$\n", - "\n", - "$\\ 0+0+R_{z}=0$\n", - "\n", - "solving for R_{x}, R_{y}, and R_{z} gives you a vector R of <-1,-1,0>.\n", - "\n", - "Plot this and see if it works." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "R = np.array([-1,-1,0])\n", - "\n", - "fig = plt.figure()\n", - "\n", - "d3.set_xlim(-1,1)\n", - "d3.set_ylim(-1,1)\n", - "d3.set_zlim(-1,1)\n", - "\n", - "d3 = fig.gca(projection='3d')\n", - "\n", - "x, y, z = np.array([0,0,0])\n", - "\n", - "u, v, w = forceA + forceB + R # add them all together for sum of forces\n", - "d3.quiver(x,y,z,u,v,w)\n", - "\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The empty graph signifies that there are no outlying forces. This denotes a system in equilibrium.\n", - "\n", - "\n", - "# Solving Equilibrium as a sum of moments\n", - "\n", - "Next let's move to a more complicated application.\n", - "When forces are not all applied at the same point moments are created.\n", - "Similar to forces, these moments must all sum to zero, otherwise rotationial acceleration will be experienced. Similar to sum of forces, this creates a linear equation for each of $\\ \\hat{i}, \\hat{j}, \\hat{k}$.\n", - "\n", - "A simple example of this would be from a force applied to a stationary pole secured in the ground.\n", - "The pole does not move, so it must apply a reaction force.\n", - "The pole also does not rotate, so it must also be creating a reaction moment.\n", - "Solve for both.\n", - "\n", - "Lets say a 5N force is applied 2m above the base of the pole." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Reaction force = -5\n", - "Reaction moment = -10\n" - ] - } - ], - "source": [ - "f = 5\n", - "L = 2\n", - "\n", - "R = 0 - f\n", - "M = 0 - f*L\n", - "print('Reaction force =',R)\n", - "print('Reaction moment =',M)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Finding values with physical properties\n", - "\n", - "Let's say that instead of a force acting perpendicularly to the beam, a force was applied to our pole through a wire that was also attached to the ground.\n", - "Given the tension in this cord, all you need to solve this problem are the physical locations of these objects.\n", - "\n", - "![image.png](Daniel_Images/exampleImage.png)\n", - "\n", - "In response to the forces acting upon the pole, the base generated reaction forces in the x and y directions, as well as a reaction moment.\n", - "\n", - "Denote the base of the pole as the origin.\n", - "Now, say the cord is attached to the ground 3m in the x direction and attached to the pole 2m up, in the z direction.\n", - "\n", - "Define these points in space as numpy arrays, and then use those arrays to find directional vectors." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Pole direction = [0 0 2]\n", - "Cord direction = [ 3 0 -2]\n" - ] - } - ], - "source": [ - "poleBase = np.array([0,0,0])\n", - "cordBase = np.array([3,0,0])\n", - "cordConnection = np.array([0,0,2])\n", - "\n", - "poleDirection = cordConnection - poleBase\n", - "print('Pole direction =',poleDirection)\n", - "cordDirection = cordBase - cordConnection\n", - "print('Cord direction =',cordDirection)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In order to use these vectors in relation to forces you need to convert them into unit vectors.\n", - "Unit vectors have a magnitude of one, and convey only the direction of the forces." - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Cord unit vector = [ 0.83205029 0. -0.5547002 ]\n" - ] - } - ], - "source": [ - "cordUnit = cordDirection/np.linalg.norm(cordDirection)\n", - "print('Cord unit vector =',cordUnit)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You can then multiply this direction with the magnitude of the force in order to find the force vector.\n", - "\n", - "Let's say the cord has a tension of 5N" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Force from the cord = [ 4.16025147 0. -2.77350098]\n" - ] - } - ], - "source": [ - "cordTension = 5\n", - "forceCord = cordUnit * cordTension\n", - "print('Force from the cord =',forceCord)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In order to find the moment you need the cross product of the force vector and the radius." - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Moment from the cord = [ 0. -8.32050294 0. ]\n" - ] - } - ], - "source": [ - "momentCord = np.cross(forceCord, poleDirection)\n", - "print('Moment from the cord =',momentCord)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now all you need to do is find the reaction force and moment." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Reaction force = [-4.16025147 0. 2.77350098]\n", - "Reaction moment = [0. 8.32050294 0. ]\n" - ] - } - ], - "source": [ - "equilibrium = np.array([0,0,0])\n", - "R = equilibrium - forceCord\n", - "M = equilibrium - momentCord\n", - "print(\"Reaction force =\",R)\n", - "print(\"Reaction moment =\",M)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Another Example\n", - "Let's look at a slightly more complicated model. In this example you will be observing a beam with two cables and an applied force. This time you need to find both the tension in the cords and the reaction forces of the beam.\n", - "\n", - "[Vector Mechanics for Engineers: Statics](https://www.mheducation.com/highered/product/vector-mechanics-engineers-statics-beer-johnston/M9780077687304.html)\n", - "\n", - "Problem 4.106\n", - "\n", - "![image.png](Daniel_Images/problem4.png)\n", - "\n", - "Define distance a as 3m\n", - "\n", - "As before, start by defining the location of each relevant point as an array." - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [], - "source": [ - "A = np.array([0,0,0])\n", - "B = np.array([0,3,0])\n", - "C = np.array([0,6,0])\n", - "D = np.array([1.5,0,-3])\n", - "E = np.array([1.5,0,3])\n", - "F = np.array([-3,0,2])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "From these equations, you start by determining vector directions with unit vectors." - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [], - "source": [ - "AB = B - C\n", - "AC = C - A\n", - "BD = D - B\n", - "BE = E - B\n", - "CF = F - C\n", - "\n", - "UnitBD = BD/np.linalg.norm(BD)\n", - "UnitBE = BE/np.linalg.norm(BE)\n", - "UnitCF = CF/np.linalg.norm(CF)\n", - "\n", - "RadBD = np.cross(AB,UnitBD)\n", - "RadBE = np.cross(AB,UnitBE)\n", - "RadCF = np.cross(AC,UnitCF)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This lets you represent the forces acting on the system as\n", - "\n", - "$\\left[\n", - "\\begin{array}\n", - "~1/3 & 1/3 & 1 & 0 & 0\\\\\n", - "-2/3 & -2/3 & 0 & 1 & 0\\\\\n", - "-2/3 & 2/3 & 0 & 0 & 1\\\\\n", - "\\end{array}\n", - "\\right]\n", - "\\left[\n", - "\\begin{array}\n", - "~T_{BD}\\\\\n", - "T_{BE}\\\\\n", - "R_{x}\\\\\n", - "R_{y}\\\\\n", - "R_{z}\\\\\n", - "\\end{array}\n", - "\\right]\n", - "=\n", - "\\left[\n", - "\\begin{array}\n", - "~195\\\\\n", - "390\\\\\n", - "-130\\\\\n", - "\\end{array}\n", - "\\right]$\n", - "\n", - "And the moments as\n", - "\n", - "$\\left[\n", - "\\begin{array}\n", - "~2 & -2\\\\\n", - "1 & 1\\\\\n", - "\\end{array}\n", - "\\right]\n", - "\\left[\n", - "\\begin{array}\n", - "~T_{BD}\\\\\n", - "T_{BE}\\\\\n", - "\\end{array}\n", - "\\right]\n", - "=\n", - "\\left[\n", - "\\begin{array}\n", - "~780\\\\\n", - "1170\\\\\n", - "\\end{array}\n", - "\\right]$\n", - "\n", - "Where T is the tesnion in the respective cord and R is the reaction force in a respective direction. Then you just have six equations:\n", - "\n", - "$\\sum F_{x} = 0 = T_{BE}/3+T_{BD}/3-195+R_{x}$\n", - "\n", - "$\\sum F_{y} = 0 = T_{BE}*-2/3-T_{BD}*2/3-390+R_{y}$\n", - "\n", - "$\\sum F_{z} = 0 = T_{BE}*-2/3+T_{BD}*2/3+130+R_{z}$\n", - "\n", - "$\\sum M_{x} = 0 = 780+2*T_{BE}-2*T_{BD}$\n", - "\n", - "$\\sum M_{z} = 0 = 1170-T_{BE}-T_{BD}$\n", - "\n", - "You now have five unknowns with five equations, and can solve for:\n", - "\n", - "$\\ T_{BD} = 780N$\n", - "\n", - "$\\ T_{BE} = 390N$\n", - "\n", - "$\\ R_{x} = -195N$\n", - "\n", - "$\\ R_{y} = 1170N$\n", - "\n", - "$\\ R_{z} = 130N$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Wrapping up\n", - "\n", - "You have learned how to use arrays to represent points, forces, and moments in three dimensional space. Each entry in an array can be used to represent a physical property broken into directional components. These can then be easily manipulated with NumPy functions.\n", - "\n", - "## Additional Applications\n", - "\n", - "This same process can be applied to kinetic problems or in any number of dimensions. The examples done in this tutorial assumed three dimensional problems in static equilibrium. These methods can easily be used in more varied problems. More or less dimensions require larger or smaller arrays to represent. In systems experiencing acceleration, velocity and acceleration can be similarly be represented as vectors as well.\n", - "\n", - "## References\n", - "\n", - "1. [Vector Mechanics for Engineers: Statics (Beer & Johnston & Mazurek)](https://www.mheducation.com/highered/product/vector-mechanics-engineers-statics-beer-johnston/M9780077687304.html)\n", - "2. [NumPy Reference](https://numpy.org/doc/stable/reference/)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.3" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -}