Skip to content

Instantly share code, notes, and snippets.

@MiroK
Last active December 12, 2015 01:29
Show Gist options
  • Save MiroK/4691921 to your computer and use it in GitHub Desktop.
Save MiroK/4691921 to your computer and use it in GitHub Desktop.
My fist ipython notebook
{
"metadata": {
"name": "pi-problem"
},
"nbformat": 2,
"worksheets": [
{
"cells": [
{
"cell_type": "markdown",
"source": [
"We start with the momentum equation for newtonian fluid under the assumption of no volumetric forces",
"",
"$$\\frac{\\partial\\vec{u}}{\\partial t}+\\vec{u}\\cdot\\nabla\\vec{u} = -\\frac{\\nabla p}{\\rho} + \\nu\\Delta\\vec{u}.$$",
"",
"If we further assume that the density is constant, we can rewrite the momentum equation using the following ",
"identity",
"",
"$$\\vec{u}\\cdot\\nabla\\vec{u} =\\frac{1}{2}\\nabla|\\vec{u}|^2-\\vec{u}\\times(\\nabla\\times\\vec{u}) $$",
"",
"as ",
"",
"$$\\frac{\\partial\\vec{u}}{\\partial t}+\\nabla(\\frac{p}{\\rho} +\\frac{1}{2}|\\vec{u}|^2) -\\vec{u}\\times(\\nabla\\times\\vec{u}) = \\nu\\Delta\\vec{u}.$$",
"",
"We are now in a good position to take the curl of the momentum equation. Let's assume that $\\vec{u}$ is smooth to allow to change the order of",
"partial derivatives (both with respect to temporal and spatial variables). Taking advantage of the fact that $\\nabla\\times\\nabla\\psi = 0$, the",
"above equation reduces to ",
"",
"$$ \\frac{\\partial (\\nabla\\times\\vec{u})}{\\partial t}-\\nabla\\times(\\vec{u}\\times\\(\\nabla\\times\\vec{u}))=\\nu\\Delta(\\nabla\\times\\vec{u}).$$",
"",
"We recognize vorticity $\\vec{w}=\\nabla\\times\\vec{u}$. For the future reference we note, that the second term on",
"the left hand side can written as $-\\vec{u}\\cdot\\nabla\\vec{w} + \\vec{w}\\cdot\\nabla\\vec{v}$. Until this point we used no facts about the problem we should solve, but that is",
"about to change. The streamlines for the problem look like this"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from pylab import *",
"",
"thetas = numpy.linspace(0,2*numpy.pi,100)",
"",
"for r in [1,2,3,4]:",
" rads = r*numpy.ones(len(thetas))",
" x = rads*cos(thetas)",
" y = rads*sin(thetas)",
" plot(x,y)",
"",
"axis('equal')",
"xlabel('x')",
"ylabel('y')"
],
"language": "python",
"outputs": [
{
"output_type": "pyout",
"prompt_number": 3,
"text": [
"<matplotlib.text.Text at 0x974330c>"
]
},
{
"output_type": "display_data",
"png": "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\nNPI3lidNYih526sAAAAASUVORK5CYII=\n"
}
],
"prompt_number": 3
},
{
"cell_type": "markdown",
"source": [
"The only nonzero velocity component is the angular one, $u_\\theta$, and because of the symmetry we have ",
"$u_\\theta=u_\\theta(r)$. Further $\\nabla\\vec{u}$ will lie only in the $x-y$ plane and vorticity will be a vector",
"in a plane perpendicular to this one, that is it's only nonzero component will be in the $z-$direction. Therefore $\\vec{u}\\cdot\\nabla\\vec{w}=0\\, \\vec{w}\\cdot\\nabla\\vec{u}=0$. Thus",
"we arrive at the vorticity equation",
"",
"$$\\frac{\\partial w_z}{\\partial t}=\\nu\\Delta w_z.$$",
"",
"If we now switch to polar coordinates, the laplacian becomes ..."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from IPython.core.display import HTML",
"",
"HTML('<iframe src=http://en.wikipedia.org/wiki/Laplace_operator width=700 height=350></iframe>')"
],
"language": "python",
"outputs": [
{
"html": [
"<iframe src=http://en.wikipedia.org/wiki/Laplace_operator width=700 height=350></iframe>"
],
"output_type": "pyout",
"prompt_number": 13,
"text": [
"<IPython.core.display.HTML at 0x96da5ec>"
]
}
],
"prompt_number": 13
},
{
"cell_type": "markdown",
"source": [
"Vorticity is independent of angle $\\theta$ and so finally the vorticity equation becomes",
"",
"$$\\frac{\\partial w_z}{\\partial t}=\\nu(\\frac{\\partial^2 w_z}{\\partial r^2}+\\frac{1}{r}\\frac{\\partial w_z}{\\partial r}).$$"
]
},
{
"cell_type": "markdown",
"source": [
"This concludes the first part of the problem. In the second one, we are asked to solve the above equation",
"and show something about the velocity $u_\\theta$. Imagine that we have the solution $w_z=w_z(r,t)$. How do",
"we obtain $u_\\theta$? We will use the Stokes theorem. "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"HTML('<iframe src=http://en.wikipedia.org/wiki/Stokes%27_theorem width=700 height=350></iframe>')"
],
"language": "python",
"outputs": [
{
"html": [
"<iframe src=http://en.wikipedia.org/wiki/Stokes%27_theorem width=700 height=350></iframe>"
],
"output_type": "pyout",
"prompt_number": 14,
"text": [
"<IPython.core.display.HTML at 0x96da98c>"
]
}
],
"prompt_number": 14
},
{
"cell_type": "markdown",
"source": [
"The domain of integration will be a circle like any of those on the figure above with radius $r$. Note that a normal",
"of this circle is in the $z$-direction and that its length element points in the same direction as the velocity.",
"Thus $\\vec{w}\\cdot\\vec{n}=w_z$ and $\\vec{u}\\cdot\\vec{dl}=u_\\theta dl$. Therefore",
"",
"$$\\int_{\\text{circle}} w_z dA=\\int_{\\text{circle}}\\nabla\\times\\vec{u}\\cdot\\vec{n}dA=\\oint_{\\text{circle}}u_\\theta",
"dl=2\\pi r u_\\theta.$$",
"",
"So the last thing remaing is to obtain the solution $w_z(r,t)$. We are going to do so via Fourier transform. It is maybe",
"possible, not for me though, to stay in 1D, take the Fourier transform of the vorticity equation in terms of $r$, then take",
"the inverse etc. This is a lot of messy work due to terms $1/r$ and the extra first order derivative. It is a lot simpler to",
"step back to 2D, play there for a while and use the symmetry ideas late. In 2D we will use the cartesian coordinates. Hence the",
"vorticity equation is ",
"",
"$$\\frac{\\partial w_z}{\\partial t}=\\nu\\Delta w_z=\\nu(\\frac{\\partial^2 w_z}{\\partial x^2 } + \\frac{\\partial^2 w_z}{\\partial y^2}).$$",
"",
"We will consider the (inverse) Fourier transform in a form $u(\\vec{x},t)=\\displaystyle\\int \\hat{u}(\\vec{k},t)\\exp(i\\vec{k}\\cdot\\vec{x})d\\vec{k}$.",
"Here $\\vec{x}$ denotes a touple $(x,y)$ and similarly $\\vec{k}=(k_x,k_y)$. With this definition the following holds for temporal derivative",
"",
"$$\\frac{\\partial w_z}{\\partial t}=\\displaystyle\\int \\frac{\\partial \\hat{w_z}}{\\partial t}(\\vec{k},t)\\exp(-i\\vec{k}\\cdot\\vec{x})d\\vec{k},$$",
"",
"and the spatial derivatives $x_1=x$ and $x_2=y$",
"",
"$$\\frac{\\partial^2 w_z}{\\partial x_i^2}=\\displaystyle\\int \\hat{w_z}(\\vec{k},t)\\exp(-i\\vec{k}\\cdot\\vec{x})(-ik_i^2)d\\vec{k}.$$ ",
"",
"Plugging these expression into the vorticity equation yieds",
"",
"$$\\displaystyle\\int[\\frac{\\partial w_z}{\\partial t} + \\nu\\hat{w_z}(k_x^2+k_y^2)]\\exp(-i\\vec{k})d\\vec{k}=0. $$ ",
"",
"From this we obtain equation for the Fourier image of vorticity",
"",
"$$\\frac{\\partial w_z}{\\partial t} = -\\nu\\hat{w_z}(k_x^2+k_y^2).$$",
"",
"This equation is much simpler than the original one. It is separable and the solution can be found $\\hat{w}_z(\\vec{k},t)=\\hat{w}_z(\\vec{k},0)",
"\\exp(-\\nu\\vec{k}\\cdot\\vec{k}t)$. The initial condition $\\hat{w}_z(\\vec{k},0)$ is simply a Fourier transform of $w_z(x,0)$ which is delta function",
"sitting in the origin $\\Gamma_o\\delta$. Since $\\hat{\\delta}=1$, we have $\\hat{w}_z(\\vec{k},0)=\\Gamma_0$. Plugging the expression for $\\hat{w}_z$",
"back to the Fourier integral we see that",
"",
"$$w_z(\\vec{x},t)=\\Gamma_0\\displaystyle\\int\\exp(-\\nu\\vec{k}\\cdot\\vec{k}t)\\exp(i\\vec{k}\\cdot\\vec{x})d\\vec{k},$$",
"",
"so it is an inverse Fourier transform of some Gaussian. Nice thing about this 2D integral is that is can be computed as 2 times 1D integrals of",
"$\\displaystyle\\int\\exp(-\\nu k_j^2t)\\exp(ik_jx_j)d k_j$. Also, Gaussian transforms (almost) identically and so the later integral equals",
"$\\frac{1}{\\sqrt{4\\pi\\nu t}}\\exp(-x_i^2/(4\\nu t))$. Remember that to obtain the final expression for $w_z$, these have to be multiplied yielding",
"",
"$$w_z(x,y,t)= \\frac{\\Gamma_0}{4\\pi\\nu t}\\exp(-\\frac{x^2+y^2}{4\\nu t}).$$",
"",
"All that remains to be done is to compute integral of this expression over the circle with radius $r$. We parametrize the circle by polar",
"coordinates. With this",
"",
"$$\\int_\\text{circle}w_z dA=\\Gamma_0\\int_0^{2\\pi}d\\theta\\int_0^r\\frac{1}{4\\pi\\nu t}\\exp(-\\frac{r^2}{4\\nu t})rdr.$$",
"",
"The angular part is easy. For the radial part, we are fortunate that $\\frac{d\\exp(-\\alpha r^2)}{d r}=-2\\alpha r\\exp(-\\alpha r^2)$ and therefore",
"",
"$$\\int_0^r\\exp(-\\frac{r^2}{4\\nu t})rdr=-2\\nu t \\int_0^r\\frac{d}{dr}(\\exp(-\\frac{r^2}{4\\nu t}))dr=2\\nu t [1-\\exp(-\\frac{r^2}{4\\nu t})].$$",
"",
"Putting this all together we see that",
"",
"$$\\int_\\text{circle}w_z dA=2\\pi\\frac{\\Gamma_0}{4\\pi\\nu t}2\\nu t [1-\\exp(-\\frac{r^2}{4\\nu t})] = \\Gamma_0 [1-\\exp(-\\frac{r^2}{4\\nu t})].$$",
"",
"Combining this with the right hand side of the Stokes therom we get the final formula for $u_\\theta$,",
"",
"$$u_\\theta=\\frac{\\Gamma_0}{2\\pi r} [1-\\exp(-\\frac{r^2}{4\\nu t})].$$"
]
},
{
"cell_type": "code",
"collapsed": true,
"input": [],
"language": "python",
"outputs": [],
"prompt_number": 14
},
{
"cell_type": "code",
"collapsed": true,
"input": [],
"language": "python",
"outputs": []
}
]
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment