1.6 Inclined Plane Jupyter Notebook
- Page ID
- 11358
\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)
\( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)
( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)
\( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)
\( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)
\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)
\( \newcommand{\Span}{\mathrm{span}}\)
\( \newcommand{\id}{\mathrm{id}}\)
\( \newcommand{\Span}{\mathrm{span}}\)
\( \newcommand{\kernel}{\mathrm{null}\,}\)
\( \newcommand{\range}{\mathrm{range}\,}\)
\( \newcommand{\RealPart}{\mathrm{Re}}\)
\( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)
\( \newcommand{\Argument}{\mathrm{Arg}}\)
\( \newcommand{\norm}[1]{\| #1 \|}\)
\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)
\( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)
\( \newcommand{\vectorA}[1]{\vec{#1}} % arrow\)
\( \newcommand{\vectorAt}[1]{\vec{\text{#1}}} % arrow\)
\( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vectorC}[1]{\textbf{#1}} \)
\( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)
\( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)
\( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)
\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)
\(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)Instructions
- To use this page, read the text between each of the python code windows, then press RUN to execute the code in the box.
- It is necessary to run each of the boxes in order.
- Don't click restart in the cells unless you come back to the top of the page and start over.
- If you modify the code, this modification will not remain after you leave or refresh this page.
- You must run simulations/cells that require user input to completion. Make sure you see the Message informing you a cell is complete before continuing to the next cell. Here's why you must do this:
- These cells may not be re-run until the simulation is completed, otherwise no output will be generated.
- All following cells will not run until the user input cell is completed.
- For Dropdown Menus: You do not need to rerun the cells with the menu to change your selection. However, you must rerun all of the following cells to implement the change.
Be patient, some times it can take 1-2 minutes for the juypter kernel to start.
An interactive example of how to calculate the velocity and strain rate for flow down an inclined plane. For this example, we'll consider the case of magma flow down an inclined plane. The viscosity of magma primarily depends on temperature, and can range from \(10^2\) to \(10^6\) Pa s. For this example we will consider values of \(10^2\) to \(10^4\) Pa s. Hill slopes on the side of volcanoes vary depending on the type of volcano and location relative to the (summit versus flanks). Slopes on shield volcanos are typically 5 degrees, while the slopes on stratovolcanos are 5 to 30 degrees. Very close to the vent at the peak of a stratovolcano, the slopes can locally reach up to 70-80 degrees.
Key Questions: Consider these as you work your way through this page.
- What conditions (angle and viscosity) produce the highest flow velocities?
- How do velocity and strain rate change within the flow with depth?
- Where, in the flow profile, do the highest magnitude strain rates occur?
- Where, in the flow profile, do the highest magnitude flow velocities occur?
First, we import the necessary packages and set physical constants. Note: When you first run this box upon loading or refreshing the page it will say "Waiting for kernel...". This is supposed to happen and may take a minute or so.
Now, let's set some parameters and define functions to calculate the desired quantities, this way it's easier if we want to use the formula multiple times. This function takes 5 input parameters: alpha, rho, eta, y, and h. Alpha is the angle of the inclined plane, rho is the density of the flowing material, eta is the viscosity of the material, and h is the thickness of the flow. y is a range of depths within the flow, starting at 0, and ending at h with an increment defined by step. The density used here is the density of basalt. Then, the function calculates and returns the velocity and strain rate versus depth. The calculations are done using the equations derived in 1.5 Viscous Deformation.
Throughout this entire exercise, the flow thickness and density will remain constant, and we will consider different angles and viscosities. We need to define the angle and viscosity for this cell, let's vary the angle and hold viscosity constant (eta). This cell uses the functions above to calculate and plot the velocity and strain rate versus depth for each angle in alpha_range. Run the simulation and consider the key questions. You may enter any angle you like between 0 and 80.
Now let's hold the angle of the plane constant and vary viscosity. The first lines in the cell take the angle to be 15 degrees, and create a range of viscosities (eta_range). The rest of the cell is set up exactly like the previous one, the only difference is that now the for-loop is iterating over the viscosities and not angles. Run the simulation and observe the results. Press Enter or Return to change the viscosity in the plot below after you run the cell.
Now let's create a physical model of the flow by rotating the previous velocity graph such that the depth axis is at the angle of the inclined plane. For this example, we will look at three different angles (alpha_range_2) and will hold viscosity constant (eta_2). We will use a rotation matrix to rotate the velocity profile. This involves some basic linear algebra, so you will not be required to come up with something like this on your own for this course, however, pay attention to the output. This cell defines some functions to accomplish this, calls them, and graphs the result. This cell creates normal graphs, not simulations like the above cells.
Using the figures above, how would you answer the key questions:
- What conditions (angle and viscosity) produce the highest flow velocities?
- How do velocity and strain rate change within the flow with depth?
- Where, in the flow profile, do the highest magnitude strain rates occur?
- Where, in the flow profile, do the highest magnitude flow velocities occur?