{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Gauss integration of Finite Elements" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from __future__ import division\n", "from sympy.utilities.codegen import codegen\n", "from sympy import *\n", "from sympy import init_printing\n", "from IPython.display import Image\n", "init_printing()" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [], "source": [ "r, s, t, x, y, z = symbols('r s t x y z') \n", "k, m, n = symbols('k m n', integer=True)\n", "rho, nu, E = symbols('rho, nu, E')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Predefinition" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The constitutive model tensor in Voigt notation (plane strain) is\n", "$$C = \\frac{(1 - \\nu) E}{(1 - 2\\nu) (1 + \\nu) }\n", "\\begin{pmatrix}\n", "1 & \\frac{\\nu}{1-\\nu} & 0\\\\\n", "\\frac{\\nu}{1-\\nu} & 1 & 0\\\\\n", "0 & 0 & \\frac{1 - 2\\nu}{2(1 - \\nu)}\n", "\\end{pmatrix}$$\n", "\n", "But for simplicity we are going to use\n", "$$\\hat{C} = \\frac{C (1 - 2\\nu) (1 + \\nu)}{E} = \n", "\\begin{pmatrix}\n", "1-\\nu & \\nu & 0\\\\\n", "\\nu & 1-\\nu & 0\\\\\n", "0 & 0 & \\frac{1 - 2\\nu}{2}\n", "\\end{pmatrix} \\enspace ,$$\n", "since we can always multiply by that factor afterwards to obtain the correct stiffness matrices." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "iVBORw0KGgoAAAANSUhEUgAAAPsAAABLCAMAAACBZgHhAAAAPFBMVEX///8AAAAAAAAAAAAAAAAA\n", "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo1xBWAAAAE3RSTlMA\n", "MquZdlQQQOkwRCLN3Ylmu+9sMz8ldQAAA+ZJREFUeAHtnOtioyAQhVHQdhMxur7/uy5gBSRcRhy2\n", "GvVHi9Ec+BwEMyeEVJPaanKdjc/IhFQTZWJrroNOXhK4niR7dSFsg/pCYR9ao/jrpVb0YgqJJgZ7\n", "O0xHYucPQloOgM9hb592bNu6ro/EzrhsHevsNvrLOewNc7TYkdi5mq8e0ypAToPn3c9jn6gkq6b0\n", "tBVlb7qpl0KvdQdCintAXVa4Y3vOTa4mt3O+a0bZSTtfPa4upX4zEntAXVeTV9DsKmpRjTh7o25k\n", "d/7HYverR5ubPpjL/uy42cRMQagaMwfnaReL3a+exoueodn39nnV2ZtRz960kxsf1T9zRTLHeVc9\n", "ygQ+uIx1r+Q7on1e3e7V6M4WSHEPqCebnDhhnuOavXOcvCEfnYtOkNgD6gm05OH52aZXd2v85Gjc\n", "KW97z3CJxB5Qj7cXcJSLmb0d9z7T8oHpW92q1GGndJw6mr69LAVVDKi7p23eb2nPagA6icY9UK3D\n", "Hjjr+C/nsD/S08fxwUULc9hPAQZo5M0OGRkAF/Jkp9xxv+N+si67u7l3n7/7/O5OdDKBA/f5XMPj\n", "v3oTRcKdb3gU9SZKsK79DrLD8CjrTZRgf/9smJkII2W9iWOzL/m6nd6EgUT0EfxSaHFHy9MaeL9L\n", "YY5vKHml8Nk9yTankdA5DtFH8EodmT3fR4AZHvjs6eSSjPvX9x+nN7zvIvoIjlTA7yC54/wy1qWT\n", "p3+/Qd+3QfQR/FJocf+Z43Z7Eyb8iD6CXwqPHcmbMOyIPoJfCo+d4HgThh3RR/BLuey5hodoclFv\n", "wlwSvJLLjqccVoLO72EFnCO/4XcchR3nCm5TudnvfN22HnP+sy/W56vBCtml2Cta219FuRQ7Ic3N\n", "Pnf8O+6AOQ6c8bcGk1SxhGa8zrw+D874xytfHS2huargbSeLHZ7xf6sv+EIJTbsyx++Qh7LY4Rl/\n", "u/Z4uYSmXaPns2EW+5IFS2f87drj5RKado1I7Bsy/nbt0TKiJtDvePadWAapGwWc43Q70xl/LZ0q\n", "YGoC/Y51kz6EHeh37GM3PWatk7Gn475dM8/vmNf/ir8/jQXGnSzjUjrjD78KiJpAv2PdNig7fDXC\n", "Wj+2h6cJ9Tt6OtTmW/FQdnjGP0a7PoanCfQ7qOCmZq0flB2e8V/zRffALkJURRwE+h1cLH95mgXv\n", "YHZwxj/VTus4mibM7yCjXE0yycVvagOzL2840X/Pc514ojfrlj+Z3et3dObp7JPZfV20Nysar7Zm\n", "5GWifrX1Mg+BXukk1aX6fDU0TWMebmb2i/y2z6g45TCgf9unlT90w5ie93xjxIe9pn7bhzHyDzkd\n", "Mny0u+p0AAAAAElFTkSuQmCC\n" ], "text/latex": [ "$$\\left[\\begin{matrix}- \\nu + 1 & \\nu & 0\\\\\\nu & - \\nu + 1 & 0\\\\0 & 0 & - \\nu + \\frac{1}{2}\\end{matrix}\\right]$$" ], "text/plain": [ "⎡-ν + 1 ν 0 ⎤\n", "⎢ ⎥\n", "⎢ ν -ν + 1 0 ⎥\n", "⎢ ⎥\n", "⎣ 0 0 -ν + 1/2⎦" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "C = Matrix([[1 - nu, nu, 0],\n", " [nu, 1 - nu, 0],\n", " [0, 0, (1 - 2*nu)/2]])\n", "C_factor = E/(1-2*nu)/(1 + nu)\n", "C" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Interpolation functions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The enumeration that we are using for the elements is shown below" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "iVBORw0KGgoAAAANSUhEUgAACEQAAAjrCAYAAABZdZ+rAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\n", "AAAuIwAALiMBeKU/dgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAACAASURB\n", "VHic7N1ptK1XXef778lJBwkkBAIBaZLQCSYIGJXOqw5USlFBS6DUKse1o7TKK9cStQodd+DVspRr\n", "U9yyhcugBq0d0hatIoqKUkBZgIAgjQQCBAgJIX3OyX2xtlaIp9l77bWeuZrPZ4z/2MDe65n/53lY\n", "8838nTkPBNzc7atzq/Nu9vMe1RnVrarbVifv/LxVdWp1RXV9dWV1dXXdzv92dfXR6pLq4uoD1Xuq\n", "T0x0LwAAAAAAAABb68DoBmCge1UPrx68Uw9oFnRYtsurd1Vv3am37Pz3myYYGwAAAAAAAADYMKdX\n", "j6+eW32kWQBhVerS6verH2q2KwUAAAAAAAAAwFGdUX1n9eJmR1iMDj7stt5R/cdmu1YAAAAAAAAA\n", "AHSw+ubqZdW1jQ837LfeXv1Edc4iHxIAAAAAAAAAsB7OrP5D9eHGhxiWUddVL6y+YlEPDAAAAAAA\n", "AABYXXeqfqG6ovGhhanqL6vHVAcW8PwAAAAAAAAAgBVy2+pnqisbH1AYVe9odjwIAAAAAAAAALDm\n", "TqieWH2y8YGEVak3Vg/Zz0MFAAAAAAAAAMZ5cPVXjQ8grGIdrp5V3WHupwsAAAAAAAAATOrk6mer\n", "GxofPFj1+nT13fM9ZgAAAAAAAABgKhdU72h80GDd6uXVned43gAAAAAAAADAkn1vdXXjwwXrWp+q\n", "vnnPTx0AAAAAAAAAWIpTqmc3PlCwCXW4+sXqpD29AQAAAAAAAOB4zq2eXl3bkdfqzh7WGbCSzqn+\n", "ovFBgk2rN1Z33MN7AAAAAAAAAI7s/Oq3qhs69hqdQATwj+5ffbjx4YFNrQ9WF+76bQAAAAAAAAA3\n", "d0H1nOrGdrc+JxABVPWQ6lONDw1sen22+rpdvhMAAAAAAACgHtAsCHGova3NCUQAPbL6XOPDAttS\n", "11VP2NWbAQAAAAAAgO31oOp3q8PNty4nEAFb7qurqxofEti2OlQ9cRfvBwAAAAAAALbNI6qXt/81\n", "OYEI2GJfkZ0hRtbh6ruP+5YAAAAAAABgOzyiel2LW48TiIAt9UXVZY0PBWx73Vh9x3HeFQAAAAAA\n", "AGyyr6ne1OLX4gQiYAvdtbq48WEANavrq8ce840BAAAAAADAZjlQfVP15pa3DicQAVvmVtV/b3wI\n", "QH1+XVc9+hjvDQAAAAAAADbBCc2CEG9t+WtwAhGwRQ5UL2z84r86cl1dPfSobw8AAAAAAADW1wnV\n", "46p3Nd36m0AEbJEfbfyivzp2fby6+9FeIAAAAAAAAKyZk6rvqv626dfeBCJgS3xps2MZRi/4q+PX\n", "X1enH/k1AgAAAAAAwFo4uVkQ4n2NW3cTiIAtcJvGTjTHq+uqy6qPVu+v3l69s/rAzv++jUGO5x3x\n", "TQIAAAAAAMBqO6V6YnVx49fcBCIGOnF0A2yNX6ruNbiHQ9V7q7dV/7P6ULNJ8MPNjok4fJzPn1id\n", "W92n+sLq3tWF1Zc122Zn03xn9afVM0Y3AgAAAAAAALtwWvV91Y9XdxncC7AlvqZZ2GDqtNWh6i+r\n", "p1YPbzYBLsNp1aOqX6jeMuA+l1nXVBcs7lEBAAAAAADAwt2melKzfwQ9en3NDhGwRU6rPth0E8qN\n", "1Surf1ndYYL7O5L7VD/XamzBs4h6a5u5AwYAAAAAAADr7fbN/nH0ZY1fUxOIgC30c00zkbyr+rFW\n", "a+ubg812jnhN4yfa/dZPL/jZAAAAAAAAwLzu0CwIcXnj19EEImBL3bO6tuVOIG+tHlcdmOie5vXQ\n", "6uWNn3Dnreuq+y/8qQAAAAAAAMDu3bH6+eqqxq+fCUTAlntZy5s4Xl995XS3sjBf0SzEMXrinafe\n", "0OoHTwAAAAAAANg8d6+eXl3d+DUzgQigL2s5E8b7qsdOeB/LcGL1463nhP2dS3geAAAAAAAAcCTn\n", "NgtCXNP4dTKBCOAfvbLFThRXVk+uTp7yJpbsXs12uhg9Ce+lPlSduoRnAQAAAAAAAP/g/Oq3qhsa\n", "vz4mEAF8nouqwy1ukviL6t6T3sF0DlQ/UR1q/GS82/rRpTwJAAAAAAAAtt0XVc+pbmz8mphABHBE\n", "r2oxk8M1zRbfT5i2/SG+ofpM4yfk3dQnq9OW8xgAAAAAAADYQg9o84IQAhGwgR7aYiaGv2s28W2T\n", "e1XvaPykvJv6kSU9AwAAAAAAALbHA6vfbbG7z69aCUTABvlv7X9SeHV11tSNr4gzqj9v/MR8vPpI\n", "dfKSngEAAAAAAACb7eHVyxu/5iUQAezaedWh9jch/Hx1cOrGV8zp1esbPzkfr75jWQ8AAAAAAACA\n", "jfSIticIIRABG+bnmn8iOFz9n9O3vLJOqV7a+An6WPXGpd09AAAAAAAAm+QRrcc/CBaI2DAHRjfA\n", "xjip+nB1zhyfPVz9QPXMhXa0/k6pXlZ93ehGjuGC6m9GNwEAAAAAAMDKukv1weY7jv2q6k3Vn1bv\n", "qj5Ufaa6sTqzunP10Oprq4ctoNdluGP1ydFNAPvzz5svEXVj9S8H9Lsublu9vfHJtaPVzy3v1gEA\n", "AAAAANgQz2j360/vqH6yWdDhpD2M8eBWcwd2O0TABnhd800APzSi2TVzl+rixk/WR6q/z04zAAAA\n", "AAAAHNs9qxs6+prTB5v9Q9wLFzDW/95sZ4nR62gCEbAh7lkdau9f/v80otk19eDqysZP2Eeqhyzx\n", "vgEAAAAAANgMz+3z15gOVS+uvrrF/wPcr2p11tYEImDN/WR7/+I/LzsL7NV3NH7CPlL9zDJvGgAA\n", "AAAAgI1wv2YhiCuqX6nOX/J4j64ON34tTSAC1tyb29uX/r9XpwzpdP29oPGT9i3rbUu9YwAAAAAA\n", "ADbFN1W3nXC8ZzR+LU0gAtbYXdtbsuryZkdsMJ8zqw83fuK+eR2u7rjMmwYAAAAAAIA5nFV9LoGI\n", "rXXC6AZYe49tb0df/Jvq/UvqZRtcXn1nsxDCqjhQPXx0EwAAAAAAAHALl1XPHt0EsL5e2+7TT785\n", "qMdN9MzG7wxx8/ql5d4uAAAAAAAAzOX+2SECmMOZ1fXt7ov+4eo2Y9rcSOdUVzY+CPEP9efLvV0A\n", "AAAAAACY2/sTiNhKjsxgP76hOmmXf/t/NFvAZzE+Xj1tdBM3c2F7OzoFAAAAAAAApvKa0Q0A6+dZ\n", "7S719PujGtxwt2q288bo3SH+oc5b7u0CAAAAAADAXL47O0RsJTtEsB+P2MXfXFn98LIb2VLXVD87\n", "uombud/oBgAAAAAAAOAI3jO6AcYQiGBeZ1f33sXf/XJ1yZJ72WbPrT49uokd545uAAAAAAAAAI7g\n", "3aMbYAyBCOb1FdWB4/zNp5oFIliea6pnjm5ix7mjGwAAAAAAAIAjuLz6+OgmmJ5ABPN6+C7+5uer\n", "zy67Efr16sbRTVR3Hd0AAAAAAAAAHMXfjm6A6QlEMK9HHOf3H6l+bYpG6OLqxaObqG4/ugEAAAAA\n", "AAA4iktGN8D0BCKYx62rBx7nb36lunaCXph57ugGEogAAAAAAABgdX16dANMTyCCeXxJdfIxfn9l\n", "9ayJemHmddXnBvdwxuDxAQAAAAAA4GgEIraQQATz+KLj/P7/q66YohH+0bXVqwf3cMrg8QEAAAAA\n", "AOBoPjW6AaYnEME87n+M3x2qfnWqRvg8Lx48/rF2DQEAAAAAAICRBCK2kEAE8zhWIOIV1QemaoTP\n", "89+qGwaOf+LAsQEAAAAAAOBYHJmxhQQimMexjsz4r1M1wT9xRfX2geNfN3BsAAAAAAAAOBY7RGwh\n", "gQj26nbVOUf53WXVqybshX/qrwaOfe3AsQEAAAAAAOBYrhzdANMTiGCvjrU7xAuyS8BoAhEAAAAA\n", "AADwT1nL2kICEezV/Y/xu+dM1gVHMzIQIQwDAAAAAADAqrpmdANM78TRDbB2fq/6w6P87gNTNsIR\n", "vbe6vDpzwNiXDxgTAAAAAAAAdkMgYgsJRLBXn9kpVtNN1d9VFw0Y++MDxgQAAAAAAIDduLbZWtqB\n", "0Y0wHUdmwOb5+0HjXjpoXAAAAAAAADiew9X1o5tgWgIRsHk+NGjcTw4aFwAAAAAAAHbDsRlbRiAC\n", "Ns+oHSIcmQEAAAAAAMAqE4jYMgIRsHk+NGjc9w0aFwAAAAAAAHZDIGLLCETA5vn0oHHfO2hcAAAA\n", "AAAA2I1rRzfAtAQiYPNcPWDMK6tPDBgXAAAAAAAAduvw6AaYlkAEbJ6rBoz5vuqmAeMCAAAAAADA\n", "bh0a3QDTEoiAzTPi7KP/OWBMAAAAAAAA2As7RGwZgQjYPCOOzHjrgDEBAAAAAABgL+wQsWUEImDz\n", "jNghQiACAAAAAACAVWeHiC0jEAGb56SJx7shR2YAAAAAAACw+gQitoxABGyeUyYe7x2N2ZUCAAAA\n", "AAAA9sKRGVtGIAI2z9SBiD+aeDwAAAAAAACYhx0itoxABGye0yYe7/UTjwcAAAAAAADzsEPElhGI\n", "gM1z9oRjXV+9ccLxAAAAAAAAYF52iNgyAhGweW4/4Vh/WV014XgAAAAAAAAwLztEbBmBCNg8U+4Q\n", "8YoJxwIAAAAAAID9sEPElhGIgM1zlwnHeumEYwEAAAAAAADsmkAEbJ7zJhrn7dV7JxoLAAAAAAAA\n", "YE8EImDzTBWIePFE4wAAAAAAAADsmUAEbJ6pAhG/P9E4AAAAAAAAAHsmEAGb5TbV3SYY563VOycY\n", "BwAAAAAAAGAuAhGwWS6sDkwwzrMnGAMAAAAAAABgbgIRsFkunGCM66vfmWAcAAAAAAAAgLkJRMBm\n", "mSIQ8ZLqUxOMAwAAAAAAADA3gQjYLA+ZYIzfmGAMAAAAAAAAgH0RiIDNcVr1xUse453Vnyx5DAAA\n", "AAAAAIB9E4iAzfFl1YlLHuOXq5uWPAYAAAAAAADAvglEwOZ42JKv/8nqhUseAwAAAAAAAGAhBCJg\n", "c3zNkq//69W1Sx4DAAAAAAAAYCEEImAznFY9dInX/1z1q0u8PgAAAAAAAMBCCUTAZviq6pQlXv9X\n", "q08t8foAAAAAAAAACyUQAZvh65Z47auqX17i9QEAAAAAAAAWTiAC1t+B6rFLvP5vVp9c4vUBAAAA\n", "AAAAFk4gAtbfRdXdl3Tta7M7BAAAAAAAALCGBCJg/X3LEq/9jOqSJV4fAAAAAAAAYCkEImD9feuS\n", "rntt9f8s6doAAAAAAAAASyUQAevtouq+S7r206uPLOnaAAAAAAAAAEslEAHr7V8t6bqfqZ62pGsD\n", "AAAAAAAALJ1ABKyvE6snLOnaT60uW9K1AQAAAAAAAJZOIALW16OqOy3huu+vfnMJ1wUAAAAAAACY\n", "jEAErK8nLum6/766fknXBgAAAAAAAAA4qrtVN1Y3Lbj+sjow4X0AAAAAAADAVF7d4tfXjldnT3Jn\n", "HJEdImA9fX91cMHXvKl68s5PAAAAAAAAgLUmEAHr56Tq+5Zw3RdUf7aE6wIAAAAAAABMTiAC1s+/\n", "qO684Gt+tvrxBV8TAAAAAAAAYBiBCFg/P7KEa/6H6pIlXBcAAAAAAAAA4Li+prppwfWW6uCUNwEA\n", "AAAAAAADvLrFr7Udr86e5M44IjtEwHpZ9O4Qh6of2PkJAAAAAAAAsDEEImB9PLD6+gVf8zeb7RAB\n", "AAAAAAAAADDEi1rs9jwfr86c9A4AAAAAAABgHEdmbBk7RMB6uLD6lgVf80nV5Qu+JgAAAAAAAMBK\n", "EIiA9fBT1YEFXu+l1e8s8HoAAAAAAAAAAHvygOpQi9uW59LqjpPeAQAAAAAAAIznyIwtY4cIWH0/\n", "12K/q/+2WSgCAAAAAAAAAGCIR7TYBNpvT9s+AAAAAAAArAw7RACskDfkqAwAAAAAAABYBIGILePI\n", "DFhdj6m+coHX+4EclQEAAAAAAAAADHRq9f4Wlzx7wbTtAwAAAAAAwMqxQ8SWsUMErKYfr85f0LUu\n", "rn5oQdcCAAAAAAAAAJjL3arPtZjE2Q3Vw6ZtHwAAAAAAAFaSHSK2jB0iYPX85+q0BV3r/6r+YkHX\n", "AgAAAAAAAACYyyNbXNrsDdXBSbsHAAAAAACA1WWHiC1jhwhYHSc22x1iET5ZfUd1aEHXAwAAAAAA\n", "AFgrAhGwOn6kumAB17mp+r7qkgVcCwAAAAAAAABgbneqLm8x2+78ysS9AwAAAAAAwDpwZAbAAL/f\n", "YibUN1enTNw7AAAAAAAArAOBCICJfXuLmUw/XZ03ce8AAAAAAACwLgQiACZ0dvWJ9j+RHqoeNXHv\n", "AAAAAAAAsE4EIrbMCaMbgC33G9UdF3Cdp1SvWcB1AAAAAAAAAAD2ZVFHZbykOjBx7wAAAAAAALBu\n", "7BABMIFFHZXxt9UZE/cOAAAAAAAA60ggYss4MgPGWMRRGZ+rvrW6Yv/tAAAAAAAAAADszyKOyjhc\n", "PX7qxgEAAAAAAGCN2SECYInOqT7V/ifOn526cQAAAAAAAFhzAhEAS3JC9Zr2P2m+KMfdAAAAAAAA\n", "wF4JRAAsyVPa/4T5tuq0qRsHAAAAAACADSAQAbAED6mub3+T5SXV3aZuHAAAAAAAADaEQMSWse0+\n", "LN/tqt+uTtrHNa6pHltdvJCOAAAAAAAAADacQAQs14Hq2dU99nGNm6rvqd68kI4AAAAAAAAAAPbp\n", "ye1/G52fmrxrAAAAAAAA2DyOzABYkC+vrm9/E+Tzmu0yAQAAAAAAAOyPQATAApxZfaD9TY5/XJ0y\n", "deMAAAAAAACwoQQitswJoxuADfWs6rx9fP6d1bdU1y2mHQAAAAAAAACA/Xly+0uJ/X31BZN3DQAA\n", "AAAAAJvNDhEA+/C11Y3NPyFeXj1g8q4BAAAAAABg8wlEbBlHZsDinFe9oDo45+evr/559faFdQQA\n", "AAAAAACwpQQiYDFOr15W3WHOzx+uvrP6o4V1BAAAAAAAAACwDweq32t/W+U8afKuAQAAAAAAYLs4\n", "MgNgj366/U2CT5u+ZQAAAAAAANg6AhEAe/DYZsddzDsBPqfZDhMAAAAAAADAcglEAOzS/aormn/y\n", "e2l14uRdAwAAAAAAwHYSiADYhbOq9zX/xPfH1amTdw0AAAAAAADbSyBiy5wwugFYQwer51X3mvPz\n", "b6++pbp2YR0BAAAAAAAAAOzTf2n+BNj7qjtN3zIAAAAAAABsPTtEABzDk5t/svtIde7kHQMAAAAA\n", "AAAlEAFwVN9WHWq+ie4z1RdP3zIAAAAAAACwQyAC4Ai+tLqq+Sa5q6qHT98yAAAAAAAAcDMCEVvm\n", "hNENwBo4v3pFdes5PntDs50l/nyhHQEAAAAAAAAA7MPtq/c0X9rrUPWE6VsGAAAAAAAAjsAOEQA7\n", "Tq3+rPkntydN3zIAAAAAAABwFAIRANWB6nnNP7H91PQtAwAAAAAAAMcgEAFQ/ULzT2q/OqBfAAAA\n", "AAAA4NgEIoCt933NP6E9rzph+pYBAAAAAACA4xCIALbao6sbmm8ye0V10vQtAwAAAAAAALsgEAFs\n", "rYdUn2u+iexN1WnTtwwAAAAAAADskkAEsJUuqD7dfJPY26vbTd8yAAAAAAAAsAcCEVvmhNENwAo4\n", "v3ptddYcn/1A9ajqMwvtCAAAAAAAAIB9EYhg251dvbK68xyfvbT6+upjC+0IAAAAAAAAgH0TiGCb\n", "3bZ6TXXfOT57RfXPqvcutCMAAAAAAAAAFkIggm11q+rl1YPm+Ow11TdV/2OhHQEAAAAAAAAA7MPB\n", "6kXVTXPU9dWjp28ZAAAAAAAA2KdXN98a4X7q7EnuDKA6UD2r+SarQ9W/mL5lAAAAAAAAYAEEIoCN\n", "9ovNN1Edrp44oF8AAAAAAABgMQQigI31U80/Uf34gH4BAAAAAACAxRGIADbSv262y8M8k9R/HNAv\n", "AAAAAAAAsFgCEcDG+VfVoeaboH5tQL8AAAAAAADA4glEABvlW6sbmm9yel51wvQtAwAAAAAAAEsg\n", "EAFsjMdU1zffxPSy6qTpWwYAAAAAAACWRCAC2AhfV13TfJPS66tTp28ZAAAAAAAAWCKBCGDtPbK6\n", "uvkmpDdXt5m+ZQAAAAAAAGDJBCKAtfaw6srmm4zeWd1++pYBAAAAAACACQhEbJkTRjcAC/Tl1auq\n", "0+f47AeaHbPx6YV2BAAAAAAAAMAQAhFsii+uXlnddo7PXlJ97c5PAAAAAAAAADaAQASb4MLqD6uz\n", "5vjs5dWjm+0QAQAAAAAAAMCGEIhg3d2nek11hzk+e1WzMMRfL7QjAAAAAAAAAIYTiGCd3bP64+rO\n", "c3z2+upbq79YaEcAAAAAAAAArIQTRzcAczq3en11lzk+e0P1uOq1i2yI4zqpesBRfndxdemEvQAA\n", "AAAAAADAyrlH9YHqpjnqxuo7pm+Z6ikd/b186cC+AAAAAAAA2A6vbr41xv3U2ZPcGbAR9hOGOFx9\n", "//QtU927urojv5f3DuwLAAAAAACA7SEQAaysc6sPNn8Y4gcn75iqA9UfdvR385PjWgMAAAAAAGCL\n", "CEQAK+le1cXNP9E8afqW2fGDHTuocu6wzgAAAAAAANgmAhHAyrl39ZHmn2SeMn3L7HhgRz8q46bq\n", "DcM6AwAAAAAAYNsIRAAr5T7tLwzx09O3zI6zqg907PfzvcO6AwAAAAAAYNsIRAAr4wurS5p/cnna\n", "9C2z48TqtR37/VxTnTGqQQAAAAAAALaOQASwEu5bfbT5J5b/Mn3L7DhYPa/jv6PfGdUgAAAAAAAA\n", "W0kgAhhuvztDPLs6YfKuqTpQPaPdvadvHNQjAAAAAAAA20kgAhjqguoTzT+hPDdhiFFOrJ7V7t7T\n", "pdVJY9oEAAAAAABgSwlEAMPcr/pY808mL2q2KM/0zqpe1+7f1dPHtAkAAAAAAMAWE4gAhnhAs10D\n", "5p1IXpodB0a5oHp/e3tfXzqkUwAAAAAAALaZQAQwuS+pPtX8k8gfVCdP3jUnV0+prmpv7+vdI5oF\n", "AAAAAABg6wlEAJN6eHV5808gv5OdIUZ4ZPWe5ntnTxnQLwAAAAAAAAhEAJP5yuqzzT95vLA6cfKu\n", "t9sjqpc3/zs7XJ03edcAAAAAAAAgEAFM5Bura5p/4nhWdcLkXW+n21bfVb2l/U/4b5i2dQAAAAAA\n", "APhHAhHA0j2uuq75J43fSBhi2W5fPb56UfsLrtyyvnfKmwAAAAAAAICbeV3TByLuOMmdASvhu6ob\n", "m3/CeHp1YPKuN9udqodV3139VvU3zY62WPRkf3V1xkT3BAAAAAAAALf0+qYPRJwzyZ1xRCeOboCt\n", "8oPVrzb/7g6/WP3Y4trZCLeuTtn5z7dp9p0+o9kzvl11sDqz2Y4Pt6wvqO5ZnTZRry+rrphoLAAA\n", "AAAAALilEevjBweMyQ6BCKby5Opp7W93h+9tO49cONAs1LDunju6AQAAAAAAALbaiHCCQMRAAhFM\n", "4Seqn1/AdW63gGswxqXVa0c3AQAAAAAAwFYbEU6Yd/d8FkAggmU60GxXiCePboThXljdMLoJAAAA\n", "AAAAtpojM7aMQATLcqD6lepJoxthJTguAwAAAAAAgNEcmbFlBCJYhoPVM6rvGd0IK+Hd1VtHNwEA\n", "AAAAAMDWc2TGlhGIYNFOqp5fPW50I6wMu0MAAAAAAACwCkYEIqzJD+Ths0i3qn6vevToRlgZh5sF\n", "ZAAAAAAAAGC0EevjpwwYkx0CESzK6dVLqkeOboSV8ifVh0c3AQAAAAAAAM3WNKd26wFjskMggkW4\n", "U/Wq6kGjG2HlOC4DAAAAAACAVTEiEHHagDHZIRDBft2jem11n9GNsHKurf5gdBMAAAAAAABQHWhM\n", "OEEgYqATRjfAWrtf9caEITiyl1RXjG4CAAAAAAAAqltVBweM68iMgQQimNdF1Z9UdxvdCCvLcRkA\n", "AAAAAACsitsMGtcOEQMJRDCPr6r+qDp7cB+srkur141uAgAAAAAAAHacPmhcgYiBBCLYq2+uXlXd\n", "dnQjrLQXVDeMbgIAAAAAAAB2jAom3G7QuCQQwd58V/Wi6tTRjbDyHJcBAAAAAADAKrnTlo1LAhHs\n", "3g9X/7U6cXAfrL53V28b3QQAAAAAAADczN0GjXvOoHFJIILjO1A9tXr6zn+G43nO6AYAAAAAAADg\n", "Fu46aFyBiIH8a3+O5WD169UTRzfC2jhcPX90EwAAAAAAAHALo3aIcGTGQAIRHM3J1XOrx49uhLXy\n", "J9XFo5sAAAAAAACAWxi5Q8Qp1XWDxt9qjszgSE6rXpowBHv33NENAAAAAAAAwBHcc9C4J1UPGDT2\n", "1hOI4Ei+ofpno5tg7VxT/cHoJgAAAAAAAOAWzqjuNXD8iwaOvdUEIoBFeUl1xegmAAAAAAAA4Bb+\n", "t+rAwPEfMnDsrSYQASyK4zIAAAAAAABYRd8+ePxvq84e3MNWEogAFuHS6nWjmwAAAAAAAIBbeFD1\n", "hME93Lr64cE9bCWBCGARXlDdOLoJAAAAAAAAuJmTql9rNdbF/1114egmts0qvHhg/TkuAwAAAAAA\n", "gFXz9Oqho5vYcevqRdVtRzeyTU4c3QAr6T3VL4xugrVxVfW20U0AAAAAAADAjgPV/1394OhGbuHe\n", "1Surx1SfHtwLAAAAAAAAALBGTq2eX920wvWe6j7LegAAAAAAAAAAwGZ5RPU3jQ887Kaub3akx2lL\n", "eRIAAAAAAAAAwNp7SLNdIQ43Puiw1/pQ9WPVOYt+KMzOTgEAAAAAAACAdXCb6oLqwuqi6lHV3Yd2\n", "tBiHq7dUf1r9dfU/qr+tDo1sat0JRAAAAAAAAAAw0q2rU6ozq1Ors6s7V3eq7ljdZefn/arz2p51\n", "7qurd1YfrT5SfeJmPy+pPlddWV2785Nb2Jb/owAAAAAAAAAw3h2rN1VnVCc32/GBxfhcs3DExdWD\n", "B/eyEk4c3QAAAAAAAAAAW+Ngdf7oJjbU6Tt1cHQjq+KE0Q0AAAAAAAAAACyaQAQAAAAAAAAAsHEE\n", "IgAAAAAAAACAjSMQAQAAAAAAAABsnBNHNwAAAAAAAADA1ri6esboJjbc1aMbAAAAAAAAAAAAAAAA\n", "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkS7AswAAIABJREFUAAAA\n", "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n", "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n", "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n", "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n", "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n", "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAVdmB0AwAAAAAAAABb\n", "4lbVudXZ1Vk3q4PVSdXpO393RXW4uqH6dHXZTn2iuri6bsqmYV0JRMwcqO5c3aO6/S3q4M7f3G7n\n", "52d2fh5qNvncvP6++lh10yRdAwAAAAAAAKvo/OoB1f2rC6r7Vnev7rCAa99UfbzZ2uS7q3dV76ze\n", "Xl2ygOvDxti2QMRJzSadC29W5zdLYZ2yoDGuqz5Uvb96x83qXdWNCxoDAAAAAAAAWA0nVg+pvqr6\n", "8p06e1AvF1d/uVN/XP11/jE3W2zTAxGnN5t4HlY9vLqouvWgXq6u3lz9efUX1Z9UVw3qBQAAAAAA\n", "AJjfF1SPqR5VfXV1m7HtHNWl1R9Vr65e3v/aDR9YU/etfrT6w2a7Ndy0onVt9brq31X3XsqTAAAA\n", "AAAAABblrtWPVW+qDjd+vXGvdX312upfV2ct+NkAS3TP6in9ry1f1rHeVv376rwFPxsAAAAAAABg\n", "PqdWT2i2w8Khxq8pLqqurX6n+vrq4MKeFrAwp1SPa7bLwjomsI5Vb6meWJ22sKcFAAAAAAAA7NY5\n", "1VObHTkxeu1w2fXRnXu1awSsgHOrX252vs3oyWHZdVn1S9XdF/HgAAAAAAAAgGO6oHp+s+MlRq8V\n", "Tl1XVv9vs6NBgIl9SfXb1Q2NnwymrhuaTbwP2vdTBAAAAAAAAG7pguo51Y2NXxscXdftPIt77euJ\n", "ArvywOqlbd6xGPPU4eoPqgv39UQBAAAAAACAmu1O/8KsRR6prqt+JUdpwFLcs/rdTD5HqkPNJubz\n", "5n66AAAAAAAAsL3OqJ5WXdv4tb9Vr8uqH61OnutJA5/ntOqp1TWN/3Kvel1XPb267TwPGgAAAAAA\n", "ALbQN1UXN36tb93qvdUj53jewI5vrz7e+C/zutUl1ePneN4AAAAAAACwLe5RvaLxa3vrXIerZ1a3\n", "2+Ozh612l+oPGv8FXvd6RXW3PT57AAAAAAAA2HSPa3b0w+j1vE2pj1WP3tMbgC31PdVnG/+l3ZS6\n", "ovquPb0BAAAAAAAA2Ex3qF7U+DW8TazD1dOrW+36bcAWOaN6QeO/qJtav1+dteu3AQAAAAAAAJvl\n", "oupDjV+32/R6V3W/3b0S2A4Pqy5u/Jdz0+vvqy/b5TsBAAAAAACATfHE6rrGr9dtS322+rZdvRnY\n", "cCafaeva6km7ejMAAAAAAACw3k6pntf4NbptrMPVz1QHjvuWYAOdUj278V/Eba1nVicf9y0BAAAA\n", "AADAerp99cbGr8tte72gOvU47wo2ylnVGxr/5dv2+qPqzGO/KgAAAAAAAFg7967e2/j1ODWrP2sW\n", "UIGNd3717sZ/6dSs/qY691gvDAAAAAAAANbIhdXHGr8Opz6/3lnd+RjvDdbe/auPNv7Lpj6/PlJ9\n", "4THeGwAAAAAAAKyDi6pPNX79TR253lfd46hvD9bYg6pLG/8lU0euT1RffNS3BwAAAAAAAKvtIdUV\n", "jV93U8euD1fnHeUdwlq6qLqs8V8udey6rHrwUd4hAAAAAAAArKoHZj1yner91Rcc8U3Cmrkw29Ks\n", "U32y+qIjvkkAAAAAAABYPfepPtb4dTa1t3pvdc4R3iesjftUH2/8l0ntrS6p7nWE9wkAAAAAAACr\n", "5K7VRxq/vqbmq7dWp/+Ttwpr4Jzqg43/Eqn56u+qs//JWwUAAAAAAIDVcJvqrxu/rqb2Vy+rDgZr\n", "5FbVmxr/5VH7qzdXtw4AAAAAAABWy8HqpY1fT1OLqf8crIkTqpc0/kujFlO/Vx0IAAAAAAAAVscv\n", "NX4dTS22vj9YA09t/JdFLbZ+MgAAAAAAAFgNj6kON34NTS22rq0uClbYN1aHGv9lUYutQ9XXBwAA\n", "AAAAAGPdt/ps49fP1HLqA9VZwZLs52iE86u3VmcuqBdWy2XVg6oPj24EAAAAAACArXRK9VfVF49u\n", "hKV6cfWto5tgM50w5+dOrJ6XMMQmO6t6fv3/7N1rrGV1fcbxZ84ZZgC5CEJBrAh4wQpijVVUUFEE\n", "NVYTa0lbmoJaaxqT1vaFvdmK1abxhWnrrUnrJWqssS9sQhUviAjhqpIW5SJIwBsqRRCEUWCGS1/s\n", "M3Ec5sw5e2af81vrdz6f5B80KnnYe+3ti/WdtTNfPQQAAAAAAIA16e0RQ6wFr0ry2uoRsK2zUv/4\n", "FGd1zt8EAAAAAAAAVteJSe5P/b0yZ3XOpiRPDMzYrvxkxvFJLs7kKRH0tyXJczL5eRQAAAAAAABY\n", "aXsnuSrJUdVDWFUXJHlRJoEEzMS0P5mxIckHI4ZYS/aI9xwAAAAAAIDVc1bEEGvRSUnOrB7B2nZW\n", "6h+X4tScvwoAAAAAAACsrOOSbE79vTGn5vw4yUGBGZnmJzOenOTKJBtXaAvDdk+Spya5sXoIAAAA\n", "AAAALa1LcnGS51YPodSHkry+egQ9TPOTGf8UMcRatleSd1WPAAAAAAAAoK3fjhiC5DVJnlY9gh6W\n", "+4SIlyX57EoOYTROSXJe9QgAAAAAAABa2ZDkmiRPqB7CIJyf5OTqEYzfcp4QsT6Tp0NAkvxzkvnq\n", "EQAAAAAAALTyxogh+IUXJXlJ9QjGbzlBxBlJnrzSQxiNY5OcXj0CAAAAAACANvZM8ubqEQzO31cP\n", "YPyWCiL2SPKW1RjCqLw1kyeHAAAAAAAAwO764ySHVY9gcI5Pcmr1CMZtqSDiD5MctRpDGJUnJDmz\n", "egQAAAAAAACj5+kQ7MxZ1QMYt3U7+c/mk1yf5PGrtIVxuSnJk5I8UD0EAAAAAACA0Xp9kg9Uj2DQ\n", "TkhyafUIxmlnT4h4dcQQLO6oJK+sHgEAAAAAAMCo/Un1AAbvTdUDGK+dPSHi8kx+lwUWc0mSE6tH\n", "AAAAAAAAMEovTHJ+9QgG7/5M/iD/96qHMD6LPSHi2RFDsLQTkvxG9QgAAAAAAABG6Y3VAxiF9Une\n", "UD2CcVosiPijVV3BmLlWAAAAAAAAmNZB8fPsLN8ZWfzeNixqRxfNPklOW+0hjNbpSfatHgEAAAAA\n", "AMCo/H6SDdUjGI3HJjm5egTjs6Mgwg1upiGgAQAAAAAAYFpnVg9gdF5TPYDx2VEQ8XurvoKxc80A\n", "AAAAAACwXE9I8vTqEYzOK5PsWT2Ccdk+iDg0yfMqhjBqL0xySPUIAAAAAAAARuHV1QMYpX2SnFI9\n", "gnHZPog4Lcl8xRBGbT7Jb1WPAAAAAAAAYBReVT2A0RLTMJXtgwhfPuwq1w4AAAAAAABLOSTJs6pH\n", "MFovz8PvccOitr1Y9k1yQtUQRu/5mTymBgAAAAAAABbz4iTrqkcwWgcl+fXqEYzHtkHEyUk2VA1h\n", "9DYmOal6BAAAAAAAAIP24uoBjN4p1QMYj22DiJeWraCLl1QPAAAAAAAAYNAEEewu1xDLtm0Q8YKy\n", "FXTx/OoBAAAAAAAADNbhSX61egSjd3yS+eoRjMPWIOLAJEdXDqGFY5PsXz0CAAAAAACAQXpO9QBa\n", "2DfJMdUjGIetQcRzk6yrHEILc5lcSwAAAAAAALC946sH0MazqwcwDluDCF8+zIprCQAAAAAAgB15\n", "RvUA2nAtsSxbg4inla6gk+OqBwAAAAAAADBIT6keQBuuJZZlaxDhJjaz4loCAAAAAABge4cmOah6\n", "BG0cUz2AcZhLsn+Sw6uH0MaRSfapHgEAAAAAAMCg+BP9zNIBSQ6rHsHwzSU5Osm66iG0MZfkidUj\n", "AAAAAAAAGJSjqgfQzpHVAxi+uSRHVI+gnSOqBwAAAAAAADAonljPrLmmWNJcksdVj6AdNRYAAAAA\n", "AADbcvOaWTuiegDDtz4uFGbvH5P8bfUIAAAAAAAABmPf6gG085jqAQzf+iSHVo+gnY0LBwAAAAAA\n", "AGAlPKp6AMM3l+TA6hEAAAAAAAAAMAX3uVnSXJKDq0cAAAAAAAAAwBQEESxpLskB1SMAAAAAAAAA\n", "YAqPqB7A8M0l2bN6BAAAAAAAAABMYUP1AIZvLsnG6hEAAAAAAAAAMAVBBEuaiwsFAAAAAAAAgHHZ\n", "o3oAwzeXZL56BAAAAAAAAABMYUv1AIZvLsn91SMAAAAAAAAAYAqbqwcwfHNxoQAAAAAAAAAwLu5z\n", "s6S5JPdVjwAAAAAAAACAKWyqHsDwzSW5p3oEAAAAAAAAAEzh9uoBDN9cktuqRwAAAAAAAADAFH5S\n", "PYDhm4tyBgAAAAAAAIBxcZ+bJXlCBAAAAAAAAABjc3P1AIZvfZIfVY+gne8muaF6BAAAAAAAAINx\n", "1MKBWflu9QCGb32S71SPoJ13JXlf9QgAAAAAAAAG43VJPlQ9glYEESxpLi4UZu/b1QMAAAAAAAAY\n", "lJuqB9COe5IsaS4uFGbvO9UDAAAAAAAAGJSrqwfQym1J/q96BMM3l+RbSR6oHkIbW5LcUD0CAAAA\n", "AACAQbktya3VI2jjmuoBjMNcknsyiSJgFq5Lsrl6BAAAAAAAAIPjKRHMiiCCZZlb+Os3SlfQiWsJ\n", "AAAAAACAHbmiegBtuJZYFkEEs3ZV9QAAAAAAAAAG6SvVA2jjsuoBjMPWIOLS0hV0ckn1AAAAAAAA\n", "AAbp8uoBtHBnkm9Vj2ActgYRX0uypXIILdwXj6cBAAAAAABgx36Y5NvVIxi9S5M8WD2CcdgaRPws\n", "yZWVQ2jhiiT3Vo8AAAAAAABgsM6rHsDofal6AOMxt82/vqBqBG1cWD0AAAAAAACAQfti9QBG79zq\n", "AYzHtkHE58tW0IVrCAAAAAAAgJ05P8kD1SMYrR8luaZ6BOOxbRBxcZK7q4Ywenclubx6BAAAAAAA\n", "AIN2e5JLq0cwWp9O8lD1CMZj2yBic/zeCrvu3CRbqkcAAAAAAAAweJ+qHsBouXaYytx2/94FxK5y\n", "7QAAAAAAALAcn4o/5c/07kxyQfUIxmX7IOLsJPdUDGHUfp7kM9UjAAAAAAAAGIWb46fYmd5/ZfKr\n", "B7Bs2wcRdyf5fMUQRu2cJJuqRwAAAAAAADAaH60ewOi4Zpja9kFEkvzHqq9g7FwzAAAAAAAATOOT\n", "8eR6lu/GJBdVj2B8dhREnJ3kltUewmjdkuSz1SMAAAAAAAAYlZ9m8hMIsBwfTfJQ9QjGZ0dBxP1J\n", "PrbaQxitDyfZUj0CAAAAAACA0Xl/9QBG4b4kH6gewTjtKIhIkg8meXA1hzBKDyb5UPUIAAAAAAAA\n", "RumyJF+tHsHg/Wf8wgG7aLEg4oYk56zmEEbp7CQ3VY8AAAAAAABgtN5dPYDBe2/1AMZr3U7+sxck\n", "uWCVdjBOJyS5tHoEAAAAAAAAo7VHkuuTHFk9hEH6YpJTq0cwXos9ISJJLkzytdUawuhcFjEEAAAA\n", "AAAAu2dLkndWj2Cw3lE9gHHbWRCRJP+wKisYI18+AAAAAAAAzMJHknyvegSDc36Si6pHMG5LBRH/\n", "neQrqzGEUbksyeeqRwAAAAAAANDC5viD2jzcWdUDWBtemuQhx9nmnBwAAAAAAACYnfkkV6X+Ppgz\n", "jPOpwAysW+Z/78tJTlrBHYzHF5OcWj0CAAAAAACAdl6W5LPVIyi3JckxSW6oHsL4LfWTGVv9eZIH\n", "VnIIo3B/JtcCAAAAAAAAzNrnkpxbPYJy748YggL/nvpHozi15z0BAAAAAACAlfPEJPek/r6YU3Nu\n", "TrJfYEbmp/jvXp7kdUn2XqEtDNutSU7L5P+AAAAAAAAAYCX8JMm6JC+qHkKJ1yW5snoEa9eZqa+C\n", "nJrzuwEAAAAAAICVtyHJ1am/P+as7vl0YMbW7cL/5twkp8x6CIN2TpLfrB4BAAAAAADAmvH0TJ5g\n", "v6F6CKvijiTHZfKTGTAz0/xkxlYXZfKoko0z3sIw3ZlJDHFX9RAAAAAAAADWjFsyeWqAn85YG87I\n", "JICBQfiD1D8yxVmd46cyAAAAAAAAqDCf5JLU3y9zVvZ8JDBAn0j9h8Px5QMAAAAAAEBfhyf5cerv\n", "mzkrc65Jsk9ghazbjf/tI5NckeTxM9rCsFyf5JlJ7q4eAgAAAAAAwJp2cpIvZPLECPrYlOT4JNdW\n", "D6Gv3fnSuDfJlzP5PZcNs5nDQGxKcmqSm6uHAAAAAAAAsOZ9e+GvLyxdwSw9lMl95guKd8CSTk/9\n", "o1Sc2Z0Hk5wWAAAAAAAAGI51ST6e+ntpzmzO2wIj8s7Uf2ic2Zx3BAAAAAAAAIZnzySXpP5+mrN7\n", "5+OZBC4wGoqsHueT8eUDAAAAAADAcB2U5IbU31dzdu1cmGTjw95VGIE9k1yc+g+R48sHAAAAAACA\n", "vh6b5Dupv7/mTHeuTHLAw99OGI8Dkvxv6j9MznTniiT77+D9BAAAAAAAgCF6UpJbUn+fzVneuTqT\n", "p3vA6B2c5JrUf6ic5Z3rkhyyw3cSAAAAAAAAhuu4JLem/n6bs/NzfZLDFnkPYZQek8mFXf3hcnZ+\n", "rosvHwAAAAAAAMbr15L8IPX33Zwdn68nOXTRdw9G7NAk30j9h8zZ8bkyya8s+u4BAAAAAADAODw+\n", "yU2pv//m/PK5PMmBO3nfYPQOTPLV1H/YnF8+lyU5YCfvGwAAAAAAAIzJY5L8T+rvwzmTc06SfXb6\n", "jkET+yT5TOo/dM7knJ3kETt9xwAAAAAAAGB83Jccxnlfkvkl3itoZT7Jv6b+w7fWz7vjywcAAAAA\n", "AIC+5jO5J1Z9X24tni1J/mzptwj6+tMkm1P/YVxr574kb1zG+wMAAAAAAAAdnJ5kU+rv062Vc2uS\n", "Fy/rnYHmTkzyw9R/KNfK+UGS5y7rnQEAAAAAAIA+jk1yXerv13U/FyZ59DLfE1gTDsvkg1H94ex+\n", "vpTk0GW+JwAAAAAAANDNXpn8hMaDqb931+1sSfLOJHss+92ANWRdkjdl8nMO1R/WbmdLkrclmVvu\n", "mwEAAAAAAACNvSSTJ6tX38frcm5McsJU7wCsUc9K8s3Uf2i7nGuSPGOqdwAAAAAAAAD6OzjJR+Np\n", "EbtzNmfyVIi9p3ztYU3bI8lfJrk39R/isZ6tXz4bp3ztAQAAAAAAYC15fpJrU39/b2znkiTH7sLr\n", "DSx4apKLUv9hHtu5IMlTpn+5AQAAAAAAYE3amOTNSe5I/b2+oZ/vJTkjydwuvdLAw7wiyU2p/3AP\n", "/Xw/ky+fdbv2MgMAAAAAAMCadlCS92byNPbqe39DO3cleUuSvXb51QUWtVeSv05ye+o/7EM7tyX5\n", "iyR77vKrCwAAAAAAAGx1eJJ3J7kn9fcCq8/dC6/FIbv1igLLsn+StyX5aeo//NXnjiRvTbLf7ryg\n", "AAAAAAAAwA49NpMY4K7U3xtc7XNLJvciD9jtVxGY2n5J3pTJb9RUfxms9vlRJlGILx8AAAAAAABY\n", "efsmeUOS61J/r3Clz5UL/6x+GgMGYEOSM5N8JfVfDit9LktyxsI/MwAAAAAAALC65pKcmOTfkmxK\n", "/f3DWZ07F/6ZTpzdSwXM2nFJ3pPk9tR/aczq/DjJvyQ5doavEwAAAAAAALB79k/y2iSfTnJv6u8r\n", "Tnt+muQTSV6dZM8ZvzbACprPpF56dyZBQfWXybTnjiQfS/KKeBoEAAAAAAAADN1+SX4nyYeTfD/1\n", "9xsXO9cleW+SlyfZuCKvBAzYuuoBK2BDkucleenCGeqTFr6R5AtJPp/k4iSba+cAAAAAAAAAu+jJ\n", "SU5K8uwkxyc5Oqt/L/b+JFcnuSzJ5Um+nEmsAWtWxyBie4/O5OkRJyyc47L6T2HYnOTrSS7JJH64\n", "JMktq7wBAAAAAAAAWB2PzOQPbh+zcI5OcniSxyXZawZ//xuTfHObc3WSa5P8bAZ/b2hjLQQR29sj\n", "k0LrqQvnqCRHJjkiycEz+Pv/JMl5mXwJXbVwrk+yZQZ/bwAAAAAAAGDc3p7k73bz7/HMJFfMYAu0\n", "tr56QIEt+UWosL29s/vV1HmZ/F4QAAAAAAAAwPY2VQ+AtWKuesDA/Lx6AAAAAAAAAACw+wQRAAAA\n", "AAAAAEA7gggAAAAAAAAAoB1BBAAAAAAAAADQjiACAAAAAAAAAGhHEAEAAAAAAAAAtCOIAAAAAAAA\n", "AADaEUQAAAAAAAAAAO0IIgAAAAAAAACAdgQRAAAAAAAAAEA7gggAAAAAAAAAoB1BBAAAAAAAAADQ\n", "jiACAAAAAAAAAGhHEAEAAAAAAAAAtCOIAAAAAAAAAADaEUQAAAAAAAAAAO0IIgAAAAAAAACAdgQR\n", "AAAAAAAAAEA7gggAAAAAAAAAoB1BBAAAAAAAAADQjiACAAAAAAAAAGhHEAEAAAAAAAAAtCOIAAAA\n", "AAAAAADaEUQAAAAAAAAAAO0IIgAAAAAAAACAdgQRAAAAAAAAAEA7gggAAAAAAAAAoB1BBAAAAAAA\n", "AADQjiACAAAAAAAAAGhHEAEAAAAAAAAAtCOIAAAAAAAAAADaEUQAAAAAAAAAAO0IIgAAAAAAAACA\n", "dgQRAAAAAAAAAEA7gggAAAAAAAAAoB1BBAAAAAAAAADQjiACAAAAAAAAAGhHEAEAAAAAAAAAtCOI\n", "AAAAAAAAAADaEUQAAAAAAAAAAO0IIgAAAAAAAACAdgQRAAAAAAAAAEA7gggAAAAAAAAAoB1BBAAA\n", "AAAAAADQjiACAAAAAAAAAGhHEAEAAAAAAAAAtCOIAAAAAAAAAADaEUQAAAAAAAAAAO0IIgAAAAAA\n", "AACAdgQRAAAAAAAAAEA7gggAAAAAAAAAoB1BBAAAAAAAAADQjiACAAAAAAAAAGhHEAEAAAAAAAAA\n", "tCOIAAAAAAAAAADaEUQAAAAAAAAAAO0IIgAAAAAAAACAdgQRAAAAAAAAAEA7gggAAAAAAAAAoB1B\n", "BAAAAAAAAADQjiACAAAAAAAAAGhHEAEAAAAAAAAAtCOIAAAAAAAAAADaEUQAAAAAAAAAAO0IIgAA\n", "AAAAAACAdgQRAAAAAAAAAEA7gggAAAAAAAAAoB1BBAAAAAAAAADQjiACAAAAAAAAAGhHEAEAAAAA\n", "AAAAtCOIAAAAAAAAAADaEUQAAAAAAAAAAO0IIgAAAAAAAACAdgQRAAAAAAAAAEA7gggAAAAAAAAA\n", "oB1BBAAAAAAAAADQjiACAAAAAAAAAGhHEAEAAAAAAAAAtCOIAAAAAAAAAADaEUQAAAAAAAAAAO0I\n", "IgAAAAAAAACAdgQRAAAAAAAAAEA7gggAAAAAAAAAoB1BBAAAAAAAAADQjiACAAAAAAAAAGhHEAEA\n", "AAAAAAAAtCOIAAAAAAAAAADaEUQAAAAAAAAAAO0IIgAAAAAAAACAdgQRAAAAAAAAAEA7gggAAAAA\n", "AAAAoB1BBAAAAAAAAADQjiACAAAAAAAAAGhHEAEAAAAAAAAAtCOIAAAAAAAAAADaEUQAAAAAAAAA\n", "AO0IIgAAAAAAAACAdgQRAAAAAAAAAEA7gggAAAAAAAAAoB1BBAAAAAAAAADQjiACAAAAAAAAAGhH\n", "EAEAAAAAAAAAtCOIAAAAAAAAAADaEUQAAAAAAAAAAO0IIgAAAAAAAACAdgQRAAAAAAAAAEA7gggA\n", "AAAAAAAAoB1BBAAAAAAAAADQjiACAAAAAAAAAGhHEAEAAAAAAAAAtCOIAAAAAAAAAADaEUQAAAAA\n", "AAAAAO0IIgAAAAAAAACAdgQRAAAAAAAAAEA7gggAAAAAAAAAoB1BBAAAAAAAAADQjiACAAAAAAAA\n", "AGhHEAEAAAAAAAAAtCOIAAAAAAAAAADaEUQAAAAAAAAAAO0IIgAAAAAAAACAdgQRAAAAAAAAAEA7\n", "gggAAAAAAAAAoB1BBAAAAAAAAADQjiACAAAAAAAAAGhHEAEAAAAAAAAAtCOIAAAAAAAAAADaEUQA\n", "AAAAAAAAAO0IIgAAAAAAAACAdgQRAAAAAAAAAEA7gggAAAAAAAAAoB1BBAAAAAAAAADQjiACAAAA\n", "AAAAAGhHEAEAAAAAAAAAtCOIAAAAAAAAAADaEUQAAAAAAAAAAO0IIgAAAAAAAACAdgQRAAAAAAAA\n", "AEA7gggAAAAAAAAAoB1BBAAAAAAAAADQjiACAAAAAAAAAGhHEAEAAAAAAAAAtCOIAAAAAAAAAADa\n", "EUQAAAAAAAAAAO0IIgAAAAAAAACAdgQRAAAAAAAAAEA7gggAAAAAAAAAoB1BBAAAAAAAAADQjiAC\n", "AAAAAAAAAGhHEAEAAAAAAAAAtCOIAAAAAAAAAADaEUQAAAAAAAAAAO0IIgAAAAAAAACAdgQRAAAA\n", "AAAAAEA7gggAAAAAAAAAoB1BBAAAAAAAAADQjiACAAAAAAAAAGhHEAEAAAAAAAAAtCOIAAAAAAAA\n", "AADaEUQAAAAAAAAAAO0IIgAAAAAAAACAdgQRAAAAAAAAAEA7gggAAAAAAAAAoB1BBAAAAAAAAADQ\n", "jiACAAAAAAAAAGhHEAEAAAAAAAAAtCOIAAAAAAAAAADaEUQAAAAAAAAAAO0IIgAAAAAAAACAdgQR\n", "AAAAAAAAAEA7gggAAAAAAAAAoB1BBAAAAAAAAADQjiACAAAAAAAAAGhHEAEAAAAAAAAAtCOIAAAA\n", "AAAAAADaEUQAAAAAAAAAAO0IIgAAAAAAAACAdgQRAAAAAAAAAEA7gggAAAAAAAAAoB1BBAAAAAAA\n", "AADQjiACAAAAAAAAAGhHEAEAAAAAAAAAtCOIAAAAAAAAAADaEUQStsU6AAAgAElEQVQAAAAAAAAA\n", "AO0IIgAAAAAAAACAdgQRAAAAAAAAAEA7gggAAAAAAAAAoB1BBAAAAAAAAADQjiACAAAAAAAAAGhH\n", "EAEAAAAAAAAAtCOIAAAAAAAAAADaEUQAAAAAAAAAAO0IIgAAAAAAAACAdgQRAAAAAAAAAEA7gggA\n", "AAAAAAAAoB1BBAAAAAAAAADQjiACAAAAAAAAAGhHEAEAAAAAAAAAtCOIAAAAAAAAAADaEUQAAAAA\n", "AAAAAO0IIgAAAAAAAACAdgQRAAAAAAAAAEA7gggAAAAAAAAAoB1BBAAAAAAAAADQjiACAAAAAAAA\n", "AGhHEAEAAAAAAAAAtCOIAAAAAAAAAADaEUQAAAAAAAAAAO0IIgAAAAAAAACAdgQRAAAAAAAAAEA7\n", "gggAAAAAAAAAoB1BBAAAAAAAAADQjiACAAAAAAAAAGhHEAEAAAAAAAAAtCOIAAAAAAAAAADaEUQA\n", "AAAAAAAAAO0IIgAAAAAAAACAdgQRAAAAAAAAAEA7gggAAAAAAAAAoB1BBAAAAAAAAADQjiACAAAA\n", "AAAAAGhHEAEAAAAAAAAAtCOIAAAAAAAAAADaEUQAAAAAAAAAAO0IIgAAAAAAAACAdgQRAAAAAAAA\n", "AEA7gggAAAAAAAAAoB1BBAAAAAAAAADQjiACAAAAAAAAAGhHEAEAAAAAAAAAtCOIAAAAAAAAAADa\n", "EUQAAAAAAAAAAO0IIgAAAAAAAACAdgQRAAAAAAAAAEA7gggAAAAAAAAAoB1BBAAAAAAAAADQjiAC\n", "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\n", "O4IIAAAAAAAAAGB2BBEAAAAAAAAAwOwIIgAAAAAAAACA2RFEAAAAAAAAAACzI4gAAAAAAAAAAGZH\n", "EAEAAAAAAAAAzI4gAgAAAAAAAACYHUEEAAAAAAAAADA7gggAAAAAAAAAYHYEEQAAAAAAAADA7Agi\n", "AAAAAAAAAIDZEUQAAAAAAAAAALMjiAAAAAAAAAAAZkcQAQAAAAAAAADMjiACAAAAAAAAAJgdQQQA\n", "AAAAAAAAMDuCCAAAAAAAAABgdgQRAAAAAAAAAMDsCCIAAAAAAAAAgNkRRAAAAAAAAAAAsyOIAAAA\n", "AAAAAABmRxABAAAAAAAAAMyOIAIAAAAAAAAAmB1BBAAAAAAAAAAwO4IIAAAAAAAAAGB2BBEAAAAA\n", "AAAAwOwIIgAAAAAAAACA2RFEAAAAAAAAAACzI4gAAAAAAAAAAGZHEAEAAAAAAAAAzI4gAgAAAAAA\n", "AACYHUEEAAAAAAAAADA7gggAAAAAAAAAYHYEEQAAAAAAAADA7AgiAAAAAAAAAIDZEUQAAAAAAAAA\n", "ALMjiAAAAAAAAAAAZkcQAQAAAAAAAADMjiACAAAAAAAAAJgdQQQAAAAAAAAAMDuCCAAAAAAAAABg\n", "dgQRAAAAAAAAAMDsCCIAAAAAAAAAgNkRRAAAAAAAAAAAsyOIAAAAAAAAAABmRxABAAAAAAAAAMyO\n", "IAIAAAAAAAAAmB1BBAAAAAAAAAAwO4IIAAAAAAAAAGB2BBEAAAAAAAAAwOwIIgAAAAAAAACA2RFE\n", "AAAAAAAAAACzI4gAAAAAAAAAAGZHEAEAAAAAAAAAzI4gAgAAAAAAAACYHUEEAAAAAAAAADA7gggA\n", "AAAAAAAAYHYEEQAAAAAAAADA7AgiAAAAAAAAAIDZEUQAAAAAAAAAALMjiAAAAAAAAAAAZkcQAQAA\n", "AAAAAADMjiACAAAAAAAAAJgdQQQAAAAAAAAAMDuCCAAAAAAAAABgdgQRAAAAAAAAAMDsCCIAAAAA\n", "AAAAgNkRRAAAAAAAAAAAsyOIAAAAAAAAAABmRxABAAAAAAAAAMyOIAIAAAAAAAAAmB1BBAAAAAAA\n", "AAAwO4IIAAAAAAAAAGB2BBEAAAAAAAAAwOwIIgAAAAAAAACA2RFEAAAAAAAAAACzI4gAAAAAAAAA\n", "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\n", "ADAdQQQAAAAAAAAAMB1BBAAAAAAAAAAwHUEEAAAAAAAAADAdQQQAAAAAAAAAMB1BBAAAAAAAAAAw\n", "HUEEAAAAAAAAADAdQQQAAAAAAAAAMB1BBAAAAAAAAAAwHUEEAAAAAAAAADAdQQQAAAAAAAAAMB1B\n", "BAAAAAAAAAAwHUEEAAAAAAAAADAdQQQAAAAAAAAAMB1BBAAAAAAAAAAwHUEEAAAAAAAAADAdQQQA\n", "AAAAAAAAMB1BBAAAAAAAAAAwHUEEAAAAAAAAADAdQQQAAAAAAAAAMB1BBAAAAAAAAAAwHUEEAAAA\n", "AAAAADAdQQQAAAAAAAAAMB1BBAAAAAAAAAAwHUEEAAAAAAAAADAdQQQAAAAAAAAAMB1BBAAAAAAA\n", "AAAwHUEEAAAAAAAAADAdQQQAAAAAAAAAMB1BBAAAAAAAAAAwHUEEAAAAAAAAADAdQQQAAAAAAAAA\n", "MB1BBAAAAAAAAAAwHUEEAAAAAAAAADAdQQQAAAAAAAAAMB1BBAAAAAAAAAAwHUEEAAAAAAAAADAd\n", "QQQAAAAAAAAAMB1BBAAAAAAAAAAwHUEEAAAAAAAAADAdQQQAAAAAAAAAMB1BBAAAAAAAAAAwHUEE\n", "AAAAAAAAADAdQQQAAAAAAAAAMB1BBAAAAAAAAAAwHUEEAAAAAAAAADAdQQQAAAAAAAAAMB1BBAAA\n", "AAAAAAAwHUEEAAAAAAAAADAdQQQAAAAAAAAAMB1BBAAAAAAAAAAwHUEEAAAAAAAAADAdQQQAAAAA\n", "AAAAMB1BBAAAAAAAAAAwHUEEAAAAAAAAADAdQQQAAAAAAAAAMB1BBAAAAAAAAAAwHUEEAAAAAAAA\n", "ADAdQQQAAAAAAAAAMB1BBAAAAAAAAAAwHUEEAAAAAAAAADAdQQQAAAAAAAAAMB1BBAAAAAAAAAAw\n", "HUEEAAAAAAAAADAdQQQAAAAAAAAAMB1BBAAAAAAAAAAwHUEEAAAAAAAAADAdQQQAAAAAAAAAMB1B\n", "BAAAAAAAAAAwHUEEAAAAAAAAADAdQQQAAAAAAAAAMB1BBAAAAAAAAAAwHUEEAAAAAAAAADAdQQQA\n", "AAAAAAAAMB1BBAAAAAAAAAAwHUEEAAAAAAAAADAdQQQAAAAAAAAAMB1BBAAAAAAAAAAwHUEEAAAA\n", "AAAAADAdQQQAAAAAAAAAMB1BBAAAAAAAAAAwHUEEAAAAAAAAADAdQQQAAAAAAAAAMB1BBAAAAAAA\n", "AAAwHUEEAAAAAAAAADAdQQQAAAAAAAAAMB1BBAAAAAAAAAAwHUEEAAAAAAAAADAdQQQAAAAAAAAA\n", "MB1BBAAAAAAAAAAwHUEEAAAAAAAAADAdQQQAAAAAAAAAMB1BBAAAAAAAAAAwHUEEAAAAAAAAADAd\n", "QQQAAAAAAAAAMB1BBAAAAAAAAAAwHUEEAAAAAAAAADAdQQQAAAAAAAAAMB1BBAAAAAAAAAAwHUEE\n", "AAAAAAAAADAdQQQAAAAAAAAAMB1BBAAAAAAAAAAwHUEEAAAAAAAAADAdQQQAAAAAAAAAMB1BBAAA\n", "AAAAAAAwHUEEAAAAAAAAADAdQQQAAAAAAAAAMB1BBAAAAAAAAAAwHUEEAAAAAAAAADAdQQQAAAAA\n", "AAAAMB1BBAAAAAAAAAAwHUEEAAAAAAAAADAdQQQAAAAAAAAAMB1BBAAAAAAAAAAwHUEEAAAAAAAA\n", "ADAdQQQAAAAAAAAAMB1BBAAAAAAAAAAwHUEEAAAAAAAAADAdQQQAAAAAAAAAMB1BBAAAAAAAAAAw\n", "HUEEAAAAAAAAADAdQQQAAAAAAAAAMB1BBAAAAAAAAAAwHUEEAAAAAAAAADAdQQQAAAAAAAAAMB1B\n", "BAAAAAAAAAAwHUEEAAAAAAAAADAdQQQAAAAAAAAAMB1BBAAAAAAAAAAwHUEEAAAAAAAAADAdQQQA\n", "AAAAAAAAMB1BBAAAAAAAAAAwHUEEAAAAAAAAADAdQQQAAAAAAAAAMB1BBAAAAAAAAAAwHUEEAAAA\n", "AAAAADAdQQQAAAAAAAAAMB1BBAAAAAAAAAAwHUEEAAAAAAAAADAdQQQAAAAAAAAAMB1BBAAAAAAA\n", "AAAwHUEEAAAAAAAAADAdQQQAAAAAAAAAMB1BBAAAAAAAAAAwHUEEAAAAAAAAADAdQQQAAAAAAAAA\n", "MB1BBAAAAAAAAAAwHUEEAAAAAAAAADAdQQQAAAAAAAAAMB1BBAAAAAAAAAAwHUEEAAAAAAAAADAd\n", "QQQAAAAAAAAAMB1BBAAAAAAAAAAwHUEEAAAAAAAAADAdQQQAAAAAAAAAMB1BBAAAAAAAAAAwHUEE\n", "AAAAAAAAwP9n706DbUvrwow/twe6Gzt0gAQVBAwBobEEQ4EaBo2okSEVGUoSEFBIKVGipgmoiaXI\n", "oKDRlAZRoVFmEINkKtQQTOEUFQkxgAxCxBaNYiSgIM3QQz7sq+lQNNx79tp7nf0/v1/Vqr7V57zv\n", "+7/73Lu/rOeuDYwjiAAAAAAAAAAAxhFEAAAAAAAAAADjCCIAAAAAAAAAgHEEEQAAAAAAAADAOIII\n", "AAAAAAAAAGAcQQQAAAAAAAAAMI4gAgAAAAAAAAAYRxABAAAAAAAAAIwjiAAAAAAAAAAAxhFEAAAA\n", "AAAAAADjCCIAAAAAAAAAgHEEEQAAAAAAAADAOIIIAAAAAAAAAGAcQQQAAAAAAAAAMI4gAgAAAAAA\n", "AAAYRxABAAAAAAAAAIwjiAAAAAAAAAAAxhFEAAAAAAAAAADjCCIAAAAAAAAAgHEEEQAAAAAAAADA\n", "OIIIAAAAAAAAAGAcQQQAAAAAAAAAMI4gAgAAAAAAAAAYRxABAAAAAAAAAIwjiAAAAAAAAAAAxhFE\n", "AAAAAAAAAADjCCIAAAAAAAAAgHEEEQAAAAAAAADAOIIIAAAAAAAAAGAcQQQAAAAAAAAAMI4gAgAA\n", "AAAAAAAYRxABAAAAAAAAAIwjiAAAAAAAAAAAxhFEAAAAAAAAAADjCCIAAAAAAAAAgHEEEQAAAAAA\n", "AADAOIIIAAAAAAAAAGAcQQQAAAAAAAAAMI4gAgAAAAAAAAAYRxABAAAAAAAAAIwjiAAAAAAAAAAA\n", "xhFEAAAAAAAAAADjCCIAAAAAAAAAgHEEEQAAAAAAAADAOIIIAAAAAAAAAGAcQQQAAAAAAAAAMI4g\n", "AgAAAAAAAAAYRxABAAAAAAAAAIwjiAAAAAAAAAAAxhFEAAAAAAAAAADjCCIAAAAAAAAAgHEEEQAA\n", "AAAAAADAOIIIAAAAAAAAAGAcQQQAAAAAAAAAMI4gAgAAAAAAAAAYRxABAAAAAAAAAIwjiAAAAAAA\n", "AAAAxhFEAAAAAAAAAADjCCIAAAAAAAAAgHEEEQAAAAAAAADAOIIIAAAAAAAAAGAcQQQAAAAAAAAA\n", "MI4gAgAAAAAAAAAYRxABAAAAAAAAAIwjiAAAAAAAAAAAxhFEAAAAAAAAAADjCCIAAAAAAAAAgHEE\n", "EQAAAAAAAADAOIIIAAAAAAAAAGAcQQQAAAAAAAAAMI4gAgAAAAAAAAAYRxABAAAAAAAAAIwjiAAA\n", "AAAAAAAAxhFEAAAAAAAAAADjCCIAAAAAAAAAgHEEEQAAAAAAAADAOIIIAAAAAAAAAGAcQQQAAAAA\n", "AAAAMI4gAgAAAAAAAAAYRxABAAAAAAAAAIwjiAAAAAAAAAAAxhFEAAAAAAAAAADjCCIAAAAAAAAA\n", "gHEEEQAAAAAAAADAOIIIAAAAAAAAAGAcQQQAAAAAAAAAMI4gAgAAAAAAAAAYRxABAAAAAAAAAIwj\n", "iAAAAAAAAAAAxhFEAAAAAAAAAADjCCIAAAAAAAAAgHEEEQAAAAAAAADAOIIIAAAAAAAAAGAcQQQA\n", "AAAAAAAAMI4gAgAAAAAAAAAYRxABAAAAAAAAAIwjiAAAAAAAAAAAxhFEAAAAAAAAAADjCCIAAAAA\n", "AAAAgHEEEQAAAAAAAADAOIIIAAAAAAAAAGAcQQQAAAAAAAAAMI4gAgAAAAAAAAAYRxABAAAAAAAA\n", "AIwjiAAAAAAAAAAAxhFEAAAAAAAAAADjCCIAAAAAAAAAgHEEEQAAAAAAAADAOIIIAAAAAAAAAGAc\n", "QQQAAAAAAAAAMI4gAgAAAAAAAAAYRxABAAAAAAAAAIwjiAAAAAAAAAAAxhFEAAAAAAAAAADjCCIA\n", "AAAAAAAAgHEEEQAAAAAAAADAOIIIAAAAAAAAAGAcQQQAAAAAAAAAMI4gAgAAAAAAAAAYRxABAAAA\n", "AAAAAIwjiAAAAAAAAAAAxhFEAAAAAAAAAADjCCIAAAAAAAAAgHEEEQAAAAAAAADAOIIIAAAAAAAA\n", "AGAcQQQAAAAAAAAAMI4gAgAAAAAAAAAYRxABAAAAAAAAAIwjiAAAAAAAAAAAxhFEAAAAAAAAAADj\n", "CCIAAAAAAAAAgHEEEQAAAAAAAADAOIIIAAAAAAAAAGAcQQQAAAAAAAAAMI4gAgAAAAAAAAAYRxAB\n", "AAAAAAAAAIwjiAAAAAAAAAAAxhFEAAAAAAAAAADjCCIAAAAAAAAAgHEEEQAAAAAAAADAOIIIAAAA\n", "AAAAAGAcQQQAAAAAAAAAMI4gAgAAAAAAAAAYRxABAAAAAAAAAIwjiAAAAAAAAAAAxhFEAAAAAAAA\n", "AADjCCIAAAAAAAAAgHEEEQAAAAAAAADAOIIIAAAAAAAAAGAcQQQAAAAAAAAAMI4gAgAAAAAAAAAY\n", "RxABAAAAAAAAAIwjiAAAAAAAAAAAxhFEAAAAAAAAAADjCCIAAAAAAAAAgHEEEQAAAAAAAADAOIII\n", "AAAAAAAAAGAcQQQAAAAAAAAAMI4gAgAAAAAAAAAYRxABAAAAAAAAAIwjiAAAAAAAAAAAxhFEAAAA\n", "AAAAAADjCCIAAAAAAAAAgHEEEQAAAAAAAADAOIIIAAAAAAAAAGAcQQQAAAAAAAAAMI4gAgAAAAAA\n", "AAAYRxABAAAAAAAAAIwjiAAAAAAAAAAAxhFEAAAAAAAAAADjCCIAAAAAAAAAgHEEEQAAAAAAAADA\n", "OIIIAAAAAAAAAGAcQQQAAAAAAAAAMI4gAgAAAAAAAAAYRxABAAAAAAAAAIwjiAAAAAAAAAAAxhFE\n", "AAAAAAAAAADjCCIAAAAAAAAAgHEEEQAAAAAAAADAOIIIAAAAAAAAAGAcQQQAAAAAAAAAMI4gAgAA\n", "AAAAAAAYRxABAAAAAAAAAIwjiAAAAAAAAAAAxhFEAAAAAAAAAADjCCIAAAAAAAAAgHEEEQAAAAAA\n", "AADAOIIIAAAAAAAAAGAcQQQAAAAAAAAAMI4gAgAAAAAAAAAYRxABAAAAAAAAAIwjiAAAAAAAAAAA\n", "xhFEAAAAAAAAAADjCCIAAAAAAAAAgHEEEQAAAAAAAADAOIIIAAAAAAAAAGAcQQQAAAAAAAAAMI4g\n", "AgAAAAAAAAAYRxABAAAAAAAAAIwjiAAAAAAAAAAAxhFEAAAAAAAAAADjCCIAAAAAAAAAgHEEEQAA\n", "AAAAAADAOIIIAAAAAAAAAGAcQQQAAAAAAAAAMI4gAgAAAAAAAAAYRxABAAAAAAAAAIwjiAAAAAAA\n", "AAAAxhFEAAAAAAAAAADjCCIAAAAAAAAAgHEEEQAAAAAAAADAOIIIAAAAAAAAAGAcQQQAAAAAAAAA\n", "MI4gAgAAAAAAAAAYRxABAAAAAAAAAIwjiAAAAAAAAAAAxhFEAAAAAAAAAADjCCIAAAAAAAAAgHEE\n", "EQAAAAAAAADAOIIIAAAAAAAAAGAcQQQAAAAAAAAAMI4gAgAAAAAAAAAYRxABAAAAAAAAAIwjiAAA\n", "AAAAAAAAxhFEAAAAAAAAAADjCCIAAAAAAAAAgHEEEQAAAAAAAADAOIIIAAAAAAAAAGAcQQQAAAAA\n", "AAAAMI4gAgAAAAAAAAAYRxABAAAAAAAAAIwjiAAAAAAAAAAAxhFEAAAAAAAAAADjCCIAAAAAAAAA\n", "gHEEEQAAAAAAAADAOIIIAAAAAAAAAGAcQQQAAAAAAAAAMI4gAgAAAAAAAAAYRxABAAAAAAAAAIwj\n", "iAAAAAAAAAAAxhFEAAAAAAAAAADjCCIAAAAAAAAAgHEEEQAAAAAAAADAOIIIAAAAAAAAAGAcQQQA\n", "AAAAAAAAMI4gAgAAAAAAAAAYRxABAAAAAAAAAIwjiAAAAAAAAAAAxhFEAAAAAAAAAADjCCIAAAAA\n", "AAAAgHEEEQAAAAAAAADAOIIIAAAAAAAAAGAcQQQAAAAAAAAAMI4gAgAAAAAAAAAYRxABAAAAAAAA\n", "AIwjiAAAAAAAAAAAxhFEAAAAAAAAAADjCCIAAAAAAAAAgHEEEQAAAAAAAADAOIIIAAAAAAAAAGAc\n", "QQQAAAAAAAAAMI4gAgAAAAAAAAAYRxABAAAAAAAAAIwjiAAAAAAAAAAAxhFEAAAAAAAAAADjCCIA\n", "AAAAAAAAgHEEEQAAAAAAAADAOIIIAAAAAAAAAGAcQQQAAAAAAAAAMI4gAgAAAAAAAAAYRxABAAAA\n", "AAAAAIwjiAAAAAAAAAAAxhFEAAAAAAAAAADjCCIAAAAAAAAAgHEEEQAAAAAAAADAOIIIAAAAAAAA\n", "AGAcQQQAAAAAAAAAMI4gAgAAAAAAAAAYRxABAAAAAAAAAIwjiAAAAAAAAAAAxhFEAAAAAAAAAADj\n", "CCIAAAAAAAAAgHEEEQAAAAAAAADAOIIIAAAAAAAAAGAcQQQAAAAAAAAAMI4gAgAAAAAAAAAYRxAB\n", "AAAAAAAAAIwjiAAAAAAAAAAAxhFEAAAAAAAAAADjCCIAAAAAAAAAgHEEEQAAAAAAAADAOIIIAAAA\n", "AAAAAGAcQQQAAAAAAAAAMI4gAgAAAAAAAAAYRxABAAAAAAAAAIwjiAAAAAAAAAAAxhFEAAAAAAAA\n", "AADjCCIAAAAAAAAAgHEEEQAAAAAAAADAOIIIAAAAAAAAAGAcQQQAAAAAAAAAMI4gAgAAAAAAAAAY\n", "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\n" ], "text/plain": [ "" ] }, "execution_count": 4, "metadata": { "image/png": { "width": 300 } }, "output_type": "execute_result" } ], "source": [ "Image(filename='../img_src/4node_element_enumeration.png', width=300)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "What leads to the following shape functions" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "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\n", "QAAAAABJRU5ErkJggg==\n" ], "text/latex": [ "$$\\left[\\begin{matrix}\\frac{1}{4} \\left(r + 1\\right) \\left(s + 1\\right)\\\\\\frac{1}{4} \\left(- r + 1\\right) \\left(s + 1\\right)\\\\\\frac{1}{4} \\left(- r + 1\\right) \\left(- s + 1\\right)\\\\\\frac{1}{4} \\left(r + 1\\right) \\left(- s + 1\\right)\\end{matrix}\\right]$$" ], "text/plain": [ "⎡ (r + 1)⋅(s + 1) ⎤\n", "⎢ ─────────────── ⎥\n", "⎢ 4 ⎥\n", "⎢ ⎥\n", "⎢(-r + 1)⋅(s + 1) ⎥\n", "⎢──────────────── ⎥\n", "⎢ 4 ⎥\n", "⎢ ⎥\n", "⎢(-r + 1)⋅(-s + 1)⎥\n", "⎢─────────────────⎥\n", "⎢ 4 ⎥\n", "⎢ ⎥\n", "⎢(r + 1)⋅(-s + 1) ⎥\n", "⎢──────────────── ⎥\n", "⎣ 4 ⎦" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "N = S(1)/4*Matrix([(1 + r)*(1 + s),\n", " (1 - r)*(1 + s),\n", " (1 - r)*(1 - s),\n", " (1 + r)*(1 - s)])\n", "N" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Thus, the interpolation matrix renders" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "iVBORw0KGgoAAAANSUhEUgAAAYQAAADKCAMAAACSRsdJAAAAP1BMVEX///8AAAAAAAAAAAAAAAAA\n", "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFBd4eAAAAFHRS\n", "TlMAMquZdlQQQO0wRLvdIonNZu98bKTsEfsAABEmSURBVHgB7Z3rguoqEoVpb+eM7aWd8f2fdXKD\n", "ooqiLAwVg+qPnUDiAmo1JCHfRuekz8+vdPR7bIEI/Gw3pwWK+Rbhfu7DZ8OGYv81gY1LpczTGHvX\n", "mbDddZ89q/s1gQ1Lrcy/PvKbe2/CT16TmnDc5c/lj/wdcX6xAhXAcm+Q+is04YcftPhI/B6G/C3y\n", "uESBFeDLssw9dCMFbkTd0kpNuI5x1VTi8HufTr7Gp+sVMgKx2DL7p64vH07oT6lqwYUm7PKD0eGM\n", "KnbYbDbehL8LHMorKAVAaqm93XBvskN/SlXLLjThlu8I+8SfnTfhcIM65xWUAiC11N5pGIKPd/xX\n", "VrH0MhOOwl+DEEP3G+68BAWdQMW2a6Xu2/7Mn3tohPaL2vMemHC+XLv71yC2HceV4+73fNxdhrqF\n", "Y1IM4dRJoRtjL7vdHxpmdQKhvMV2zveh1T93iEPlsh+YQEq7/g0ZF7fprlXX7sYq+kgx3IceNCk4\n", "d+069xXdaukEohIX2g0mRFe2ukWXmXAbbvmPR9cPk3t8/y/F8BguCqNC37m7dvygK4xOoG7zNWpr\n", "M+E+xP3gDuMOaoIUwyHkw9n+i+f7aUvGWJ0AKnORRDDhRcPROLHR/Tu11odw7zOG/O21/5xuwyYa\n", "YcLd0fh3P5zrFdz+er/7CdoSgUXijgvxF+ZxLMbHqqQKh6Ppj3cbxniohPSHHA1Ho8JPv9nhmz6d\n", "ABS42N54i7rHta1ZusKEKOC/0x/DjblGSTH8CxqTwmm4SPjniLFBOoGajVdqjQ9rF7vp5Mcm7KNQ\n", "Tbea5zCoRM2QYgi3qNPeb39zusNW6gSiEhfbPXX99nBD99NVy35owuESmXAc/xpgdInqQmO43d7u\n", "1+3Yda7hRmpSOHcTuBcyxuoEohIX2z1sL7uNnQfuoQm7Q2SCu+Uf3WkMoxChaYusglIg0n2X3Ucm\n", "/OyRCfFUHAmB8JrgEt3c5RWUAqTYd0g+MuHSPRPEj1T6iWiIziFclvu8JxSwAAi/y94DE/7OxIRz\n", "9BygjcEGjUBPKGABbbHtnCebcOjGEdwT3DkaWnTN3JFLWrECFdAV29BZsgn7bfe5T7c4DbWqsarK\n", "JvSNOaNrQmPNm6q7coLtoQl/m/tmmqxo04BusnbtBNtDE1qNPKo35XbQwdcnvia83oPHT8wrqOP8\n", "KtCeIDwX8oVR/my2ACrGuidYc1OoMdkEMWE2fzZbANfU2gRrbgq3JpciJugf2jP82WwBXFFjE8y5\n", "KdyaXAqbkOfPHAbQygE2pQCpp7EJ5twUaU4miU3I82cumckNr2jRTHA8m4aL1Ang71hfmP3r2Rc/\n", "aSATBP5MMEEHsOkEiAfGJtiDCrQ9XHoOwRZ6goO3gwLAJpkAArSStsNRMAG/yKSVWDZdRLCBCSqA\n", "TTIBBGh7P9CEIoINTIB3ugLAJpkAAi8yoXj+m9azYnqkFJQEG5igAtgkE0CANqbvCYd9/mpPzy9M\n", "+wszeadfqDLv9FkEm2QCAthchmDjBGh7zt19i/h/1ugXytLm3FRZdYazb9OtmopggxjCaDIJcACb\n", "1BNAgFba9prgzLkp2p5cOnrNXUSwgQkqgE0yAQRoJY1NcNbcFG1PJv00wQYmwB2mALBJJoAAraS1\n", "CdbcFG0Pn36WYCsG2KgJvACtpLUJtLzXpCsQbGjaAuEjqEnJtEU4GguEzHHnI0yoQbDpADaXf9EQ\n", "C3yiCRUINsyf6aeyQ7ixQMgedj6hJ9Qg2DB/Vhlg+wATahBslD+rC7B9gAnrJ9iyJqycl8KD6sPU\n", "ugm2jAmr56Uehh2dsHKCrTfhn/s/qMpDAr2MSg9/cypG4L+dCewE3teEilF+IJUZjrr/r0/+s2L+\n", "KeRBCeGwLUAVimlwR2tCCe6UhIFdwKtEkRVIijHLsCbYtCY88YzoY7IMQOVLs9haE2xKEwReirYa\n", "81OuHKBSCtBy7dLmBJvSBIGXoo1P5xHDnHw8kZhXVArQcu3S5gSbzgSJl6KNF2KoA6h0ArRYw7R/\n", "UW5GsGVM4Hkp2tDPWAEswFNmyEjGBBLusF4Xzv+MFcCCCWYEm84EjzthDz5kBbC1mDCt6nK+nuBz\n", "dEp+qlvXyHNNwD/5dWIaWAEsmGA6HKVzRzleCveE7rH6I1YA8xdmM4ItO3eE4u15KZTZJVT8VNQT\n", "gH8SACrp7ggEaFUM0+YEm3BNYHgp2tLPWAHMnGDLm8DwUtSDT1kBzJpgy5rA8VLUBHZwoKMJzz81\n", "tQKYNcGWNUHNS1FnqAnRcTRtkQWolAKRbuu7ORP0vBSNgPDiIeafviuAQeByJlTgpaCQaQ/zT09M\n", "jmOBRL/ZjIwJNXipJCamAFVSWkMZvAk1eKkkCLYAVVJcQxm8CevnpRoK8eOq8ib031s3L/W4Zf0Z\n", "jRBsvQmHnZ9gi5q2cl4qqml2txmCrSdbWe4o27SWDlBuZ6V1zw9HK61wUbW+JhSFy+ZkaoLwIKmr\n", "gA3AZt0TrLkpOXbEhBLejAqz/FmJICswlmJtgjU3RWOF08SEJx7SJz1bgM3YBHNuCgedprAJTxNs\n", "5QBb2QpgxiaYc1M07DiNTcjzZvhbXSqZyQ3vydFMMHNrP0npBKaTjU3wr2fNuKkkfCgDmTCLYAsm\n", "6AA2wcVIwNfV1gR7UMG3g9vWJNjABFgdodoKYAuZYMZNccHP5M0i2MAEWMArCKY/YSn1BBDwFf0g\n", "E2YRbGACvNP1ggNNhX/CUjIBBBY2wYyb8u1QbGcRbGCCCmCTTAABX+m+J6Twlz86e+svzGbclFDD\n", "qgSbZMLsFcB08JfQVPmQOTclF4+OziLYwAQYTQSATeoJIOCrZ3tNeP3KX7UINjABFvASfsJSMgEE\n", "FjLh1St/VSPYwAS4Ra22AphxT3DW3JT/Y+K3tQi2YoCN9gRewFfa2gRfzmu2BgQbmrbIAmzUhKj5\n", "scCU/dYmWBBsOoCtbAWwtzbBgGDD/NkTc+NYYOwK72yCBcFmArC9sQkWBJsNwPbGJrRDsCUmNMJL\n", "Rbcb0m4bBFtvQgR/NcNLSZGHY40QbAn8hV5GQXO+e4YRSIajrwmG0c5IPzRhNi/lZgNTtOpUkB5v\n", "Lv3IhBK8KWk8yzvNUWQFk2KrZ1gTbI9MeOKZ0MdgNjDlhfw2I+gP222tCbYHJjzNSz2x4hcN4mpW\n", "ADMn2B6YMIeXguUU4olDvWLCT/GC1Lv6aXOCTTZhFi8FMYt4pwJFwYRIsH7ME0X/otyMYCMm1OSl\n", "IhPgbVQApmhTD5fd7u8nzpVMAMH4Gzb79gQbMYE0I+BNOL/Gil9Y0bkUoJJMSAEqqlcvHUwwI9hk\n", "EzzehFtUY8UvrNj/l60uBwNUkgkpsUAF66VfbcIsXioajoB34hX7/yt62pIxVzIBBOsFO6cUTDAj\n", "2PqeAPBXVV5KMiFt8P56v/9O2ZlfUGQFU6XqOf7CbEawyfDXLF4qihmMHhlF7icUpZ4AgtVDngqa\n", "E2zMNaEWLxWZALyT/81F0tTTrc8ICxYORyUTQJAIWSRfsPJXNV4qMgHuKGEPheu3vznd4dsPyYSM\n", "DNKsl1h85a9avJTjeadpxS8aoPNut7uQMZeawAtSJYu0NcGWDEcGvJRD0xZ5YIrEj5oQHY4Fo+xW\n", "d6kJFryUUwJTJIbCm4xYkHyrxSQ1wYCXcph3mjE57gOMBX1uu1tiggUv5WYDUzS8WJAebS+NTbDg\n", "pdxsYIpGlQrS482lsQnt8FLNBVqqMDahP7MNXkpqUzMrfvlG9CZE8JdzjfBSvv7ctjmCLYG/uFY1\n", "l9cYPJUOR81FnKnw1wQmKEtnUROE5z5d1ShvNlsQIXHWPcGam+JjSEyozpvNEXQpwWZtgjU3pTLh\n", "+Yf0DG/2vKDjFI1NMOemNCY8TbA9seIXrY+KYDM2wZyboo0e03g40vNm6f98Df+JPJ64nSMIb1lA\n", "0dgE/3qWvMPnQ1cvF5lQwJsJJkS82SxBMAEUbU2wBxU442oSbKEnOHiZVwCwpa5GJgTFhUzALy65\n", "yNnlzSLYwATgzTKCHMAmmhAUP8CEWQQbmACABy/IAmyiCUFxIRPMuClFB+J5M+VvVoIJwJvxgizA\n", "JpoQFHsTAP5SNKnsFH9hJu/wy0QKz65KsAkmpNWKAbbu1xj7z+k2bDZwMqMow1/w1Sf3zLkpRb0y\n", "vJnuNyshZGHwcBlBDmATe0JQtB2OXrfyVy2CDUwA3qwAYBNNCIrGJrxq5a9qBBuYEG4oo5tV1A85\n", "gE00ISham2DNTaEwhEQtgo3nzQoAtsQEVtHahBCXRXcMCDaYZHDupgbYEhOiMIDiW5pgQbDFvFn+\n", "JyujGI+7wosHUHxLEwwINsybzZjKDjZFiu9oggXBhnmzc3TfH6JauBMpvqEJFgQb5c16PmLeJ1Z8\n", "QxPaI9iyJrS9AlhbBFtvAoK/xk7WHD+Fx4bGCLYs/IVeTuEmflOVI5Adjr4mVI60IKc2QXjqyMgT\n", "YKpcgOoSQXq43bTWhCLcKcWbutdOc26tOcEFY25NsGlNKHhG5PCm7v1r/ofhHoWTF3z0rYrHrQk2\n", "pQkCP6XCm5wgQKOlE6TfMkybE2xKEwTcKf2frmEOHuYJnSBAw6cTpN8yTJsTbDoTJNxJiBngTZIA\n", "DZ9KkH7JMu1flJsRbBkTeH7quPs9H3fhhdDYcClm4dQsL+XWu+KX99WeYMuY4CswbSfc6fkVv7K8\n", "1IpX/PIxCCaYEWw6E0bcacaKXzleas0rfq3NhBF3UvJSEW0Z8KaJl3Ln6wk+x66ZK17xKzFh9vS1\n", "V6Tbvif88+9/SHaOn9p3Z8OnAG/yJsCX/V4MTBUI+q8vsfUXZjOC7X//9gwlWgqTaZfHnbYRzuNP\n", "ky7MAW/yAv5LfssBUypBL7DE1pxgE64JUcA97nRjrk1SzALe5AVozFa94pev7AtW/vJFM/zUmRtV\n", "JBPCLWrY8erTlgOmVIJExza5+MpfvjkcPxVGF39Sv6UxY/GmDC/l1r3il2+mNcGWHY7U/BQ1wde8\n", "28bTFpV5qaiU9ndzJuj5KeE9AeBNrjYv1X7koxbkTKjBT0V406yp7FBdJBhy29/JmFCFn4rwpu6p\n", "bM5LnSnOSLD92IcW8CZU4adivKkrry4vFRrwDju8Ce3xU017wZvQN6ktfoo3oRGCLWtCY/wUZ0Iz\n", "BFvWBK5VzeU1Ak99TVjBX9ZnmSA8WPJeUN6sWIDKUsHhuLUJ1twUbSROk+GoBEBjebMSAVwTxyz4\n", "Fc6wNsGamwoNYXeICXoALcOb6QVodTKC42nGJphzU7SxOI1NyANoSt4sL4CL7VJYMbeE2PQ1YxPM\n", "uamk9SgDm5AH0NKZYA5gm0WwsYLLmOBfz5pxUyjmSQKZIABoggkAsDlBIC2ZUgHBhEjQf8u2JwRk\n", "h1bJF2+61RNskgnwUjBLsKUAW/KqK0JQQNC3fiETmHfTvgaLbQWCTTIhrM/lsgRb+pOVkgkg6Jv+\n", "QSYIBJtkArzTzRFsA12Ff7JSMgEEFzbhJcORb+O0FQg2yYQAsLkJc9AAbJIJIOgraNsTnL8wm3FT\n", "vh3MVkWwlfBmHGsylBsDbLkVv+DCvLgJ5twUE/xclgfQGIJN6gkwengBUgAHsEk9AQS9kHFPMOem\n", "fDtyWx3BJpkQADaXIdg4gE0yAQR9pY1NeNXKX755SoJNMgHuKGHPyw9bDmCTTEhlrE2w5qZQOJKE\n", "lmCjJrAAm8sQbBzARk3gBX19rU3w5bxmqyXYqAlRbSOArc6KX7HgVM5bm6Am2ITXBBHAVodgiwU/\n", "wYQKBBvmzZ6fyg59CwuO2e/cE2oQbJg3q0CwYcG3N6EGwUYAtvkEGxUcXHjjntAOwTaaMDzhV4BF\n", "w8i3lp3VE2yncXKlX/lr+PT/mfLNPusn2P7G2Lv/A5oB5N7HUBDAAAAAAElFTkSuQmCC\n" ], "text/latex": [ "$$\\left[\\begin{matrix}\\frac{1}{4} \\left(r + 1\\right) \\left(s + 1\\right) & 0\\\\0 & \\frac{1}{4} \\left(r + 1\\right) \\left(s + 1\\right)\\\\\\frac{1}{4} \\left(- r + 1\\right) \\left(s + 1\\right) & 0\\\\0 & \\frac{1}{4} \\left(- r + 1\\right) \\left(s + 1\\right)\\\\\\frac{1}{4} \\left(- r + 1\\right) \\left(- s + 1\\right) & 0\\\\0 & \\frac{1}{4} \\left(- r + 1\\right) \\left(- s + 1\\right)\\\\\\frac{1}{4} \\left(r + 1\\right) \\left(- s + 1\\right) & 0\\\\0 & \\frac{1}{4} \\left(r + 1\\right) \\left(- s + 1\\right)\\end{matrix}\\right]$$" ], "text/plain": [ "⎡ (r + 1)⋅(s + 1) ⎤\n", "⎢ ─────────────── 0 ⎥\n", "⎢ 4 ⎥\n", "⎢ ⎥\n", "⎢ (r + 1)⋅(s + 1) ⎥\n", "⎢ 0 ─────────────── ⎥\n", "⎢ 4 ⎥\n", "⎢ ⎥\n", "⎢(-r + 1)⋅(s + 1) ⎥\n", "⎢──────────────── 0 ⎥\n", "⎢ 4 ⎥\n", "⎢ ⎥\n", "⎢ (-r + 1)⋅(s + 1) ⎥\n", "⎢ 0 ──────────────── ⎥\n", "⎢ 4 ⎥\n", "⎢ ⎥\n", "⎢(-r + 1)⋅(-s + 1) ⎥\n", "⎢───────────────── 0 ⎥\n", "⎢ 4 ⎥\n", "⎢ ⎥\n", "⎢ (-r + 1)⋅(-s + 1)⎥\n", "⎢ 0 ─────────────────⎥\n", "⎢ 4 ⎥\n", "⎢ ⎥\n", "⎢(r + 1)⋅(-s + 1) ⎥\n", "⎢──────────────── 0 ⎥\n", "⎢ 4 ⎥\n", "⎢ ⎥\n", "⎢ (r + 1)⋅(-s + 1) ⎥\n", "⎢ 0 ──────────────── ⎥\n", "⎣ 4 ⎦" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "H = zeros(2,8)\n", "for i in range(4):\n", " H[0, 2*i] = N[i]\n", " H[1, 2*i + 1] = N[i]\n", " \n", "H.T # Transpose of the interpolation matrix" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And the mass matrix integrand is\n", "$$M_\\text{int}=H^TH$$" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [], "source": [ "M_int = H.T*H" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Derivatives interpolation matrix" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "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\n", "rkJggg==\n" ], "text/latex": [ "$$\\left[\\begin{matrix}\\frac{s}{4} + \\frac{1}{4} & 0 & - \\frac{s}{4} - \\frac{1}{4} & 0 & \\frac{s}{4} - \\frac{1}{4} & 0 & - \\frac{s}{4} + \\frac{1}{4} & 0\\\\0 & \\frac{r}{4} + \\frac{1}{4} & 0 & - \\frac{r}{4} + \\frac{1}{4} & 0 & \\frac{r}{4} - \\frac{1}{4} & 0 & - \\frac{r}{4} - \\frac{1}{4}\\\\\\frac{r}{4} + \\frac{1}{4} & \\frac{s}{4} + \\frac{1}{4} & - \\frac{r}{4} + \\frac{1}{4} & - \\frac{s}{4} - \\frac{1}{4} & \\frac{r}{4} - \\frac{1}{4} & \\frac{s}{4} - \\frac{1}{4} & - \\frac{r}{4} - \\frac{1}{4} & - \\frac{s}{4} + \\frac{1}{4}\\end{matrix}\\right]$$" ], "text/plain": [ "⎡s 1 s 1 s 1 s 1 ⎤\n", "⎢─ + ─ 0 - ─ - ─ 0 ─ - ─ 0 - ─ + ─ 0 ⎥\n", "⎢4 4 4 4 4 4 4 4 ⎥\n", "⎢ ⎥\n", "⎢ r 1 r 1 r 1 r 1⎥\n", "⎢ 0 ─ + ─ 0 - ─ + ─ 0 ─ - ─ 0 - ─ - ─⎥\n", "⎢ 4 4 4 4 4 4 4 4⎥\n", "⎢ ⎥\n", "⎢r 1 s 1 r 1 s 1 r 1 s 1 r 1 s 1⎥\n", "⎢─ + ─ ─ + ─ - ─ + ─ - ─ - ─ ─ - ─ ─ - ─ - ─ - ─ - ─ + ─⎥\n", "⎣4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4⎦" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dHdr = zeros(2,4)\n", "for i in range(4):\n", " dHdr[0,i] = diff(N[i],r)\n", " dHdr[1,i] = diff(N[i],s)\n", "\n", "jaco = eye(2) # Jacobian matrix, identity for now\n", "dHdx = jaco*dHdr\n", "\n", "B = zeros(3,8)\n", "for i in range(4):\n", " B[0, 2*i] = dHdx[0, i]\n", " B[1, 2*i+1] = dHdx[1, i]\n", " B[2, 2*i] = dHdx[1, i]\n", " B[2, 2*i+1] = dHdx[0, i]\n", " \n", "B" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Being the stiffness matrix integrand\n", "$$K_\\text{int} = B^T C B$$" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [], "source": [ "K_int = B.T*C*B" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Analytic integration" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The mass matrix is obtained integrating the product of the interpolator matrix with itself, i.e.\n", "$$\\begin{align*}\n", "M &= \\int\\limits_{-1}^{1}\\int\\limits_{-1}^{1} M_\\text{int} dr\\, ds\\\\\n", " &= \\int\\limits_{-1}^{1}\\int\\limits_{-1}^{1} H^T H\\, dr\\, ds \\enspace .\n", "\\end{align*}$$" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "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\n" ], "text/latex": [ "$$\\left[\\begin{matrix}\\frac{4 \\rho}{9} & 0 & \\frac{2 \\rho}{9} & 0 & \\frac{\\rho}{9} & 0 & \\frac{2 \\rho}{9} & 0\\\\0 & \\frac{4 \\rho}{9} & 0 & \\frac{2 \\rho}{9} & 0 & \\frac{\\rho}{9} & 0 & \\frac{2 \\rho}{9}\\\\\\frac{2 \\rho}{9} & 0 & \\frac{4 \\rho}{9} & 0 & \\frac{2 \\rho}{9} & 0 & \\frac{\\rho}{9} & 0\\\\0 & \\frac{2 \\rho}{9} & 0 & \\frac{4 \\rho}{9} & 0 & \\frac{2 \\rho}{9} & 0 & \\frac{\\rho}{9}\\\\\\frac{\\rho}{9} & 0 & \\frac{2 \\rho}{9} & 0 & \\frac{4 \\rho}{9} & 0 & \\frac{2 \\rho}{9} & 0\\\\0 & \\frac{\\rho}{9} & 0 & \\frac{2 \\rho}{9} & 0 & \\frac{4 \\rho}{9} & 0 & \\frac{2 \\rho}{9}\\\\\\frac{2 \\rho}{9} & 0 & \\frac{\\rho}{9} & 0 & \\frac{2 \\rho}{9} & 0 & \\frac{4 \\rho}{9} & 0\\\\0 & \\frac{2 \\rho}{9} & 0 & \\frac{\\rho}{9} & 0 & \\frac{2 \\rho}{9} & 0 & \\frac{4 \\rho}{9}\\end{matrix}\\right]$$" ], "text/plain": [ "⎡4⋅ρ 2⋅ρ ρ 2⋅ρ ⎤\n", "⎢─── 0 ─── 0 ─ 0 ─── 0 ⎥\n", "⎢ 9 9 9 9 ⎥\n", "⎢ ⎥\n", "⎢ 4⋅ρ 2⋅ρ ρ 2⋅ρ⎥\n", "⎢ 0 ─── 0 ─── 0 ─ 0 ───⎥\n", "⎢ 9 9 9 9 ⎥\n", "⎢ ⎥\n", "⎢2⋅ρ 4⋅ρ 2⋅ρ ρ ⎥\n", "⎢─── 0 ─── 0 ─── 0 ─ 0 ⎥\n", "⎢ 9 9 9 9 ⎥\n", "⎢ ⎥\n", "⎢ 2⋅ρ 4⋅ρ 2⋅ρ ρ ⎥\n", "⎢ 0 ─── 0 ─── 0 ─── 0 ─ ⎥\n", "⎢ 9 9 9 9 ⎥\n", "⎢ ⎥\n", "⎢ ρ 2⋅ρ 4⋅ρ 2⋅ρ ⎥\n", "⎢ ─ 0 ─── 0 ─── 0 ─── 0 ⎥\n", "⎢ 9 9 9 9 ⎥\n", "⎢ ⎥\n", "⎢ ρ 2⋅ρ 4⋅ρ 2⋅ρ⎥\n", "⎢ 0 ─ 0 ─── 0 ─── 0 ───⎥\n", "⎢ 9 9 9 9 ⎥\n", "⎢ ⎥\n", "⎢2⋅ρ ρ 2⋅ρ 4⋅ρ ⎥\n", "⎢─── 0 ─ 0 ─── 0 ─── 0 ⎥\n", "⎢ 9 9 9 9 ⎥\n", "⎢ ⎥\n", "⎢ 2⋅ρ ρ 2⋅ρ 4⋅ρ⎥\n", "⎢ 0 ─── 0 ─ 0 ─── 0 ───⎥\n", "⎣ 9 9 9 9 ⎦" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "M = zeros(8,8)\n", "for i in range(8):\n", " for j in range(8):\n", " M[i,j] = rho*integrate(M_int[i,j],(r,-1,1), (s,-1,1))\n", " \n", "M" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The stiffness matrix is obtained integrating the product of the interpolator-derivatives (displacement-to-strains) matrix with the constitutive tensor and itself, i.e.\n", "$$\\begin{align*}\n", "K &= \\int\\limits_{-1}^{1}\\int\\limits_{-1}^{1} K_\\text{int} dr\\, ds\\\\\n", " &= \\int\\limits_{-1}^{1}\\int\\limits_{-1}^{1} B^T C\\, B\\, dr\\, ds \\enspace .\n", "\\end{align*}$$" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "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\n", "RU5ErkJggg==\n" ], "text/latex": [ "$$\\left[\\begin{matrix}- \\frac{2 \\nu}{3} + \\frac{1}{2} & \\frac{1}{8} & \\frac{\\nu}{6} - \\frac{1}{4} & \\frac{\\nu}{2} - \\frac{1}{8} & \\frac{\\nu}{3} - \\frac{1}{4} & - \\frac{1}{8} & \\frac{\\nu}{6} & - \\frac{\\nu}{2} + \\frac{1}{8}\\\\\\frac{1}{8} & - \\frac{2 \\nu}{3} + \\frac{1}{2} & - \\frac{\\nu}{2} + \\frac{1}{8} & \\frac{\\nu}{6} & - \\frac{1}{8} & \\frac{\\nu}{3} - \\frac{1}{4} & \\frac{\\nu}{2} - \\frac{1}{8} & \\frac{\\nu}{6} - \\frac{1}{4}\\\\\\frac{\\nu}{6} - \\frac{1}{4} & - \\frac{\\nu}{2} + \\frac{1}{8} & - \\frac{2 \\nu}{3} + \\frac{1}{2} & - \\frac{1}{8} & \\frac{\\nu}{6} & \\frac{\\nu}{2} - \\frac{1}{8} & \\frac{\\nu}{3} - \\frac{1}{4} & \\frac{1}{8}\\\\\\frac{\\nu}{2} - \\frac{1}{8} & \\frac{\\nu}{6} & - \\frac{1}{8} & - \\frac{2 \\nu}{3} + \\frac{1}{2} & - \\frac{\\nu}{2} + \\frac{1}{8} & \\frac{\\nu}{6} - \\frac{1}{4} & \\frac{1}{8} & \\frac{\\nu}{3} - \\frac{1}{4}\\\\\\frac{\\nu}{3} - \\frac{1}{4} & - \\frac{1}{8} & \\frac{\\nu}{6} & - \\frac{\\nu}{2} + \\frac{1}{8} & - \\frac{2 \\nu}{3} + \\frac{1}{2} & \\frac{1}{8} & \\frac{\\nu}{6} - \\frac{1}{4} & \\frac{\\nu}{2} - \\frac{1}{8}\\\\- \\frac{1}{8} & \\frac{\\nu}{3} - \\frac{1}{4} & \\frac{\\nu}{2} - \\frac{1}{8} & \\frac{\\nu}{6} - \\frac{1}{4} & \\frac{1}{8} & - \\frac{2 \\nu}{3} + \\frac{1}{2} & - \\frac{\\nu}{2} + \\frac{1}{8} & \\frac{\\nu}{6}\\\\\\frac{\\nu}{6} & \\frac{\\nu}{2} - \\frac{1}{8} & \\frac{\\nu}{3} - \\frac{1}{4} & \\frac{1}{8} & \\frac{\\nu}{6} - \\frac{1}{4} & - \\frac{\\nu}{2} + \\frac{1}{8} & - \\frac{2 \\nu}{3} + \\frac{1}{2} & - \\frac{1}{8}\\\\- \\frac{\\nu}{2} + \\frac{1}{8} & \\frac{\\nu}{6} - \\frac{1}{4} & \\frac{1}{8} & \\frac{\\nu}{3} - \\frac{1}{4} & \\frac{\\nu}{2} - \\frac{1}{8} & \\frac{\\nu}{6} & - \\frac{1}{8} & - \\frac{2 \\nu}{3} + \\frac{1}{2}\\end{matrix}\\right]$$" ], "text/plain": [ "⎡ 2⋅ν 1 ν 1 ν 1 ν 1 ν \n", "⎢- ─── + ─ 1/8 ─ - ─ ─ - ─ ─ - ─ -1/8 ─ \n", "⎢ 3 2 6 4 2 8 3 4 6 \n", "⎢ \n", "⎢ 2⋅ν 1 ν 1 ν ν 1 ν 1 \n", "⎢ 1/8 - ─── + ─ - ─ + ─ ─ -1/8 ─ - ─ ─ - ─ \n", "⎢ 3 2 2 8 6 3 4 2 8 \n", "⎢ \n", "⎢ ν 1 ν 1 2⋅ν 1 ν ν 1 ν 1 \n", "⎢ ─ - ─ - ─ + ─ - ─── + ─ -1/8 ─ ─ - ─ ─ - ─ \n", "⎢ 6 4 2 8 3 2 6 2 8 3 4 \n", "⎢ \n", "⎢ ν 1 ν 2⋅ν 1 ν 1 ν 1 \n", "⎢ ─ - ─ ─ -1/8 - ─── + ─ - ─ + ─ ─ - ─ 1/8 \n", "⎢ 2 8 6 3 2 2 8 6 4 \n", "⎢ \n", "⎢ ν 1 ν ν 1 2⋅ν 1 ν 1 \n", "⎢ ─ - ─ -1/8 ─ - ─ + ─ - ─── + ─ 1/8 ─ - ─ \n", "⎢ 3 4 6 2 8 3 2 6 4 \n", "⎢ \n", "⎢ ν 1 ν 1 ν 1 2⋅ν 1 ν 1 \n", "⎢ -1/8 ─ - ─ ─ - ─ ─ - ─ 1/8 - ─── + ─ - ─ + ─ \n", "⎢ 3 4 2 8 6 4 3 2 2 8 \n", "⎢ \n", "⎢ ν ν 1 ν 1 ν 1 ν 1 2⋅ν 1 \n", "⎢ ─ ─ - ─ ─ - ─ 1/8 ─ - ─ - ─ + ─ - ─── + ─ \n", "⎢ 6 2 8 3 4 6 4 2 8 3 2 \n", "⎢ \n", "⎢ ν 1 ν 1 ν 1 ν 1 ν \n", "⎢ - ─ + ─ ─ - ─ 1/8 ─ - ─ ─ - ─ ─ -1/8 \n", "⎣ 2 8 6 4 3 4 2 8 6 \n", "\n", " ν 1 ⎤\n", " - ─ + ─ ⎥\n", " 2 8 ⎥\n", " ⎥\n", " ν 1 ⎥\n", " ─ - ─ ⎥\n", " 6 4 ⎥\n", " ⎥\n", " ⎥\n", " 1/8 ⎥\n", " ⎥\n", " ⎥\n", " ν 1 ⎥\n", " ─ - ─ ⎥\n", " 3 4 ⎥\n", " ⎥\n", " ν 1 ⎥\n", " ─ - ─ ⎥\n", " 2 8 ⎥\n", " ⎥\n", " ν ⎥\n", " ─ ⎥\n", " 6 ⎥\n", " ⎥\n", " ⎥\n", " -1/8 ⎥\n", " ⎥\n", " ⎥\n", " 2⋅ν 1⎥\n", "- ─── + ─⎥\n", " 3 2⎦" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "K = zeros(8,8)\n", "for i in range(8):\n", " for j in range(8):\n", " K[i,j] = integrate(K_int[i,j], (r,-1,1), (s,-1,1))\n", "\n", "K" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can generate automatically code for `Fortran`, `C` or `Octave/Matlab`, although it will be useful just for non-distorted elements." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "!******************************************************************************\n", "!* Code generated with sympy 0.7.6 *\n", "!* *\n", "!* See http://www.sympy.org/ for more information. *\n", "!* *\n", "!* This file is part of 'project' *\n", "!******************************************************************************\n", "\n", "subroutine local_stiff(nu, K_local)\n", "implicit none\n", "REAL*8, intent(in) :: nu\n", "REAL*8, intent(out), dimension(1:8, 1:8) :: K_local\n", "\n", "K_local(1, 1) = -2.0d0/3.0d0*nu + 1.0d0/2.0d0\n", "K_local(2, 1) = 1.0d0/8.0d0\n", "K_local(3, 1) = (1.0d0/6.0d0)*nu - 1.0d0/4.0d0\n", "K_local(4, 1) = (1.0d0/2.0d0)*nu - 1.0d0/8.0d0\n", "K_local(5, 1) = (1.0d0/3.0d0)*nu - 1.0d0/4.0d0\n", "K_local(6, 1) = -1.0d0/8.0d0\n", "K_local(7, 1) = (1.0d0/6.0d0)*nu\n", "K_local(8, 1) = -1.0d0/2.0d0*nu + 1.0d0/8.0d0\n", "K_local(1, 2) = 1.0d0/8.0d0\n", "K_local(2, 2) = -2.0d0/3.0d0*nu + 1.0d0/2.0d0\n", "K_local(3, 2) = -1.0d0/2.0d0*nu + 1.0d0/8.0d0\n", "K_local(4, 2) = (1.0d0/6.0d0)*nu\n", "K_local(5, 2) = -1.0d0/8.0d0\n", "K_local(6, 2) = (1.0d0/3.0d0)*nu - 1.0d0/4.0d0\n", "K_local(7, 2) = (1.0d0/2.0d0)*nu - 1.0d0/8.0d0\n", "K_local(8, 2) = (1.0d0/6.0d0)*nu - 1.0d0/4.0d0\n", "K_local(1, 3) = (1.0d0/6.0d0)*nu - 1.0d0/4.0d0\n", "K_local(2, 3) = -1.0d0/2.0d0*nu + 1.0d0/8.0d0\n", "K_local(3, 3) = -2.0d0/3.0d0*nu + 1.0d0/2.0d0\n", "K_local(4, 3) = -1.0d0/8.0d0\n", "K_local(5, 3) = (1.0d0/6.0d0)*nu\n", "K_local(6, 3) = (1.0d0/2.0d0)*nu - 1.0d0/8.0d0\n", "K_local(7, 3) = (1.0d0/3.0d0)*nu - 1.0d0/4.0d0\n", "K_local(8, 3) = 1.0d0/8.0d0\n", "K_local(1, 4) = (1.0d0/2.0d0)*nu - 1.0d0/8.0d0\n", "K_local(2, 4) = (1.0d0/6.0d0)*nu\n", "K_local(3, 4) = -1.0d0/8.0d0\n", "K_local(4, 4) = -2.0d0/3.0d0*nu + 1.0d0/2.0d0\n", "K_local(5, 4) = -1.0d0/2.0d0*nu + 1.0d0/8.0d0\n", "K_local(6, 4) = (1.0d0/6.0d0)*nu - 1.0d0/4.0d0\n", "K_local(7, 4) = 1.0d0/8.0d0\n", "K_local(8, 4) = (1.0d0/3.0d0)*nu - 1.0d0/4.0d0\n", "K_local(1, 5) = (1.0d0/3.0d0)*nu - 1.0d0/4.0d0\n", "K_local(2, 5) = -1.0d0/8.0d0\n", "K_local(3, 5) = (1.0d0/6.0d0)*nu\n", "K_local(4, 5) = -1.0d0/2.0d0*nu + 1.0d0/8.0d0\n", "K_local(5, 5) = -2.0d0/3.0d0*nu + 1.0d0/2.0d0\n", "K_local(6, 5) = 1.0d0/8.0d0\n", "K_local(7, 5) = (1.0d0/6.0d0)*nu - 1.0d0/4.0d0\n", "K_local(8, 5) = (1.0d0/2.0d0)*nu - 1.0d0/8.0d0\n", "K_local(1, 6) = -1.0d0/8.0d0\n", "K_local(2, 6) = (1.0d0/3.0d0)*nu - 1.0d0/4.0d0\n", "K_local(3, 6) = (1.0d0/2.0d0)*nu - 1.0d0/8.0d0\n", "K_local(4, 6) = (1.0d0/6.0d0)*nu - 1.0d0/4.0d0\n", "K_local(5, 6) = 1.0d0/8.0d0\n", "K_local(6, 6) = -2.0d0/3.0d0*nu + 1.0d0/2.0d0\n", "K_local(7, 6) = -1.0d0/2.0d0*nu + 1.0d0/8.0d0\n", "K_local(8, 6) = (1.0d0/6.0d0)*nu\n", "K_local(1, 7) = (1.0d0/6.0d0)*nu\n", "K_local(2, 7) = (1.0d0/2.0d0)*nu - 1.0d0/8.0d0\n", "K_local(3, 7) = (1.0d0/3.0d0)*nu - 1.0d0/4.0d0\n", "K_local(4, 7) = 1.0d0/8.0d0\n", "K_local(5, 7) = (1.0d0/6.0d0)*nu - 1.0d0/4.0d0\n", "K_local(6, 7) = -1.0d0/2.0d0*nu + 1.0d0/8.0d0\n", "K_local(7, 7) = -2.0d0/3.0d0*nu + 1.0d0/2.0d0\n", "K_local(8, 7) = -1.0d0/8.0d0\n", "K_local(1, 8) = -1.0d0/2.0d0*nu + 1.0d0/8.0d0\n", "K_local(2, 8) = (1.0d0/6.0d0)*nu - 1.0d0/4.0d0\n", "K_local(3, 8) = 1.0d0/8.0d0\n", "K_local(4, 8) = (1.0d0/3.0d0)*nu - 1.0d0/4.0d0\n", "K_local(5, 8) = (1.0d0/2.0d0)*nu - 1.0d0/8.0d0\n", "K_local(6, 8) = (1.0d0/6.0d0)*nu\n", "K_local(7, 8) = -1.0d0/8.0d0\n", "K_local(8, 8) = -2.0d0/3.0d0*nu + 1.0d0/2.0d0\n", "\n", "end subroutine\n", "\n" ] } ], "source": [ "K_local = MatrixSymbol('K_local', 8, 8)\n", "code = codegen((\"local_stiff\", Eq(K_local, simplify(K))), \"f95\")\n", "print code[0][1]" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "/******************************************************************************\n", " * Code generated with sympy 0.7.6 *\n", " * *\n", " * See http://www.sympy.org/ for more information. *\n", " * *\n", " * This file is part of 'project' *\n", " ******************************************************************************/\n", "#include \"local_stiff.h\"\n", "#include \n", "\n", "void local_stiff(double nu, double *K_local) {\n", "\n", " K_local[0] = -2.0L/3.0L*nu + 1.0L/2.0L;\n", " K_local[1] = 1.0L/8.0L;\n", " K_local[2] = (1.0L/6.0L)*nu - 1.0L/4.0L;\n", " K_local[3] = (1.0L/2.0L)*nu - 1.0L/8.0L;\n", " K_local[4] = (1.0L/3.0L)*nu - 1.0L/4.0L;\n", " K_local[5] = -1.0L/8.0L;\n", " K_local[6] = (1.0L/6.0L)*nu;\n", " K_local[7] = -1.0L/2.0L*nu + 1.0L/8.0L;\n", " K_local[8] = 1.0L/8.0L;\n", " K_local[9] = -2.0L/3.0L*nu + 1.0L/2.0L;\n", " K_local[10] = -1.0L/2.0L*nu + 1.0L/8.0L;\n", " K_local[11] = (1.0L/6.0L)*nu;\n", " K_local[12] = -1.0L/8.0L;\n", " K_local[13] = (1.0L/3.0L)*nu - 1.0L/4.0L;\n", " K_local[14] = (1.0L/2.0L)*nu - 1.0L/8.0L;\n", " K_local[15] = (1.0L/6.0L)*nu - 1.0L/4.0L;\n", " K_local[16] = (1.0L/6.0L)*nu - 1.0L/4.0L;\n", " K_local[17] = -1.0L/2.0L*nu + 1.0L/8.0L;\n", " K_local[18] = -2.0L/3.0L*nu + 1.0L/2.0L;\n", " K_local[19] = -1.0L/8.0L;\n", " K_local[20] = (1.0L/6.0L)*nu;\n", " K_local[21] = (1.0L/2.0L)*nu - 1.0L/8.0L;\n", " K_local[22] = (1.0L/3.0L)*nu - 1.0L/4.0L;\n", " K_local[23] = 1.0L/8.0L;\n", " K_local[24] = (1.0L/2.0L)*nu - 1.0L/8.0L;\n", " K_local[25] = (1.0L/6.0L)*nu;\n", " K_local[26] = -1.0L/8.0L;\n", " K_local[27] = -2.0L/3.0L*nu + 1.0L/2.0L;\n", " K_local[28] = -1.0L/2.0L*nu + 1.0L/8.0L;\n", " K_local[29] = (1.0L/6.0L)*nu - 1.0L/4.0L;\n", " K_local[30] = 1.0L/8.0L;\n", " K_local[31] = (1.0L/3.0L)*nu - 1.0L/4.0L;\n", " K_local[32] = (1.0L/3.0L)*nu - 1.0L/4.0L;\n", " K_local[33] = -1.0L/8.0L;\n", " K_local[34] = (1.0L/6.0L)*nu;\n", " K_local[35] = -1.0L/2.0L*nu + 1.0L/8.0L;\n", " K_local[36] = -2.0L/3.0L*nu + 1.0L/2.0L;\n", " K_local[37] = 1.0L/8.0L;\n", " K_local[38] = (1.0L/6.0L)*nu - 1.0L/4.0L;\n", " K_local[39] = (1.0L/2.0L)*nu - 1.0L/8.0L;\n", " K_local[40] = -1.0L/8.0L;\n", " K_local[41] = (1.0L/3.0L)*nu - 1.0L/4.0L;\n", " K_local[42] = (1.0L/2.0L)*nu - 1.0L/8.0L;\n", " K_local[43] = (1.0L/6.0L)*nu - 1.0L/4.0L;\n", " K_local[44] = 1.0L/8.0L;\n", " K_local[45] = -2.0L/3.0L*nu + 1.0L/2.0L;\n", " K_local[46] = -1.0L/2.0L*nu + 1.0L/8.0L;\n", " K_local[47] = (1.0L/6.0L)*nu;\n", " K_local[48] = (1.0L/6.0L)*nu;\n", " K_local[49] = (1.0L/2.0L)*nu - 1.0L/8.0L;\n", " K_local[50] = (1.0L/3.0L)*nu - 1.0L/4.0L;\n", " K_local[51] = 1.0L/8.0L;\n", " K_local[52] = (1.0L/6.0L)*nu - 1.0L/4.0L;\n", " K_local[53] = -1.0L/2.0L*nu + 1.0L/8.0L;\n", " K_local[54] = -2.0L/3.0L*nu + 1.0L/2.0L;\n", " K_local[55] = -1.0L/8.0L;\n", " K_local[56] = -1.0L/2.0L*nu + 1.0L/8.0L;\n", " K_local[57] = (1.0L/6.0L)*nu - 1.0L/4.0L;\n", " K_local[58] = 1.0L/8.0L;\n", " K_local[59] = (1.0L/3.0L)*nu - 1.0L/4.0L;\n", " K_local[60] = (1.0L/2.0L)*nu - 1.0L/8.0L;\n", " K_local[61] = (1.0L/6.0L)*nu;\n", " K_local[62] = -1.0L/8.0L;\n", " K_local[63] = -2.0L/3.0L*nu + 1.0L/2.0L;\n", "\n", "}\n", "\n" ] } ], "source": [ "code = codegen((\"local_stiff\", Eq(K_local, simplify(K))), \"C\")\n", "print code[0][1]" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "function K_local = local_stiff(nu)\n", " %LOCAL_STIFF Autogenerated by sympy\n", " % Code generated with sympy 0.7.6\n", " %\n", " % See http://www.sympy.org/ for more information.\n", " %\n", " % This file is part of 'project'\n", "\n", " K_local = [-2*nu/3 + 1/2 1/8 nu/6 - 1/4 nu/2 - 1/8 nu/3 - 1/4 -1/8 nu/6 -nu/2 + 1/8;\n", " 1/8 -2*nu/3 + 1/2 -nu/2 + 1/8 nu/6 -1/8 nu/3 - 1/4 nu/2 - 1/8 nu/6 - 1/4;\n", " nu/6 - 1/4 -nu/2 + 1/8 -2*nu/3 + 1/2 -1/8 nu/6 nu/2 - 1/8 nu/3 - 1/4 1/8;\n", " nu/2 - 1/8 nu/6 -1/8 -2*nu/3 + 1/2 -nu/2 + 1/8 nu/6 - 1/4 1/8 nu/3 - 1/4;\n", " nu/3 - 1/4 -1/8 nu/6 -nu/2 + 1/8 -2*nu/3 + 1/2 1/8 nu/6 - 1/4 nu/2 - 1/8;\n", " -1/8 nu/3 - 1/4 nu/2 - 1/8 nu/6 - 1/4 1/8 -2*nu/3 + 1/2 -nu/2 + 1/8 nu/6;\n", " nu/6 nu/2 - 1/8 nu/3 - 1/4 1/8 nu/6 - 1/4 -nu/2 + 1/8 -2*nu/3 + 1/2 -1/8;\n", " -nu/2 + 1/8 nu/6 - 1/4 1/8 nu/3 - 1/4 nu/2 - 1/8 nu/6 -1/8 -2*nu/3 + 1/2];\n", "\n", "end\n", "\n" ] } ], "source": [ "code = codegen((\"local_stiff\", Eq(K_local, simplify(K))), \"Octave\")\n", "print code[0][1]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can check some numerical vales for $E=8/3$ Pa, $\\nu=1/3$ and $\\rho=1$ kg\\m$^3$, where we can multiply by the factor that we took away from the stiffness tensor" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "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\n", "TkSuQmCC\n" ], "text/latex": [ "$$\\left[\\begin{matrix}\\frac{5}{3} & \\frac{3}{4} & - \\frac{7}{6} & \\frac{1}{4} & - \\frac{5}{6} & - \\frac{3}{4} & \\frac{1}{3} & - \\frac{1}{4}\\\\\\frac{3}{4} & \\frac{5}{3} & - \\frac{1}{4} & \\frac{1}{3} & - \\frac{3}{4} & - \\frac{5}{6} & \\frac{1}{4} & - \\frac{7}{6}\\\\- \\frac{7}{6} & - \\frac{1}{4} & \\frac{5}{3} & - \\frac{3}{4} & \\frac{1}{3} & \\frac{1}{4} & - \\frac{5}{6} & \\frac{3}{4}\\\\\\frac{1}{4} & \\frac{1}{3} & - \\frac{3}{4} & \\frac{5}{3} & - \\frac{1}{4} & - \\frac{7}{6} & \\frac{3}{4} & - \\frac{5}{6}\\\\- \\frac{5}{6} & - \\frac{3}{4} & \\frac{1}{3} & - \\frac{1}{4} & \\frac{5}{3} & \\frac{3}{4} & - \\frac{7}{6} & \\frac{1}{4}\\\\- \\frac{3}{4} & - \\frac{5}{6} & \\frac{1}{4} & - \\frac{7}{6} & \\frac{3}{4} & \\frac{5}{3} & - \\frac{1}{4} & \\frac{1}{3}\\\\\\frac{1}{3} & \\frac{1}{4} & - \\frac{5}{6} & \\frac{3}{4} & - \\frac{7}{6} & - \\frac{1}{4} & \\frac{5}{3} & - \\frac{3}{4}\\\\- \\frac{1}{4} & - \\frac{7}{6} & \\frac{3}{4} & - \\frac{5}{6} & \\frac{1}{4} & \\frac{1}{3} & - \\frac{3}{4} & \\frac{5}{3}\\end{matrix}\\right]$$" ], "text/plain": [ "⎡5/3 3/4 -7/6 1/4 -5/6 -3/4 1/3 -1/4⎤\n", "⎢ ⎥\n", "⎢3/4 5/3 -1/4 1/3 -3/4 -5/6 1/4 -7/6⎥\n", "⎢ ⎥\n", "⎢-7/6 -1/4 5/3 -3/4 1/3 1/4 -5/6 3/4 ⎥\n", "⎢ ⎥\n", "⎢1/4 1/3 -3/4 5/3 -1/4 -7/6 3/4 -5/6⎥\n", "⎢ ⎥\n", "⎢-5/6 -3/4 1/3 -1/4 5/3 3/4 -7/6 1/4 ⎥\n", "⎢ ⎥\n", "⎢-3/4 -5/6 1/4 -7/6 3/4 5/3 -1/4 1/3 ⎥\n", "⎢ ⎥\n", "⎢1/3 1/4 -5/6 3/4 -7/6 -1/4 5/3 -3/4⎥\n", "⎢ ⎥\n", "⎣-1/4 -7/6 3/4 -5/6 1/4 1/3 -3/4 5/3 ⎦" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(C_factor*K).subs([(E, S(8)/3), (nu, S(1)/3)])" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "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\n" ], "text/latex": [ "$$\\left[\\begin{matrix}\\frac{4}{9} & 0 & \\frac{2}{9} & 0 & \\frac{1}{9} & 0 & \\frac{2}{9} & 0\\\\0 & \\frac{4}{9} & 0 & \\frac{2}{9} & 0 & \\frac{1}{9} & 0 & \\frac{2}{9}\\\\\\frac{2}{9} & 0 & \\frac{4}{9} & 0 & \\frac{2}{9} & 0 & \\frac{1}{9} & 0\\\\0 & \\frac{2}{9} & 0 & \\frac{4}{9} & 0 & \\frac{2}{9} & 0 & \\frac{1}{9}\\\\\\frac{1}{9} & 0 & \\frac{2}{9} & 0 & \\frac{4}{9} & 0 & \\frac{2}{9} & 0\\\\0 & \\frac{1}{9} & 0 & \\frac{2}{9} & 0 & \\frac{4}{9} & 0 & \\frac{2}{9}\\\\\\frac{2}{9} & 0 & \\frac{1}{9} & 0 & \\frac{2}{9} & 0 & \\frac{4}{9} & 0\\\\0 & \\frac{2}{9} & 0 & \\frac{1}{9} & 0 & \\frac{2}{9} & 0 & \\frac{4}{9}\\end{matrix}\\right]$$" ], "text/plain": [ "⎡4/9 0 2/9 0 1/9 0 2/9 0 ⎤\n", "⎢ ⎥\n", "⎢ 0 4/9 0 2/9 0 1/9 0 2/9⎥\n", "⎢ ⎥\n", "⎢2/9 0 4/9 0 2/9 0 1/9 0 ⎥\n", "⎢ ⎥\n", "⎢ 0 2/9 0 4/9 0 2/9 0 1/9⎥\n", "⎢ ⎥\n", "⎢1/9 0 2/9 0 4/9 0 2/9 0 ⎥\n", "⎢ ⎥\n", "⎢ 0 1/9 0 2/9 0 4/9 0 2/9⎥\n", "⎢ ⎥\n", "⎢2/9 0 1/9 0 2/9 0 4/9 0 ⎥\n", "⎢ ⎥\n", "⎣ 0 2/9 0 1/9 0 2/9 0 4/9⎦" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "M.subs(rho, 1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Gauss integration" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As stated before, the analytic expressions for the mass and stiffness matrices is useful for non-distorted elements. In the general case, a mapping between distorted elements and these _canonical_ elements is used to simplify the integration domain. When this transformation is done, the functions to be integrated are more convoluted and we should use numerical integration like _Gauss-Legendre quadrature_.\n", "\n", "The Gauss-Legendre quadrature approximates the integral:\n", "$$ \\int_{-1}^1 f(x)\\,dx \\approx \\sum_{i=1}^n w_i f(x_i)$$\n", "\n", "The nodes $x_i$ of an order $n$ quadrature rule are the roots of $P_n$\n", "and the weights $w_i$ are given by:\n", "$$w_i = \\frac{2}{\\left(1-x_i^2\\right) \\left(P'_n(x_i)\\right)^2}$$\n", "\n", "For the first four orders, the weights and nodes are" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [], "source": [ "wts = [[2], [1,1], [S(5)/9, S(8)/9, S(5)/9],\n", " [(18+sqrt(30))/36,(18+sqrt(30))/36, (18-sqrt(30))/36, (18-sqrt(30))/36]\n", " ]\n", " \n", "pts = [[0], [-sqrt(S(1)/3), sqrt(S(1)/3)],\n", " [-sqrt(S(3)/5), 0, sqrt(S(3)/5)],\n", "[-sqrt(S(3)/7 - S(2)/7*sqrt(S(6)/5)), sqrt(S(3)/7 - S(2)/7*sqrt(S(6)/5)),\n", "-sqrt(S(3)/7 + S(2)/7*sqrt(S(6)/5)), sqrt(S(3)/7 + S(2)/7*sqrt(S(6)/5))]]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And the numerical integral is computed as" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def stiff_num(n):\n", " \"\"\"Compute the stiffness matrix using Gauss quadrature\n", " \n", " Parameters\n", " ----------\n", " n : int\n", " Order of the polynomial.\n", " \n", " \"\"\"\n", " if n>4:\n", " raise Exception(\"Number of points not valid\")\n", " K_num = zeros(8,8)\n", " for x_i, w_i in zip(pts[n-1], wts[n-1]):\n", " for y_j, w_j in zip(pts[n-1], wts[n-1]):\n", " K_num = K_num + w_i*w_j*K_int.subs([(r,x_i), (s,y_j)])\n", "\n", " return simplify(K_num)\n", " " ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "iVBORw0KGgoAAAANSUhEUgAAAPQAAADICAMAAADoSTwaAAAAM1BMVEX///8AAAAAAAAAAAAAAAAA\n", "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADxgEwMAAAAEHRSTlMAMquZdlQQQN0i\n", "RM2JZu98DtuxSwAABNBJREFUeAHtneF2qjAQhKNSi731Xt7/aS8BWTKbgIdjT4+ZDL9iVtp8O0uw\n", "Q0zDaZiOc2jg6GfWEE7DpRuPjwaYwz2SnocIfWqBd2W8A/R1lPyynQGWMEL3XyFc+01qljBAd30s\n", "ge7PWgjQogkDdD9N4F/DDVjtBU0YoIdLBDwNG/M4TTiFvg3fM3Rn4qYNnnARemJPeae2QVcfFnSL\n", "5R2WmeqelfbUQRNOyzvM96SP/VsWQRig508f39NHlILYNGGADv14h77+3f4YShJG6OvluztvMgeW\n", "MEIXapqxS9CMqpaYpHQpK4x9UppR1RKTlC5lhbFPSjOqWmJCpVnc/IwUwRCaxc3PoBEMoGncfA/t\n", "wACaxs330A4MoBcTTGa/Zc187+qfBaRKG1X1br4JNTc8mKBbMvs/h8+5DJaJjN3s/5cuv5DZ7yaD\n", "8aXM/jwn9TwqSGfv8emGzP6CmBxdqDQH01MKQT9NEckbpDSJkE8xmlX62l2fJofqDbfREWh8vTeV\n", "ntswzV7Ta3mjJ56liiWMSqMnnkGzhAHaeeIemiYM0M4T99A0YYBePDKZ/aa3uccy+/OcvP+jgrS8\n", "Tcr3H7alem4cHHkRuvr63crJAyxCy+wPgWDpvlPaf2UhLW8eN99Du8cUAF2PXe+pjo0coWX2Z9mk\n", "6UClabD2QQS9nx+eqJTm0XKfpFmlZfbvFwZHtNnyXn1vDiGfUqDSLG5+ho1gCM3i5mfQCAbQNG6+\n", "h3ZgAE3j5ntoBwbQMvt9toL5rNWbpanSRtWk790kdPX16y5NK2GZ/Y+tTeaZXWZ/WijOMk9DsV1P\n", "OJ29wzHL3EPXczZCy+zPlKTpQKVpsPZBBL2fH56olObRcp+kWaVtoc1+fnii8K1aHqx9kmbLW2a/\n", "9ux3lwZa5i44/o1Wy47/cE07T9xT0YQB2nniHpomDNAy+73OMvuzjIQ1J+/vmqflbfbw+w/bJf3g\n", "yCP0stDGTmU3++FbtctExr6NT1refgG8qyGeMEDXY9d7PY6NHKDrses99LGRI7TM/iybNB2oNA3W\n", "Poig9/PDE5XSPFrukzSrtMz+/cLgiDZb3jL7Zfa7S7gaN9+N2z+HgGuaxs330A4MoGncfA/twAB6\n", "8ci0jY9ljccsTZU2qhZ87+U+3RS0zP64o6bMfpvIZPavqbDWMcPdTns0fvPsdPbWyn6vRHzN8iwA\n", "lS6REvYJmlDUIpKULqaFsFNKE4paRIpKy+wvpoasU9c0maCbOKg07naTncQSRmgWNz+TC8EA2nni\n", "/lSaMEA7T9xD04QBWma/13ldxV79yuhU6aZ8b5n90feuvn7dpWkl/ACbVvb3t/ldy0TGbvZ/9Mk/\n", "CZvvSdrGJy2U3/Tj098b2z/6u9PZW2a/T3V8LbO/lJVK+rC8Kxn0q8MU9KsZrOV8KV2LUq+OU0q/\n", "msFazpfStSj16jil9PjhutPKfldHaJm7oF8+/8ZhKG8aN98n3IEBNI2b76EdGEAvHplW9lvWvKdo\n", "gblRUThV2oatlf0mKE9Oikqzm/0pdFgmMnazH6Bl9tu1bI0fNdztpz4av/nDQeljm+H4YddzNkKz\n", "uPmZHgiG0NmbOTsEzalrTiWl85xw9jSs9BCPM6esSNVPqNO+oV08xo2q+Y/7hNqF/ygZu6IvbA6r\n", "AAAAAElFTkSuQmCC\n" ], "text/latex": [ "$$\\left[\\begin{matrix}0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\\\0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\\\0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\\\0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\\\0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\\\0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\\\0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\\\0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\end{matrix}\\right]$$" ], "text/plain": [ "⎡0 0 0 0 0 0 0 0⎤\n", "⎢ ⎥\n", "⎢0 0 0 0 0 0 0 0⎥\n", "⎢ ⎥\n", "⎢0 0 0 0 0 0 0 0⎥\n", "⎢ ⎥\n", "⎢0 0 0 0 0 0 0 0⎥\n", "⎢ ⎥\n", "⎢0 0 0 0 0 0 0 0⎥\n", "⎢ ⎥\n", "⎢0 0 0 0 0 0 0 0⎥\n", "⎢ ⎥\n", "⎢0 0 0 0 0 0 0 0⎥\n", "⎢ ⎥\n", "⎣0 0 0 0 0 0 0 0⎦" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "K_num = stiff_num(3)\n", "K_num - K" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Best approach" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A best approach is to use Python built-in functions for computing the Gauss-Legendre nodes and weights" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from sympy.integrals.quadrature import gauss_legendre" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[-0.906179845938664, -0.538469310105683, 0, 0.538469310105683, 0.906179845938664]\n", "[0.236926885056189, 0.478628670499366, 0.568888888888889, 0.478628670499366, 0.236926885056189]\n" ] } ], "source": [ "x, w = gauss_legendre(5, 15)\n", "print x\n", "print w" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## References" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[1] http://en.wikipedia.org/wiki/Gaussian_quadrature" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.core.display import HTML\n", "def css_styling():\n", " styles = open('../styles/custom_barba.css', 'r').read()\n", " return HTML(styles)\n", "css_styling()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.9" } }, "nbformat": 4, "nbformat_minor": 0 }