From be8fc11dd572569e952781a5b999503cbe73a1a7 Mon Sep 17 00:00:00 2001 From: JanHab <Jan.Habscheid@web.de> Date: Fri, 16 Aug 2024 16:42:19 +0200 Subject: [PATCH] Added Ternary Electrolyte introduction --- examples/TernaryElectrolyte.py | 111 ++++++++++++++++++ examples/__init__.py | 0 src/__init__.py | 0 src/__pycache__/Eq04.cpython-312.pyc | Bin 0 -> 17910 bytes src/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 179 bytes .../oneD_refined_mesh.cpython-312.pyc | Bin 2838 -> 2888 bytes src/oneD_refined_mesh.py | 1 + 7 files changed, 112 insertions(+) create mode 100644 examples/TernaryElectrolyte.py create mode 100644 examples/__init__.py create mode 100644 src/__init__.py create mode 100644 src/__pycache__/Eq04.cpython-312.pyc create mode 100644 src/__pycache__/__init__.cpython-312.pyc diff --git a/examples/TernaryElectrolyte.py b/examples/TernaryElectrolyte.py new file mode 100644 index 0000000..01a8da5 --- /dev/null +++ b/examples/TernaryElectrolyte.py @@ -0,0 +1,111 @@ +''' +Jan Habscheid +Jan.Habscheid@rwth-aachen.de +''' + +# import the src file needed to solve the system of equations +import sys +import os + +# Add the src directory to the sys.path +src_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', 'src') +sys.path.insert(0, src_path) + +from Eq04 import solve_System_4eq + +# Remove the src directory from sys.path after import +del sys.path[0] + +# Further imports +import matplotlib.pyplot as plt +import numpy as np + +# Define the parameters and boundary conditions +phi_left = 4.0 +phi_right = 0.0 +p_right = 0.0 +y_A_L = 1/3 +y_C_L = 1/3 +z_A = -1.0 +z_C = 1.0 +K = 'incompressible' +Lambda2 = 8.553e-6 +a2 = 7.5412e-4 +number_cells = 1024#*4 +refinement_style = 'log' +rtol = 1e-8 + +# solve the system +y_A, y_C, phi, p, x = solve_System_4eq(phi_left, phi_right, p_right, z_A, z_C, y_A_L, y_C_L, K, Lambda2, a2, number_cells, relax_param=0.05, x0=0, x1=1, refinement_style='hard_log', return_type='Vector', max_iter=1_000, rtol=rtol) + +# Fine point, where space charge starts to diverge from zero +index = 0 +nF = z_C * y_C + z_A * y_A +for i, nF_ in enumerate(nF): + if np.isclose(nF_, 0, atol=1e-3): + index = i + break + + + + +# Visualize the results +fig, axs = plt.subplots(ncols=2, figsize=(30,10)) +labelsize = 30 +lw = 4 +ax1 = axs[0] +color = 'tab:blue' +ax1.set_xlabel('x [-]', fontsize=labelsize) +ax1.set_ylabel('$\\varphi$ [-]', color=color, fontsize=labelsize) +ax1.set_xlim(0,0.05) +ax1.plot(x, phi, color=color, lw=lw, label='$\\varphi$') +ax1.tick_params(axis='x', labelsize=labelsize) +ax1.tick_params(axis='y', labelcolor=color, labelsize=labelsize) + +# Create a second y-axis +ax2 = ax1.twinx() + +# Plot nF +color = 'tab:red' +ax2.set_ylabel('$p$ [-]', color=color, fontsize=labelsize) +ax2.plot(x, p, color=color, lw=lw, label='$p$') +ax2.set_xlim(0,0.05) +ax2.tick_params(axis='y', labelcolor=color, labelsize=labelsize) + +# Add grid and save the figure +ax1.grid() +ax2.grid() + +ax1 = axs[1] +# Plot y_alpha +color = 'tab:blue' +ax1.set_xlabel('x [-]', fontsize=labelsize) +ax1.set_ylabel('$y_\\alpha$ [-]', color=color, fontsize=labelsize) +ax1.plot(x, y_A, '--', color='tab:blue', lw=lw, label='$y_A$') +ax1.plot(x, y_C, '-', color='tab:blue', lw=lw, label='$y_C$') +ax1.plot(x, 1 - y_A - y_C, ':', color='tab:blue', lw=lw, label='$y_S$') +ax1.set_xlim(0,0.05) +ax1.axvline(x[index], color='green', lw=lw, linestyle='--') +ax1.tick_params(axis='x', labelsize=labelsize) +ax1.tick_params(axis='y', labelcolor=color, labelsize=labelsize) + +# Create a second y-axis +ax2 = ax1.twinx() + +# Plot nF +color = 'tab:red' +ax2.set_ylabel('$n^F$ [-]', color=color, fontsize=labelsize) +ax2.plot(x, z_A * y_A + z_C * y_C, '-.', color='tab:red', lw=lw, label='$n^F$') +ax2.set_xlim(0,0.05) +ax2.tick_params(axis='y', labelcolor=color, labelsize=labelsize) + +# Add grid and save the figure +ax1.grid() +ax2.grid() +lines_labels = [ax.get_legend_handles_labels() for ax in fig.axes] +lines, labels = [sum(lol, []) for lol in zip(*lines_labels)] + +fig.legend(lines, labels, bbox_to_anchor=(0.73,1.1), ncol=6, fontsize=labelsize) +fig.tight_layout() + +fig.show() \ No newline at end of file diff --git a/examples/__init__.py b/examples/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/__init__.py b/src/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/__pycache__/Eq04.cpython-312.pyc b/src/__pycache__/Eq04.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d115d2ed6ed42485613169199be3432cb7a86dc5 GIT binary patch literal 17910 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 C)d-gW literal 0 HcmV?d00001 diff --git a/src/__pycache__/__init__.cpython-312.pyc b/src/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a4c2f1275d9e6807ccc319935c53511bffbf67a2 GIT binary patch literal 179 zcmX@j%ge<81W8Hz(?IlN5P=Rpvj9b=GgLBYGWxA#C}INgK7-W!3ewNbE74EZ4=qkD zD%Q_R%*#mBcgasK%}vcKDb^1t%1<v!%+1ZrOV>}&EYVLYPS#D$Nlh*(%Fn4RNzKhq zNzEzNFD^>fkB`sH%PfhH*DI*}#bE=KD9uT=D`Ev&!3e~~AjU^#Mn=XWW*`dyCnzs2 literal 0 HcmV?d00001 diff --git a/src/__pycache__/oneD_refined_mesh.cpython-312.pyc b/src/__pycache__/oneD_refined_mesh.cpython-312.pyc index 8bd99bacda254a65624f8611c0fba32b9248ffc7..a4daef0bf736fb8e56a7fa8085d94423836c6fb3 100644 GIT binary patch delta 312 zcmbOxc0!EzG%qg~0}wQ%>`zOW$ScVhGEv=3nK6YehclNeii?pUg*}x!g(H<Gg)@~a zjV*<%g(Zr&l1Y<$Vu>3EdumQ<Zfai1#_bYpj69Psuz7K^0nI961rn3h+4b1iK|GGh z(d_YzB9nKsyE3LvX5?_@POV7HEyzhN*4NXU?95@z$hWzi;}>H+-!1m|_>}zQ`1o6_ zd8N4pl|`aJ{kPb13o=cB9A*%QJtaRUEi<p8hy}#sOiC=ytk5e>%K_VYiy6cMIpG#_ zaY<2;IFMDO10+^5d<K#XMcP2(7l%!5eoARhs$G#8kjn_f#il^w!{i5CV#>028ALvC Zs4()c5dOdbq;?pCsRJfoK)fQ5LIBl%P^AC> delta 256 zcmX>hHcgE8G%qg~0}y;q+@Iz&kynz@W1_m5I9n=b3VSM73P&nO8e0ly3riGtC6gxC z#0IyG7e(0^xhFqo^WtR%YP-drnv<HFnpZN}id~P54JcB?J~@v)o>6%6Id)gZ=*c1+ z&Xbclj2L-0PviK-SkH5dJw84qKRG`B7HeK<Zb4;{2*?z++=5IKAcq-jWJ-QcT4r8F z5etaNT$+|s1h$H~xTL5^3}l54kXXs^8Avh|X#<I095%W6DWy57c15N@E+Y^Z8v%(A h%#4hTADNgLSw3?yFbdygm@LoDHd%vPhQ$OZ3jlZKK@I=_ diff --git a/src/oneD_refined_mesh.py b/src/oneD_refined_mesh.py index a335934..d34bca8 100644 --- a/src/oneD_refined_mesh.py +++ b/src/oneD_refined_mesh.py @@ -6,6 +6,7 @@ Jan.Habscheid@rwth-aachen.de import numpy as np from mpi4py import MPI from dolfinx import mesh +from basix.ufl import element from ufl import Mesh -- GitLab