Commit eedfaa0b authored by Ahmad Alkadri's avatar Ahmad Alkadri 🎧

add first notebook

parent 675b63b0
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"from __future__ import print_function\n",
"from ipywidgets import interact, interactive, fixed\n",
"import ipywidgets as widgets\n",
"import numpy as np\n",
"from numpy import exp, pi, sin, cos\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Using the analytical solution used by Siau (1984):\n",
"\n",
"$$\n",
"E = 1-1.27\\exp{(-2.47\\tau)}\\cos{\\left(\\frac{\\pi}{2}\\frac{x}{l}\\right)}+0.425\\exp{(-22.2\\tau)}\\cos{\\left(\\frac{3\\pi}{2}\\frac{x}{l}\\right)}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Where $l$ is half-thickness of the sample, $x$ is the position in the sample, and $\\tau = tD/l^2$, we can formulate this into the following Python function:"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"def E_x(tau,x,l):\n",
" E = (1-1.27*exp(-2.47*tau)*cos(pi/2*x/l)\n",
" +0.425*exp(-22.2*tau)*cos(3*pi/2*x/l))\n",
" return E"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The following is the interactive plot for visualizing the \n",
"$E$ values for various values of $\\tau$ and $l = 3$ mm:"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "fc342ced17e1409d9bf0025a477db0e2",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"interactive(children=(FloatSlider(value=0.2, description='tau', max=3.0, step=0.01), Output()), _dom_classes=(…"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<function __main__.plotE(tau)>"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def plotE(tau):\n",
" li = 3\n",
" xi = np.linspace(-li,li,num=100)\n",
" E_xi = E_x(tau,xi,li)\n",
" plt.plot(xi,E_xi)\n",
" plt.title(f'tau = {tau}')\n",
" plt.xlabel('x')\n",
" plt.ylabel('E')\n",
" plt.ylim(-0.1,1)\n",
" plt.show()\n",
"interact(plotE,\n",
" tau = widgets.FloatSlider(min=0,max=3,step=0.01,value=0.2))"
]
}
],
"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.6.8"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment