Skip to content

Instantly share code, notes, and snippets.

@danieljfarrell
Last active December 25, 2015 04:09
Show Gist options
  • Select an option

  • Save danieljfarrell/6914830 to your computer and use it in GitHub Desktop.

Select an option

Save danieljfarrell/6914830 to your computer and use it in GitHub Desktop.
Implementation a finite volume method with a half cell at one end.
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": "FVM half width boundary cell"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": "### Finite volume method for advection-diffusion equation\n\nIn the finite volume method (FVM) fluxes are represented on cell faces and the value of solution variables is taken as an average over a cell volume. For the advection-diffusion equation with Robin boundary conditions it is convenient to use a cell centered grid because the domain terminates on a cell faces. This means that the boundary conditions appear naturally in the integral form of the equations. However Dirichlet conditions must be imposed *weakly*. Weak Dirichlet conditions are generally fine but they can cause problems in certain situations, such as when solving the Poisson equation on a non-uniform grid.\n\n### Cell-centered mesh with single half-cell at the left boundary\n\nWe will first discretise the advection-diffusion equation using the following cell-centered grid with single half-cell at the l.h.s. boundary. We use the advection-diffusion equation as the basis because it is a more general form which reduces to Poisson equation,"
},
{
"cell_type": "code",
"collapsed": false,
"input": "from IPython.display import Image\nImage(filename='/Users/daniel/images/ccg.png')",
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"png": "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\nqJXr8NiAtRjQprasBhnb6omAxo1BHQcjE/pJoPIT4GJu5R8jtpAESIAESplAFlZPeAorSlhqtzH7\n8WrbuiXMxeQk4IoEPOAfGAR/h6abch+QkHUIvPseNAr0cYjlJQmQgCsSoDDkiqPGNpMACZDATRHw\nxQMD4pB9yoTqTh6YkpfjhYcbqScW3VTNzEwCrkzAbLacFH7VfM2Vu8G2kwAJGAhQGDLAoJcESIAE\n3IOAB0IiRyDEPTrLXpIACZAACZBAoQRuLTSGESRAAiRAAiRAAiRAAiRAAiRQhQlQGKrCg8uukQAJ\nkAAJkAAJlB4BDw9Nr9R50yOlVztLIgESKAsCtCZXFlRZJgmQAAmQAAmQQJUkYM4zAdW9wH0GVXJ4\n2Sk3JEBhyA0HnV0mARIgARIgARIgARIgARIAqCbHu4AESIAESIAESIAESIAESMAtCVAYcsthZ6dJ\ngARIgARIgARIgARIgAQoDPEeIAESIAESIAESIAESIAEScEsCFIbcctjZaRIgARIgARIgARIgARIg\nAQpDvAdIgARIgARIgARIgARIgATckgCFIbccdnaaBEiABEiABEiABEiABEiAwhDvARIgARIgARIg\nARIgARIgAbckQGHILYednSYBEiABEiABEiABEiABEqAwxHuABEiABEiABEiABEiABEjALQlQGHLL\nYWenSYAESIAESIAESIAESIAEKAzxHiABEiABEiABEiABEiABEnBLAhSG3HLY2WkSIAESIAESIAES\nIAESIAEKQ7wHSIAESIAESIAESIAESIAE3JIAhSG3HHZ2mgRIgARIgARIgARIgARIgMIQ7wESIAES\nIAESIAESIAESIAG3JEBhyC2HnZ0mARIgARIgARIgARIgARKgMMR7gARIgARIgARIgARIgARIwC0J\nUBhyy2Fnp0mABEiABEiABEiABEiABCgM8R4gARIgARIgARIgARIgARJwSwIUhtxy2NlpEiABEiAB\nEiABEiABEiABCkO8B0iABEiABEiABEiABEiABNySAIUhtxx2dpoESIAESIAESIAESIAESIDCEO8B\nEiABEiABEiABEiABEiABtyRAYcgth52dJgFXImBGVloaskyu1Ga2lQRIgARIgARIwBUIUBhyhVFi\nG0nAzQik7VyNKVPG4/neEWh7iyf87rgDfh2n4Gdz0SAOLHkVbdtGoHeE5IuYguMUoIoGxlgSIAES\n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\n",
"prompt_number": 3,
"text": "<IPython.core.display.Image at 0x105a38710>"
}
],
"prompt_number": 3
},
{
"cell_type": "markdown",
"metadata": {},
"source": "#### Interior equations\n\nThe advection-diffusion equation in flux form is given by,\n\n$$\nu_t = (\\mathcal{-F})_x\n$$\n\nwhere $\\mathcal{F} = au - du_x$. This expression holds over the whole domain, therefore it must also hold over a subdomain $\\Omega_j=(x_{j-1/2}, x_{j+1/2})$. Integrating over the subdomain, or cell, gives,\n\t\n$$\n\\int_{x_{j-1/2}}^{x_{j+1/2}} u_t~dx = \\int_{x_{j-1/2}}^{x_{j+1/2}} (\\mathcal{-F})_x~dx\n$$\n\nIf we now use $w$ to represent the integrated values and solve the equations in terms of integrated varibles. Therefore the equation we wish to solve has the form,\n\n$$\nw_j^{\\prime} = -\\frac{\\mathcal{F}_{j+1/2}}{h_j} + \\frac{\\mathcal{F}_{j-1/2}}{h_{j}}\n$$\n\nBy choosing different finite differences to approximate the fluxes different numerical schemes can be applied. A common scheme for the advection component is to linearly interpolation to determine the contribution at the cell faces, and for the diffusion component with will use a simple cell average. Following this scheme the fluxes become,\n\n$$\n\\mathcal{F}_{j+\\frac{1}{2}} = a_{j+\\frac{1}{2}}\\left( \\frac{h_{j+1}}{2h_{+}} w_j + \\frac{h_j}{2h_{+}} w_{j+1} \\right) - d_{j+\\frac{1}{2}} \\frac{w_{j+1}-w_j}{h_{+}}\n$$\n\n$$\n\\mathcal{F}_{j-\\frac{1}{2}} = a_{j-\\frac{1}{2}}\\left( \\frac{h_{j}}{2h_{-}} w_{j-1} + \\frac{h_{j-1}}{2h_{-}} w_{j} \\right) - d_{j-\\frac{1}{2}} \\frac{w_{j}-w_{j-1}}{h_{-}}\n$$\n\n#### Half cell equation\n\nFor cell $\\Omega_1$ (the half cell) we need a different equation and flux definition because the grid has changed geometry. Let's integrate the advection-diffusion equation over the half cell,\n\n$$\n\\int_{x_{1}}^{x_{1+1/2}} u_t~dx = \\int_{x_{1}}^{x_{1+1/2}} (\\mathcal{-F})_x~dx\n$$\n\nAgain, using $w$ to represent the integrate values,\n\n$$\nw_j^{\\prime} = -\\frac{\\mathcal{F}_{1+1/2}}{h_1} + \\frac{\\mathcal{F}_{1}}{h_{1}}\n$$\n\nWe now need to select a scheme which defines the fluxes at $x_1$ and $x_{1+1/2}$,\n\n$$\n\\mathcal{F}_{1+\\frac{1}{2}} = a_{1+\\frac{1}{2}}u(x_{1+\\frac{1}{2}}) - d({x_{1+\\frac{1}{2}}}) \\frac{\\partial u}{\\partial x}\\big|_{x_{1+1/2}}\n$$\n\n$$\n\\mathcal{F}_{1} = a_{1}u(x_{1}) - d({x_{1}}) \\frac{\\partial u}{\\partial x}\\big|_{x_{1}}\n$$\n\nThe solution varible at $u(x_{1+\\frac{1}{2}})$ can be defined with again with linear interpolation,\n\n$$\nu(x_{1+\\frac{1}{2}}) = \\left( \\frac{h_{2}}{2h_{-}} w_{1} + \\frac{h_{1}}{2h_{-}} w_{2} \\right)\n$$\n\nand the solution variable at $u(x_1)$ is already known assuming it is given as a Dirichlet boundary condition,\n\n$$\nu(x_1) = g_D(x_1)\n$$\n\nThe gradient of the solution variable at the face $x_{1+\\frac{1}{2}}$ at be again a given by the the cell difference,\n\n$$\n \\frac{\\partial u}{\\partial x}\\big|_{x_{1+1/2}} = \\frac{w_{2}-w_1}{h_{-}}\n$$\n\nFinally, we need to define the gradient of the solution variable at the half-cell, $\\frac{\\partial u}{\\partial x}\\big|_{x_{1}}$. \n\nHow can this be done?\n\n* Linear extrapolation of the gradient from the gradient at the nearest two interior cells?\n* Ghost cell?\n* Other...?"
},
{
"cell_type": "code",
"collapsed": false,
"input": "",
"language": "python",
"metadata": {},
"outputs": []
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment