Skip to content

Instantly share code, notes, and snippets.

@guyer
Last active June 17, 2019 19:40
Show Gist options
  • Save guyer/043943d7d00cd57bd90fec7407f88a37 to your computer and use it in GitHub Desktop.
Save guyer/043943d7d00cd57bd90fec7407f88a37 to your computer and use it in GitHub Desktop.
electrolyte notebooks
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# fipy Binary Electrolyte"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"ExecuteTime": {
"end_time": "2019-06-17T16:52:10.237692Z",
"start_time": "2019-06-17T16:52:08.546761Z"
},
"scrolled": true
},
"outputs": [],
"source": [
"%matplotlib inline\n",
"from fipy import *\n",
"import numpy as np\n",
"import matplotlib.pyplot as pl"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"ExecuteTime": {
"end_time": "2019-06-17T16:52:11.451078Z",
"start_time": "2019-06-17T16:52:11.445873Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"3.2\n"
]
}
],
"source": [
"import fipy\n",
"print(fipy.__version__)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Parameters"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"ExecuteTime": {
"end_time": "2019-06-17T16:52:12.635459Z",
"start_time": "2019-06-17T16:52:12.627564Z"
}
},
"outputs": [],
"source": [
"L=0.001 # cm\n",
"nx= 50 # number of cells\n",
"\n",
"C10= 1e-3 # mol/cm3, copper concentration\n",
"C1S=C10/2\n",
"\n",
"D1= 2E-5 # cm2/s\n",
"D2= 5.3E-5 # cm2/s\n",
"\n",
"z1=+2.\n",
"z2=-2.\n",
"\n",
"n=2 # eq/mol Cu\n",
"F=96485 # C/eq\n",
"Rg=8.314 # J/mol/K\n",
"T=298 # K\n",
"f=F/Rg/T\n",
"\n",
"u1=D1/Rg/T\n",
"u2=D2/Rg/T"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Mesh"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"ExecuteTime": {
"end_time": "2019-06-17T16:52:15.485386Z",
"start_time": "2019-06-17T16:52:15.461006Z"
}
},
"outputs": [],
"source": [
"mesh = Grid1D(nx=nx, dx=1.0/nx)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"ExecuteTime": {
"end_time": "2019-06-17T16:52:16.174246Z",
"start_time": "2019-06-17T16:52:15.967901Z"
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"x=np.asarray(mesh.faceCenters)[0]\n",
"xc=np.asarray(mesh.cellCenters)[0]\n",
"pl.plot(x,np.zeros_like(x),'-o')\n",
"pl.xlabel('x / cm')\n",
"pl.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Species"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"ExecuteTime": {
"end_time": "2019-06-17T16:52:17.306035Z",
"start_time": "2019-06-17T16:52:17.294870Z"
}
},
"outputs": [],
"source": [
"C1= CellVariable(name = \"Cu2+\",\n",
" mesh = mesh,\n",
" value = 1.0)\n",
"# electroneutrality\n",
"C2 = -1/z2 * (z1*C1)\n",
"C2.name=\"Sulfate\"\n",
"\n",
"phi = CellVariable(name = \"potential\",\n",
" mesh = mesh,\n",
" value = 0.0)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Boundary Conditions"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"ExecuteTime": {
"end_time": "2019-06-17T16:52:18.299466Z",
"start_time": "2019-06-17T16:52:18.263132Z"
}
},
"outputs": [],
"source": [
"#Concentration BC's\n",
"C1.constrain(1.0, mesh.facesRight)\n",
"phi.constrain(0, mesh.facesRight)\n",
"C1.constrain(C1S/C10, mesh.facesLeft)\n",
"phi.faceGrad.constrain((z1/(z2*z2))*C1.faceGrad / C1.faceValue, mesh.facesLeft)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Governing Equations"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"ExecuteTime": {
"end_time": "2019-06-17T16:52:19.674796Z",
"start_time": "2019-06-17T16:52:19.646482Z"
}
},
"outputs": [],
"source": [
"migr_coeff_1= -z1*C1\n",
"migr_coeff_2= -z2*C2\n",
"\n",
"Eq1= DiffusionTerm(coeff=migr_coeff_1, var=phi) - DiffusionTerm(coeff=1.0, var=C1)\n",
"Eq2= DiffusionTerm(coeff=migr_coeff_2, var=phi) - DiffusionTerm(coeff=-z1/z2, var=C1)\n",
"# Eq2= DiffusionTerm(coeff=migr_coeff_2, var=phi) - C1.faceGrad.divergence\n",
"\n",
"Eqns = Eq1 & Eq2"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Solution"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"ExecuteTime": {
"end_time": "2019-06-17T16:52:25.767173Z",
"start_time": "2019-06-17T16:52:25.473719Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"158.11388300841898\n",
"72.08321614634143\n",
"5.76996139980359e-12\n",
"2.967407157400568e-12\n",
"1.0296742478167742e-13\n",
"8.874675925196695e-14\n"
]
}
],
"source": [
"res = 1e+10\n",
"restol= 1e-13\n",
"while res > restol:\n",
" res = Eqns.sweep()\n",
" print(res)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Analytical Solution"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"ExecuteTime": {
"end_time": "2019-06-17T16:52:27.550044Z",
"start_time": "2019-06-17T16:52:27.545160Z"
}
},
"outputs": [],
"source": [
"phi_a=-1.0/z2*np.log(C1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Comparison"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"ExecuteTime": {
"end_time": "2019-06-17T16:52:36.557611Z",
"start_time": "2019-06-17T16:52:35.947254Z"
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"pl.plot(xc,C1.value, label='$C_1/C_{10}$')\n",
"pl.plot(xc,C2.value, label='$C_2/C_{10}$')\n",
"pl.plot(xc,phi.value, label=r'$F\\phi / RT$')\n",
"pl.plot(xc,phi_a.value, ':', label=r'$F\\phi_A / RT$')\n",
"pl.gca().axhline(0.0, linestyle='--', color='gray', linewidth=0.5)\n",
"\n",
"pl.xlabel('x / L')\n",
"pl.legend(loc=7)\n",
"pl.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Check electroneutrality"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"ExecuteTime": {
"end_time": "2019-06-17T16:52:39.170407Z",
"start_time": "2019-06-17T16:52:39.165118Z"
}
},
"outputs": [],
"source": [
"rho= z1*C1 + z2*C2"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"ExecuteTime": {
"end_time": "2019-06-17T16:52:40.265103Z",
"start_time": "2019-06-17T16:52:40.063125Z"
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"pl.plot(xc,rho.value)\n",
"pl.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Check flux"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"ExecuteTime": {
"end_time": "2019-06-17T16:52:41.835810Z",
"start_time": "2019-06-17T16:52:41.607821Z"
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# This is diminsionless, Ni(dim) * (L/Di*Ci)\n",
"\n",
"N1= -z1*C1.faceValue*phi.faceGrad - C1.faceGrad\n",
"N2= -z2*C2.faceValue*phi.faceGrad - C2.faceGrad\n",
"\n",
"pl.plot(x/L,N1.value[0])\n",
"pl.plot(x/L,N2.value[0])\n",
"\n",
"pl.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"hide_input": false,
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.3"
},
"toc": {
"base_numbering": 1,
"nav_menu": {},
"number_sections": false,
"sideBar": true,
"skip_h1_title": false,
"title_cell": "Table of Contents",
"title_sidebar": "Contents",
"toc_cell": false,
"toc_position": {},
"toc_section_display": "block",
"toc_window_display": false
},
"varInspector": {
"cols": {
"lenName": 16,
"lenType": 16,
"lenVar": 40
},
"kernels_config": {
"python": {
"delete_cmd_postfix": "",
"delete_cmd_prefix": "del ",
"library": "var_list.py",
"varRefreshCmd": "print(var_dic_list())"
},
"r": {
"delete_cmd_postfix": ") ",
"delete_cmd_prefix": "rm(",
"library": "var_list.r",
"varRefreshCmd": "cat(var_dic_list()) "
}
},
"types_to_exclude": [
"module",
"function",
"builtin_function_or_method",
"instance",
"_Feature"
],
"window_display": false
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment