{ "metadata": { "name": "", "signature": "sha256:dabc8f5fa1f41e2f35d3dca25443956aeed9d1a4556372500c9d91887d6fdd72" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "from IPython.display import display, Image\n", "from IPython.display import display_pretty, display_html, display_jpeg, display_png, display_json, display_latex, display_svg\n", "from IPython.display import Latex\n", "from IPython.display import HTML\n", "Image(filename='logo3.jpg', width=100)" ], "language": "python", "metadata": {}, "outputs": [ { "jpeg": "/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEP\nERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4e\nHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAGQAUYDASIA\nAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA\nAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3\nODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm\np6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA\nAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx\nBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK\nU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3\nuLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDyeCK6\nu75LS0jmuLiaURxRRKWeRycBVA5JJIAArf8A+EB+IH/Ql+J//BXP/wDE0fC3/kqvhX/sOWf/AKPS\nv0Er6DG42pRqWR7tevDDQppU07pdD8+/+EB+IH/Ql+J//BXP/wDE0f8ACA/ED/oS/E//AIK5/wD4\nmv0Eorj/ALUq/wBM5v7Sj/z6ifn3/wAID8QP+hL8T/8Agrn/APiaP+EB+IH/AEJfif8A8Fc//wAT\nX6CUUf2pV/ph/aUf+fUT8+/+EB+IH/Ql+J//AAVz/wDxNH/CA/ED/oS/E/8A4K5//ia/QSij+1Kv\n9MP7Sj/z6ifn3/wgPxA/6EvxP/4K5/8A4mj/AIQH4gf9CX4n/wDBXP8A/E1+glFL+1av9MP7Sj/z\n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\n", "metadata": { "jpeg": { "width": 100 } }, "output_type": "pyout", "prompt_number": 3, "text": [ "" ] } ], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Visit our website or Fanpage!\n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Project 2.1: Derivation of incompressible Navier - Stokes equations
\n", "Project 2.2: Time discretization of Navier-Stokes Equations in 2D
\n", "Project 2.3: Space discratization and update equations
\n", "Project 2.4: Project 2.4: Boundary condition, linear equation and visualization of N-S equations
\n", "Project 2.5: Full Code
\n" ] }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Project 2.3: Space discratization and update equations:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "I would like to develop a way to represent vector field $\\vec{v} = (u,v)$ on staggered grid and as a result find update equations for its components" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "1. Dimensions:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since we take into consideration $3$ quantities, 2-compnent velocity vector $u,v$ and pressure let me consider their spacing" ] }, { "cell_type": "heading", "level": 6, "metadata": {}, "source": [ "1) I would like to analyze vertical and horizontal flows, which means we can use rectangular symmetry and divide our space into rectangular grid." ] }, { "cell_type": "heading", "level": 6, "metadata": {}, "source": [ "2) Value of pressure is given in cell $P_{ij}$ , which is located in its center." ] }, { "cell_type": "heading", "level": 6, "metadata": {}, "source": [ "3) Then most convenient places for $U$, $V$ would be on the cell edges spaced in following way:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "Image(filename='spacing.jpg', width=400)" ], "language": "python", "metadata": {}, "outputs": [ { "jpeg": "/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEP\nERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4e\nHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAGfAdkDASIA\nAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA\nAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3\nODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm\np6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA\nAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx\nBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK\nU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3\nuLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD7Looo\noAKKKKACiiigAooooA4zSP8Akt/ij/sW9G/9KdUrs64zSP8Akt/ij/sW9G/9KdUrs6ACiiigAooo\noAKKKKACiiigDjNI/wCS3+KP+xb0b/0p1SuzrjNI/wCS3+KP+xb0b/0p1SuzoAKKKKACiiigAooo\noAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDjNI/wCS3+KP+xb0\nb/0p1SuzrjNI/wCS3+KP+xb0b/0p1SuzoAKKKKACiiigAooooAKKKKAOM0j/AJLf4o/7FvRv/SnV\nK7OuM0j/AJLf4o/7FvRv/SnVK7OgAooooAKKKKACiiigAooooA4zSP8Akt/ij/sW9G/9KdUrs64z\nSP8Akt/ij/sW9G/9KdUrs6ACiiigAooooAKKKKACiiigDjNI/wCS3+KP+xb0b/0p1SuzrjNI/wCS\n3+KP+xb0b/0p1SuzoAKKKKACiiigAooooAKKKKACiiub+KXiM+EPhx4h8Tp5Zk03TpriIP8AdaRU\nOwH6tgVM5KEXJ9CoxcpKK6nSUV8G/CL9rLxnb67qeofEPWIdQ0m3sJJILGCyiiknuCyiNEZVBA5J\nJOQAD1OK4/xp+1d8X9e1SSfTNZg8PWW791aWNtG20dtzyKzMfXkA+gqno0Stbn6RUV8nfsb/ALQ3\nibxz4pk8D+OZ4b69kt3nsL9YVidynLRuqAKflyQQB905zmu7/bO8b/EH4feA9M8ReB7+GziF79n1\nB2tUmYB1/dkbwQBlSDx1ZaKv7tJvZ/52/MKf7xtLp/lc92or5f8A2Kvjn4n+I+r654b8bajBeajB\nAl3YypbpCWjB2yKQgAOCyEcZ5NU/2u/2kNU8Ea/F4M+H93bJq1v8+p3jwrMICR8sKhsruxyxIOOB\n1zgqe5a/X+vwCHv3t0PqyivEv2Rta+KvivwVN4r+I+qR3FrqBU6TB9ijgk8sZzKdij5W42gjoM9C\nK9tqpRcXZkxkpK6CiiipKCiiigAooooAKKKKACiiigDjNI/5Lf4o/wCxb0b/ANKdUrs64zSP+S3+\nKP8AsW9G/wDSnVK7OgAooooAKKKKACiiigAooooA4zSP+S3+KP8AsW9G/wDSnVK7OuM0j/kt/ij/\nALFvRv8A0p1SuzoAKKKKACiiigAooooAKKKKAOM0j/kt/ij/ALFvRv8A0p1SuzrjNI/5Lf4o/wCx\nb0b/ANKdUrs6ACiiigAooooAKKKKACiiigDjNI/5Lf4o/wCxb0b/ANKdUrs64zSP+S3+KP8AsW9G\n/wDSnVK7OgAooooAKKKKACiiigAooooAK8E/by13+x/2fb6zV9smrXtvZrg843ea36RkfjXvdfGX\n/BSrXefB/hmOT/nvfTJn/dRD/wCjKxrapR7tf5v8Ea0dG32T/wCB+J4b+yz8Kf8Aha/xJTTr4yJo\nenxi61N0OCyZwsQPYueM9gGPUV9j/ta6J4W8Nfsta7pdho1hZWVuLdLKCGFVEcpmQBlx/FjOT1PO\netcf/wAE4NCFp8OPEPiF48Sajqa26sR1SFAR/wCPSN+VL/wUe137H8NdA8PpJiTUdTM7L6pChz/4\n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\nqP8A29+RwS+JHX2f/JZfF3/Yr6R/6UapXNfs1f8AIP1r/rrF/Jq6W0IHxk8XEnAHhfSP/SjVK5r9\nmr/kH61/11i/k1Ov/vVL/t78gfxI9dooorvLOY+JPimTwloUWoxWaXTyXCwhGfaBkMc9PaufufG/\njPTrU32peBWFmo3O8NyGKr68A8U39of/AJE20/6/0/8AQHrqtS8R6FpmgNc3upWhRYP9WJVZnO37\noXOSTXz9erVliK69tyKCjba2qbd7ry7nvUaVKGFpS9jzubknvfS1rWfmW/C2vWHiTR4tU052MTkq\nyMMNGw6qR61qV5v+z9ZXNv4TurqaNo4rq6Lwqe6gAZH4gj8K9Ir1cDWnXw0Ks1ZtJs83MKEMPip0\nqbukwooorrOM4zSP+S3+KP8AsW9G/wDSnVK7OuM0j/kt/ij/ALFvRv8A0p1SuzoAKKKKACiiigAo\noooAKKKKAOM0j/kt/ij/ALFvRv8A0p1SuzrjNI/5Lf4o/wCxb0b/ANKdUrs6ACiiigAooooAKKKK\nACiiigDjNI/5Lf4o/wCxb0b/ANKdUrs64zSP+S3+KP8AsW9G/wDSnVK7OgAooooAKKKKACiiigAo\noooA4zSP+S3+KP8AsW9G/wDSnVK7OuM0j/kt/ij/ALFvRv8A0p1SuzoAKKKKAPNv2h/+RNtP+v8A\nT/0B619M+G/guFYbgaKkkm0N+8mkdc47qWwfxFa3jPwzY+KtMj0/UJriKKOYTBoGAbIBHcHjk1tR\noI41Rc4UADNeTDLoSxdWtWgmny2uk9k7+nQ9V5jOGDp0aU2mnK9m1va3r1CKNIo1jiRURAFVVGAA\nOwFOoor1jygrwbwfqifDTx9qulaxFLHYXHCyKhY7QxMbj1XBIOMnP0Ne81S1XSdL1WNY9T0+1vEQ\n5UTxB9p9s9K5cTh5VHGcHaUdiZK+qPIb7xXc6p8R9Yl8EJ9vm1jRtPsIpijKLcwTXryuwYDjFzHg\n9M5z0AN79mr/AJB+tf8AXWL+TV0XhWxs9M+MPiax061htLVfD2kSiGFAqB2uNSDNgcZIRQT1IUeg\nrsdP03T9OEosLG2tPNbfJ5MSpvb1OByayjhqrrRq1JXavp0+QuV3uy1RRRXeWebftD/8ibaf9f6f\n+gPWvpnw38FwrDcDRUkk2hv3k0jrnHdS2D+IrW8Z+GbHxVpken6hNcRRRzCYNAwDZAI7g8cmtqNB\nHGqLnCgAZryYZdCWLq1q0E0+W10nsnf06HqvMZwwdOjSm005Xs2t7W9eoRRpFGscSKiIAqqowAB2\nAp1FFeseUFeJ3eleKfh743vNX0TSptT0q8Lfu4lZhtY7trBeVKno2MY+pFe2UVz4jDqtZ3s1syXG\n54dbJ4i8e+PNVVLabw7HdaXYwarHI37z7NHLdtEVBVWw7Szjpg+XjPBB6H9n/SdU0my1hNT0+5s2\naaMKJoym7AbOM9Rz1Fbukf8AJb/FH/Yt6N/6U6pXZ1lDB2qRqyk3JXBR1uFFFFdpR5t+0P8A8iba\nf9f6f+gPWvpnw38FwrDcDRUkk2hv3k0jrnHdS2D+IrW8Z+GbHxVpken6hNcRRRzCYNAwDZAI7g8c\nmtqNBHGqLnCgAZryYZdCWLq1q0E0+W10nsnf06HqvMZwwdOjSm005Xs2t7W9eoRRpFGscSKiIAqq\nowAB2Ap1FFeseUFFFFAHGaR/yW/xR/2Lejf+lOqV2dcZpH/Jb/FH/Yt6N/6U6pXZ0AFFFFABRRRQ\nAUUUUAFFFFAHGaR/yW/xR/2Lejf+lOqV2dcZpH/Jb/FH/Yt6N/6U6pXZ0AFFFFABRRRQAUUUUAFF\nFFAHGaR/yW/xR/2Lejf+lOqV2dcZpH/Jb/FH/Yt6N/6U6pXZ0AFFFFABRRRQAUUUUAFFFFAHGaR/\nyW/xR/2Lejf+lOqV2dcZpH/Jb/FH/Yt6N/6U6pXZ0AFFFFABRRRQAUUUUAFFFFAHGaR/yW/xR/2L\nejf+lOqV2dcZpH/Jb/FH/Yt6N/6U6pXZ0AFFFFABRRRQAUUUUAFFFFAHGaR/yW/xR/2Lejf+lOqV\n2dcZpH/Jb/FH/Yt6N/6U6pXZ0AFFFFABRRRQAUUUUAFFFFAHGaR/yW/xR/2Lejf+lOqV2dcZpH/J\nb/FH/Yt6N/6U6pXZ0AFFFFABRRRQAUUUUAFFFFAHGaR/yW/xR/2Lejf+lOqV2dcZpH/Jb/FH/Yt6\nN/6U6pXZ0AcZ/wAJl4j/AOiT+M//AAK0n/5Oo/4TLxH/ANEn8Z/+BWk//J1dnRQBxn/CZeI/+iT+\nM/8AwK0n/wCTqP8AhMvEf/RJ/Gf/AIFaT/8AJ1dnRQBxn/CZeI/+iT+M/wDwK0n/AOTqP+Ey8R/9\nEn8Z/wDgVpP/AMnV2dFAHGf8Jl4j/wCiT+M//ArSf/k6j/hMvEf/AESfxn/4FaT/APJ1dnRQB5XY\na14rg+JOta+3wr8Wm2vdH0+zjjF3pXmK8E167Ej7bjaRcJjBJyGyBxnof+Ey8R/9En8Z/wDgVpP/\nAMnV1if8f83/AFyT+b1PQBxn/CZeI/8Aok/jP/wK0n/5Oo/4TLxH/wBEn8Z/+BWk/wDydXZ0UAcZ\n/wAJl4j/AOiT+M//AAK0n/5Oo/4TLxH/ANEn8Z/+BWk//J1dnRQBxn/CZeI/+iT+M/8AwK0n/wCT\nqP8AhMvEf/RJ/Gf/AIFaT/8AJ1dnRQBxn/CZeI/+iT+M/wDwK0n/AOTqP+Ey8R/9En8Z/wDgVpP/\nAMnV2dFAHldhrXiuD4k61r7fCvxaba90fT7OOMXeleYrwTXrsSPtuNpFwmMEnIbIHGeh/wCEy8R/\n9En8Z/8AgVpP/wAnV1if8f8AN/1yT+b1PQBxn/CZeI/+iT+M/wDwK0n/AOTqP+Ey8R/9En8Z/wDg\nVpP/AMnV2dFAHGf8Jl4j/wCiT+M//ArSf/k6j/hMvEf/AESfxn/4FaT/APJ1dnRQBxn/AAmXiP8A\n6JP4z/8AArSf/k6j/hMvEf8A0Sfxn/4FaT/8nV2dFAHGf8Jl4j/6JP4z/wDArSf/AJOo/wCEy8R/\n9En8Z/8AgVpP/wAnV2dFAHldhrXiuD4k61r7fCvxaba90fT7OOMXeleYrwTXrsSPtuNpFwmMEnIb\nIHGeh/4TLxH/ANEn8Z/+BWk//J1dYn/H/N/1yT+b1PQBxn/CZeI/+iT+M/8AwK0n/wCTqP8AhMvE\nf/RJ/Gf/AIFaT/8AJ1dnRQBxn/CZeI/+iT+M/wDwK0n/AOTqP+Ey8R/9En8Z/wDgVpP/AMnV2dFA\nHGf8Jl4j/wCiT+M//ArSf/k6j/hMvEf/AESfxn/4FaT/APJ1dnRQBxn/AAmXiP8A6JP4z/8AArSf\n/k6j/hMvEf8A0Sfxn/4FaT/8nV2dFAHldhrXiuD4k61r7fCvxaba90fT7OOMXeleYrwTXrsSPtuN\npFwmMEnIbIHGeh/4TLxH/wBEn8Z/+BWk/wDydXWJ/wAf83/XJP5vU9AHGf8ACZeI/wDok/jP/wAC\ntJ/+TqP+Ey8R/wDRJ/Gf/gVpP/ydXZ0UAcZ/wmXiP/ok/jP/AMCtJ/8Ak6j/AITLxH/0Sfxn/wCB\nWk//ACdXZ0UAcZ/wmXiP/ok/jP8A8CtJ/wDk6j/hMvEf/RJ/Gf8A4FaT/wDJ1dnRQBxn/CZeI/8A\nok/jP/wK0n/5Oo/4TLxH/wBEn8Z/+BWk/wDydXZ0UAeV2GteK4PiTrWvt8K/Fptr3R9Ps44xd6V5\nivBNeuxI+242kXCYwSchsgcZ6H/hMvEf/RJ/Gf8A4FaT/wDJ1dYn/H/N/wBck/m9T0AcZ/wmXiP/\nAKJP4z/8CtJ/+TqP+Ey8R/8ARJ/Gf/gVpP8A8nV2dFAHGf8ACZeI/wDok/jP/wACtJ/+TqP+Ey8R\n/wDRJ/Gf/gVpP/ydXZ0UAcZ/wmXiP/ok/jP/AMCtJ/8Ak6j/AITLxH/0Sfxn/wCBWk//ACdXZ0UA\ncZ/wmXiP/ok/jP8A8CtJ/wDk6j/hMvEf/RJ/Gf8A4FaT/wDJ1dnRQBwPg6XXL34k+Idf1Dwlq+iW\n1xo+m2cMd7PaPJI8M187kCCeQBcTp1IJOeOK7fz5f+fOf80/+KoT/j/m/wCuSfzep6AP/9k=\n", "metadata": { "jpeg": { "width": 400 } }, "output_type": "pyout", "prompt_number": 12, "text": [ "" ] } ], "prompt_number": 12 }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the picture above I used grid with $nx = 3, ny=2$ blue($U$), black($V$), red($P$) colors are used for interior points and green($U$), gray($V$), orange($P$) ones for boundary. Dimensions of each quantity can be deduced from the picture:\n", "$$dim(U_{interior}) = 2 \\times 2 = n_x-1 \\times n_y $$\n", "$$dim(V_{interior}) = 3 \\times 1 = n_x \\times n_y-1 $$\n", "$$dim(P_{interior}) = 3 \\times 2 = n_x \\times n_y $$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "I would like to collect them in following table:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
QuantityResolution of interior pointsWith boundary condition
pressure P$n_x \\times n_y$$n_x +2 \\times n_y+2$
velocity x-component U$(n_x-1) \\times n_y$$n_x+1 \\times n_y+2$
velocity y-component V$n_x \\times (n_y-1)$$n_x+2 \\times n_y+1$
" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "2. Numerical differantiation:" ] }, { "cell_type": "heading", "level": 6, "metadata": {}, "source": [ "2.1 Second derivatives:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\Delta U_{i,j} = (U_{xx})_{i,j} + (U_{yy})_{i,j} \\approx \\frac{U_{i-1,j} - 2U_{i,j}+U_{i+1,j}}{h_x^2} + \\frac{U_{i, j-1} - 2U_{i,j}+U_{i,j+1}}{h_y^2} \\quad(2.1)$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can find these derrivative in equation 2.4 in previous notebook:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\\frac{U^{**} - U^*}{\\Delta t} = \\frac{1}{Re}(U^{**}_{xx}+U^{**}_{yy}) = \\frac{1}{Re}\\Delta U^{**}\\quad(2.2) $$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From equation it is easy to find linear equation for $U^{*}$:\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\\bigg(-\\frac{\\Delta t}{Re}\\Delta+1 \\bigg)U^{**}=U^{*} \\quad(2.3) $$\n", "$$$$\n", "$$L_u U^{**} = U^* \\quad(2.4) $$\n", "Where we have linear operator $L_u$, yet to be found. Assuming we found operator we can state update equation in a form:\n", "$$$$\n", "$$U^{**} = L_u^{-1}U^* \\quad(2.5) $$" ] }, { "cell_type": "heading", "level": 6, "metadata": {}, "source": [ "Laplace operator:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You may wonder how our Laplacian will look like. First of all we have to recall matrix representation of Laplacian. For seek of simplicity we would like to introduce 3x3 laplacian:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$ -L_0 = \\frac{1}{h^2}\\begin{bmatrix} a_{11} & -1 & 0 \\\\ -1 & 2 & -1 \\\\ 0 & -1 & a_{33} \\end{bmatrix} \\quad(2.6) $$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Where $a_{11}$ and $a_{33}$ are yet to be defined during boundary condition discussion." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we introduce a grid represented by matrix 3x3 A, we should obtain follwing form of Laplace operator $\\frac {\\partial^2}{\\partial x^2}+ \\frac {\\partial^2}{\\partial y^2}$ :" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\\Delta X = L_0 X + X L_0 \\quad(2.7) $$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To increase speed of calculation we would like to use vector form of our $U$ vector. It is obtained by command:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# U = internal structure + Ubc = boudary conditions\n", "rhs = np.ravel((U+Ubc))" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For row representation of coefficients L would take a form involving kronecker products with eye matrices,namely representation of 2.5 $L_u$, which inverse is capable of acting on rhs." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We should introduce a function generating Laplacian of given size. I am quite sure my function $Lap$ is not perfect and it can be upgraded but hey, it works! Here we have example of a code generating Laplacians $ L_u ->U-$ vector laplacian, $L_v->V-$ vector laplacian with already implemented boundary condition, Dirichlet by default:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from scipy import sparse\n", "import numpy as np\n", "\n", "def Lap(size, delta, boudary_cond='Dirichlet'):\n", "\n", " \"\"\"Function returning Matrix representing Laplace operator\"\"\"\n", " \"\"\"arguments:\"\"\"\n", " \"\"\"size - size of matrix\"\"\"\n", " \"\"\"delta - discretisation step\"\"\"\n", " \"\"\"boundary_cond - type of boundary_condition \"\"\"\n", " \n", " \n", " Lap_row = np.concatenate((np.array([-1, 2, -1]), np.zeros(size-2)))\n", " Lap_op = Lap_row[:]\n", "\n", " for i in range(size-1):\n", " Lap_op = np.concatenate((Lap_op, Lap_row))\n", "\n", " deletion = [0] + list(range(-size+1, 0))\n", "\n", " for i in deletion:\n", " Lap_op = np.delete(Lap_op, i)\n", "\n", " look_up_tab = {'Neumann': 1, 'Dirichlet': 2, 'Dirichlet_between': 3}\n", " Lap_op[0] = Lap_op[-1] = look_up_tab[boudary_cond]\n", "\n", " return np.reshape(Lap_op, (size, size)) / delta ** 2\n", "\n", "\n", "nx = 3\n", "ny = 3\n", "Re = 1\n", "dt = 1\n", "hx = 1\n", "hy = 1\n", "\n", "Lu = sparse.eye(nx*(ny-1))+dt / Re*(sparse.kron(sparse.eye(ny), Lap(nx-1, hx)) + \n", " sparse.kron(Lap(ny, hy), sparse.eye(nx-1)))\n", "Lv = sparse.eye(nx*(ny-1))+dt / Re*(sparse.kron(sparse.eye(ny-1), Lap(nx, hx)) +\n", " sparse.kron(Lap(ny-1, hy), sparse.eye(nx)))\n", "print(Lu)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " (0, 0)\t3.0\n", " (0, 1)\t-1.0\n", " (0, 2)\t-1.0\n", " (1, 0)\t-1.0\n", " (1, 1)\t3.0\n", " (1, 3)\t-1.0\n", " (2, 0)\t-1.0\n", " (2, 2)\t4.0\n", " (2, 3)\t-1.0\n", " (2, 4)\t-1.0\n", " (3, 1)\t-1.0\n", " (3, 2)\t-1.0\n", " (3, 3)\t4.0\n", " (3, 5)\t-1.0\n", " (4, 2)\t-1.0\n", " (4, 4)\t3.0\n", " (4, 5)\t-1.0\n", " (5, 3)\t-1.0\n", " (5, 4)\t-1.0\n", " (5, 5)\t3.0\n" ] } ], "prompt_number": 6 }, { "cell_type": "heading", "level": 6, "metadata": {}, "source": [ "2.2 First derivative:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since we are interested in values on the edges of the cell we can calculate velocity field using formula:\n", "$$\n", "(U_x)_{i,j} \\approx \\frac{U_{i+\\frac{1}{2},j} - U_{i-\\frac{1}{2},j}}{h_x} \\quad(2.2)$$ " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Then $U_x$ is \"living\" inside Cell in the same position as $P_{i,j}$, something similair happends to $(V_y)_{i,j}$" ] }, { "cell_type": "heading", "level": 6, "metadata": {}, "source": [ "2.3 Nonlinear terms" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If you recall forumla 2.3 from previous notebook you know we have to find a way for treating nonlinear terms, namely to find a way to store those quantity in correct places." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We need $U^2$ in cell center and $UV$in the corner so interpolating neighboring values should be enough, so we have:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$((\\overline{U}^h)^2)_{i,j} = \\bigg(\\frac{U_{i+\\frac{1}{2},j} + U_{i-\\frac{1}{2},j}}{2}\\bigg)^2 \\quad(2.3a)$$ \n", "$$$$\n", "\n" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import numpy as np\n", "import math as mt\n", "\n", "def avg(A, k=1):\n", "\"\"\"\n", " Returns horizontally averaged matrix\n", "\"\"\"\n", " if A.shape[0] == 1:\n", " A = np.transpose(A)\n", " if k < 2:\n", " B = (A[1::][:] + A[0:-1][:])/2\n", " else:\n", " B = avg(A, k-1)\n", " if len(A.shape) < 2:\n", " B = np.reshape(B, (1, len(B)))\n", " return B\n", "\n", "#Copies of the field:\n", "Ue = U\n", "Ve = V\n", "\n", "#Treating U^2, V^2 terms\n", "Ua = avg(Ue[:, 1:-1]) #We are leaving boundary conditions untouched thus [1:-1]\n", "Ud = np.diff(Ue[:, 1:-1], axis=0)/2.0\n", "Va = avg(Ve[1:-1][:].T).T\n", "Vd = np.diff(Ve[1:-1][:])/2.0\n", "\n", "U2x = np.diff(Ua**2, axis=0) / hx\n", "V2y = np.diff(Va**2) / hy" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next in case of terms $UV$ we should use following formulas:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "$$\\overline{U}^h_{i,j} = \\frac{U_{i+\\frac{1}{2},j} + U_{i-\\frac{1}{2},j}}{2} \\quad(2.3b)$$ \n", "$$$$\n", "$$\\overline{V}^v_{i,j} = \\frac{V_{i,j+\\frac{1}{2}} + V_{i,j-\\frac{1}{2}}}{2} \\quad(2.3c)$$ " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Where subscribts indicate quantity is averager either averaged horizontally $^h$ or vertically $^v$, finally equation 2.3 from previous notebook changes into:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#UV Terms\n", "Ua = avg(Ue.T) #vertically averaged\n", "Ud = np.diff(Ue)/2.0\n", "Va = avg(Ve) #horrizontally averaged\n", "Vd = np.diff(Ve, axis=0)/2.0\n", "\n", "UVx = np.diff(Ua * Va, axis=0) / hx\n", "UVy = np.diff(Ua * Va) / hy" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Recalling update equation we find:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "$$\\frac{U^* - U^n}{\\Delta t} = -((\\overline{U}^h)^2)_x - (\\overline{U}^v\\overline{V}^h)_y \\quad(2.4a) $$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\\frac{V^* - V^n}{\\Delta t} = -((\\overline{V}^v)^2)_y - (\\overline{U}^v\\overline{V}^h)_x \\quad(2.4b)$$" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Update equation:\n", "U += - dt * (UVy[1:-1, :] + U2x)\n", "V += - dt * (UVx[:, 1:-1] + V2y)" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "3. Making life easier - shorthand notation class:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Believe me or not but I tend to be lazy and probably this is the main reason for this class to exist. I decided to create operator class, which instance $op$ is usefull during concatenation and numpy matrix hokus-pokus operations.\n" ] }, { "cell_type": "code", "collapsed": false, "input": [ "class Operators:\n", " \"\"\"\n", " Class responsible for shorthand notation\n", " Functions:\n", " cncat - concatenation ->\n", " matrix_tuple -> tuple of matrixes to concatenate\n", " dim -> vertical/horizontal direction, vertical by default\n", " vec2col -> transforming np array generated as (x,) to column vector (x,1)\n", " vec2row -> transforming np array generated as (x,) to row vector (1,x)\n", " \"\"\"\n", " def cncat(self, matrix_tuple, dim='v'):\n", " \"\"\"Concatenation\"\"\"\n", " if dim == 'v':\n", " return np.concatenate(matrix_tuple, axis=0)\n", " if dim == 'h':\n", " return np.concatenate(matrix_tuple, axis=1)\n", " def vec2col(self, vec):\n", " return np.reshape(vec, (max(vec.shape), 1))\n", "\n", " def vec2row(self, vec):\n", " return np.reshape(vec, (1, max(vec.shape)))\n" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since this is straight forward declaration I would like to stop here and focus on last notebook concerning: Boundary conditions problem, pressure correction, linear equation solver and visualisation." ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Do not forget to visit our website:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from IPython.display import HTML\n", "HTML('')" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "" ], "metadata": {}, "output_type": "pyout", "prompt_number": 1, "text": [ "" ] } ], "prompt_number": 1 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "4. References:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[1]Seibold Benjamin, MIT: A compact and fast Matlab code solving the incompressible Navier-Stokes equations on ractangular domains,
\n", "[2]Matyka Maciej, Wroclaw University: Solution to two-dimensional Incompressible Navier-Stokes Equations with\n", "SIMPLE, SIMPLER and Vorticity-Stream Function Approaches.\n", "Driven-Lid Cavity Problem: Solution and Visualization.\n" ] } ], "metadata": {} } ] }