Skip to content

Instantly share code, notes, and snippets.

@guyer
Created October 28, 2015 15:17
Show Gist options
  • Save guyer/d474dee23566e2389630 to your computer and use it in GitHub Desktop.
Save guyer/d474dee23566e2389630 to your computer and use it in GitHub Desktop.
IPython notebook demonstrating setting a conducting region in FiPy
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import fipy as fp"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"mesh = fp.Grid1D(nx=200, dx=0.01)"
]
},
{
"cell_type": "code",
"execution_count": 96,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"V = fp.CellVariable(mesh=mesh, name=\"V\")"
]
},
{
"cell_type": "code",
"execution_count": 97,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x107e06c90>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"viewer = fp.MatplotlibViewer(vars=V)"
]
},
{
"cell_type": "code",
"execution_count": 98,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"charge = -1. * (mesh.x < 0.5) + 1. * (mesh.x > 1.5)\n",
"charge.name = \"rho\""
]
},
{
"cell_type": "code",
"execution_count": 138,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"X = mesh.faceCenters[0]\n",
"conductor = (X >= 0.7) & (X <= 1.2)\n",
"conductor.name = \"conductor\""
]
},
{
"cell_type": "code",
"execution_count": 145,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"dielectric = fp.FaceVariable(mesh=mesh, value=1.)\n",
"dielectric.setValue(1e3, where=conductor)"
]
},
{
"cell_type": "code",
"execution_count": 146,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"V.value = 0."
]
},
{
"cell_type": "code",
"execution_count": 147,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"V.constrain(0., where=mesh.facesLeft)"
]
},
{
"cell_type": "code",
"execution_count": 148,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"eq = fp.DiffusionTerm(coeff=dielectric) + charge == 0."
]
},
{
"cell_type": "code",
"execution_count": 149,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"eq.solve(var=V)"
]
},
{
"cell_type": "code",
"execution_count": 150,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n"
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<matplotlib.figure.Figure at 0x107d63e50>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"viewer.plot()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"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.10"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment