From d3dd3f5f1ffbeb82a92cfdd5bb32fb2fbc0dd711 Mon Sep 17 00:00:00 2001 From: Thomas Roy Date: Wed, 17 Apr 2024 15:16:23 -0700 Subject: [PATCH] Adding short description for examples --- examples/BMCSL.py | 5 +++ examples/bicarb.py | 3 +- examples/bicarb_Ag_Cu_tandem_example.py | 27 ++++++++-------- examples/bortels_threeion.py | 14 +++++++++ .../bortels_threeion_extruded_3D_nondim.py | 20 +++++++++++- examples/bortels_threeion_nondim.py | 19 ++++++++++++ examples/bortels_twoion.py | 14 +++++++++ examples/bortels_twoion_nondim.py | 19 ++++++++++++ examples/carbonate.py | 31 ++++++++++++------- examples/carbonate_homog_params.py | 31 ++++++++++++------- examples/catalyst_layer_Cu.py | 8 ++++- examples/catalyst_layer_Cu_full.py | 10 +++++- examples/cylindrical_pore.py | 8 +++-- examples/gupta.py | 6 ++++ examples/gupta_advection_migration.py | 7 ++--- examples/mms_scaling.py | 10 ++++++ examples/paper_test.py | 5 ++- examples/simple_flow_battery.py | 18 ++++++++--- examples/tworxn.py | 15 ++++----- examples/tworxn_irregular.py | 22 ++++++++----- 20 files changed, 223 insertions(+), 69 deletions(-) diff --git a/examples/BMCSL.py b/examples/BMCSL.py index 66d5e8d..0714e11 100644 --- a/examples/BMCSL.py +++ b/examples/BMCSL.py @@ -3,7 +3,12 @@ @author: Nitish Govindarajan +Simple example for the BMCSL model for finite size ion effects + Code to reproduce Figure 1 from doi:10.1016/j.jcis.2007.08.006 +Biesheuvel, P.M. and Van Soestbergen, M., 2007. Counterion volume effects in +mixed electrical double layers. Journal of Colloid and Interface Science, +316(2), pp.490-499. """ # Import required libraries diff --git a/examples/bicarb.py b/examples/bicarb.py index b2dae9d..402d798 100644 --- a/examples/bicarb.py +++ b/examples/bicarb.py @@ -5,7 +5,8 @@ class CarbonateSolver(EchemSolver): def __init__(self): """ - Bicarbonate example reproduced from: + Flow past an electrode with bicarbonate bulk reactions and linear CO2 electrolysis + Example reproduced from: Lin, T.Y., Baker, S.E., Duoss, E.B. and Beck, V.A., 2021. Analysis of the Reactive CO2 Surface Flux in Electrocatalytic Aqueous Flow Reactors. Industrial & Engineering Chemistry Research, 60(31), diff --git a/examples/bicarb_Ag_Cu_tandem_example.py b/examples/bicarb_Ag_Cu_tandem_example.py index 7e618f9..212d611 100644 --- a/examples/bicarb_Ag_Cu_tandem_example.py +++ b/examples/bicarb_Ag_Cu_tandem_example.py @@ -11,19 +11,19 @@ comm = MPI.COMM_WORLD rank = comm.Get_rank() -##Description: -#This example case runs a tandem electrode system, with an Ag catalyst placed -#in front of a Cu catalyst, at a Peclet number of 1E3. -#The advection/diffusion/migration/electroneutrality equations are solved -#for the bulk electrolyte, and a Tafel description is applied for the surface -#catalyst reactions. +""" +This example case runs a tandem electrode system, with an Ag catalyst placed +in front of a Cu catalyst, at a Peclet number of 1E3. +The advection/diffusion/migration/electroneutrality equations are solved +for the bulk electrolyte, and a Tafel description is applied for the surface +catalyst reactions. -#Assumed products of Cu catalyst are C2H4, C2H6O, and H2. -#Assumed products of Ag catalysis are CO and H2. +Assumed products of Cu catalyst are C2H4, C2H6O, and H2. +Assumed products of Ag catalysis are CO and H2. + +-------------------------------------------------------------------------- +list of references -##-------------------------------------------------------------------------- -#list of references -""" Bicarbonate flow reactor setup given in: Lin, T.Y., Baker, S.E., Duoss, E.B. and Beck, V.A., 2021. Analysis of the Reactive CO2 Surface Flux in Electrocatalytic Aqueous Flow @@ -53,10 +53,9 @@ Microkinetics with Continuum Transport Models to Understand Electrochemical CO2 Reduction in Flow Reactors. PRX Energy, 2(3), pp.033010. +-------------------------------------------------------------------------- +end of list of references """ -##-------------------------------------------------------------------------- -#end of list of references - #--------------------------------------------------------------------------- diff --git a/examples/bortels_threeion.py b/examples/bortels_threeion.py index 17da604..15acdad 100644 --- a/examples/bortels_threeion.py +++ b/examples/bortels_threeion.py @@ -7,6 +7,20 @@ parser.add_argument("--family", type=str, default='DG') args, _ = parser.parse_known_args() +""" +2D Flow-plate reactor with electroneutral Nernst-Planck. Using a custom gmsh +mesh with refinement close to the electrodes. GMSH is used to get the mesh file +from the .geo file as follows: + + gmsh -2 bortels_structuredquad.geo + +Three ion case taken from: +Bortels, L., Deconinck, J. and Van Den Bossche, B., 1996. The multi-dimensional +upwinding method as a new simulation tool for the analysis of multi-ion +electrolytes controlled by diffusion, convection and migration. Part 1. Steady +state analysis of a parallel plane flow channel. Journal of Electroanalytical +Chemistry, 404(1), pp.15-26. +""" class BortelsSolver(EchemSolver): def __init__(self): diff --git a/examples/bortels_threeion_extruded_3D_nondim.py b/examples/bortels_threeion_extruded_3D_nondim.py index 8d9acb6..760afce 100644 --- a/examples/bortels_threeion_extruded_3D_nondim.py +++ b/examples/bortels_threeion_extruded_3D_nondim.py @@ -8,6 +8,24 @@ set_log_level(DEBUG) +""" +3D Flow-plate reactor with electroneutral Nernst-Planck. Using a custom gmsh +mesh with refinement close to the electrodes. The mesh is then extruded in the +z-direction. Custom block preconditioners are used. The file submitter.pl can +be adapted to launch slurm jobs using perl. + +Three ion case adapted from the 2D case in: +Bortels, L., Deconinck, J. and Van Den Bossche, B., 1996. The multi-dimensional +upwinding method as a new simulation tool for the analysis of multi-ion +electrolytes controlled by diffusion, convection and migration. Part 1. Steady +state analysis of a parallel plane flow channel. Journal of Electroanalytical +Chemistry, 404(1), pp.15-26. + +Nondimensionalization and preconditioning from: +Roy, T., Andrej, J. and Beck, V.A., 2023. A scalable DG solver for the +electroneutral Nernst-Planck equations. Journal of Computational Physics, 475, +p.111859. +""" parser = argparse.ArgumentParser() parser.add_argument('-ref_levels', type=int, default=0) @@ -55,6 +73,7 @@ def coarsen_form(self, form, args): class BortelsSolver(EchemSolver): def __init__(self): # Create an initial coarse mesh + # Note: will need to use "gmsh -2 mesh_name.geo" command to convert to .msh format if args.mesh == 'structured': plane_mesh = Mesh('bortels_structuredquad_nondim_coarse1664.msh') layers = 8 @@ -197,7 +216,6 @@ def set_velocity(self): # Custom solver parameters - class CoarsenPenaltyPMGPC(P1PC): def coarsen_form(self, form, replace_dict): k = 1 diff --git a/examples/bortels_threeion_nondim.py b/examples/bortels_threeion_nondim.py index 797a661..266e8c6 100644 --- a/examples/bortels_threeion_nondim.py +++ b/examples/bortels_threeion_nondim.py @@ -1,6 +1,25 @@ from firedrake import * from echemflow import EchemSolver +""" +2D Flow-plate reactor with electroneutral Nernst-Planck. Using a custom gmsh +mesh with refinement close to the electrodes. GMSH is used to get the mesh file +from the .geo file as follows: + + gmsh -2 bortels_structuredquad_nondim.geo + +Three ion case taken from: +Bortels, L., Deconinck, J. and Van Den Bossche, B., 1996. The multi-dimensional +upwinding method as a new simulation tool for the analysis of multi-ion +electrolytes controlled by diffusion, convection and migration. Part 1. Steady +state analysis of a parallel plane flow channel. Journal of Electroanalytical +Chemistry, 404(1), pp.15-26. + +Nondimensionalization from: +Roy, T., Andrej, J. and Beck, V.A., 2023. A scalable DG solver for the +electroneutral Nernst-Planck equations. Journal of Computational Physics, 475, +p.111859. +""" class BortelsSolver(EchemSolver): def __init__(self): diff --git a/examples/bortels_twoion.py b/examples/bortels_twoion.py index cb10c44..d65ae4e 100644 --- a/examples/bortels_twoion.py +++ b/examples/bortels_twoion.py @@ -5,6 +5,20 @@ parser.add_argument("--family", type=str, default='DG') args, _ = parser.parse_known_args() +""" +2D Flow-plate reactor with electroneutral Nernst-Planck. Using a custom GMSH +mesh with refinement close to the electrodes. GMSH is used to get the mesh file +from the .geo file as follows: + + gmsh -2 bortels_structuredquad.geo + +Two ion case taken from: +Bortels, L., Deconinck, J. and Van Den Bossche, B., 1996. The multi-dimensional +upwinding method as a new simulation tool for the analysis of multi-ion +electrolytes controlled by diffusion, convection and migration. Part 1. Steady +state analysis of a parallel plane flow channel. Journal of Electroanalytical +Chemistry, 404(1), pp.15-26. +""" class BortelsSolver(EchemSolver): def __init__(self): diff --git a/examples/bortels_twoion_nondim.py b/examples/bortels_twoion_nondim.py index 971dc1f..4687b4d 100644 --- a/examples/bortels_twoion_nondim.py +++ b/examples/bortels_twoion_nondim.py @@ -1,6 +1,25 @@ from firedrake import * from echemfem import EchemSolver +""" +2D Flow-plate reactor with electroneutral Nernst-Planck. Using a custom gmsh +mesh with refinement close to the electrodes. GMSH is used to get the mesh file +from the .geo file as follows: + + gmsh -2 bortels_structuredquad_nondim.geo + +Two ion case taken from: +Bortels, L., Deconinck, J. and Van Den Bossche, B., 1996. The multi-dimensional +upwinding method as a new simulation tool for the analysis of multi-ion +electrolytes controlled by diffusion, convection and migration. Part 1. Steady +state analysis of a parallel plane flow channel. Journal of Electroanalytical +Chemistry, 404(1), pp.15-26. + +Nondimensionalization from: +Roy, T., Andrej, J. and Beck, V.A., 2023. A scalable DG solver for the +electroneutral Nernst-Planck equations. Journal of Computational Physics, 475, +p.111859. +""" class BortelsSolver(EchemSolver): def __init__(self): diff --git a/examples/carbonate.py b/examples/carbonate.py index 2ac3721..7f5e030 100644 --- a/examples/carbonate.py +++ b/examples/carbonate.py @@ -1,20 +1,24 @@ from firedrake import * from echemfem import EchemSolver, IntervalBoundaryLayerMesh +""" +A 1D example of diffusion-reaction for CO2 electrolysis with bicarbonate bulk +reactions. The bulk reactions and charge-transfer reactions are implemented by +hand. + +Steady-state version of example from +Gupta, N., Gattrell, M. and MacDougall, B., 2006. Calculation for the +cathode surface concentrations in the electrochemical reduction of CO2 in +KHCO3 solutions. Journal of applied electrochemistry, 36(2), pp.161-172. + +Using the bicarbonate bulk reactions from +Schulz, K.G., Riebesell, U., Rost, B., Thoms, S. and Zeebe, R.E., 2006. +Determination of the rate constants for the carbon dioxide to bicarbonate +inter-conversion in pH-buffered seawater systems. Marine chemistry, +100(1-2), pp.53-65. +""" class CarbonateSolver(EchemSolver): - """ - Steady-state version of example from - Gupta, N., Gattrell, M. and MacDougall, B., 2006. Calculation for the - cathode surface concentrations in the electrochemical reduction of CO2 in - KHCO3 solutions. Journal of applied electrochemistry, 36(2), pp.161-172. - but using the bicarbonate bulk reactions from - Schulz, K.G., Riebesell, U., Rost, B., Thoms, S. and Zeebe, R.E., 2006. - Determination of the rate constants for the carbon dioxide to bicarbonate - inter-conversion in pH-buffered seawater systems. Marine chemistry, - 100(1-2), pp.53-65. - """ - def __init__(self): delta = 0.0001 @@ -115,6 +119,9 @@ def set_boundary_markers(self): solver = CarbonateSolver() solver.setup_solver() solver.solve() + +### Plotting + C_CO2, C_OH, C_H, C_CO3, C_HCO3 = solver.u.subfunctions # OH boundary layer x = solver.mesh.coordinates diff --git a/examples/carbonate_homog_params.py b/examples/carbonate_homog_params.py index aff74f0..a08d4ee 100644 --- a/examples/carbonate_homog_params.py +++ b/examples/carbonate_homog_params.py @@ -1,20 +1,24 @@ from firedrake import * from echemfem import EchemSolver, IntervalBoundaryLayerMesh +""" +A 1D example of diffusion-reaction for CO2 electrolysis with bicarbonate bulk +reactions. The charge-transfer reactions are implemented by hand but the bulk +reactions are implemented using the homog_params interface. + +Steady-state version of example from +Gupta, N., Gattrell, M. and MacDougall, B., 2006. Calculation for the +cathode surface concentrations in the electrochemical reduction of CO2 in +KHCO3 solutions. Journal of applied electrochemistry, 36(2), pp.161-172. + +Using the bicarbonate bulk reactions from +Schulz, K.G., Riebesell, U., Rost, B., Thoms, S. and Zeebe, R.E., 2006. +Determination of the rate constants for the carbon dioxide to bicarbonate +inter-conversion in pH-buffered seawater systems. Marine chemistry, +100(1-2), pp.53-65. +""" class CarbonateSolver(EchemSolver): - """ - Steady-state version of example from - Gupta, N., Gattrell, M. and MacDougall, B., 2006. Calculation for the - cathode surface concentrations in the electrochemical reduction of CO2 in - KHCO3 solutions. Journal of applied electrochemistry, 36(2), pp.161-172. - but using the bicarbonate bulk reactions from - Schulz, K.G., Riebesell, U., Rost, B., Thoms, S. and Zeebe, R.E., 2006. - Determination of the rate constants for the carbon dioxide to bicarbonate - inter-conversion in pH-buffered seawater systems. Marine chemistry, - 100(1-2), pp.53-65. - """ - def __init__(self): delta = 0.0001 @@ -142,6 +146,9 @@ def set_boundary_markers(self): solver = CarbonateSolver() solver.setup_solver() solver.solve() + +### Plotting + C_CO2, C_OH, C_H, C_CO3, C_HCO3 = solver.u.subfunctions # OH boundary layer x = solver.mesh.coordinates diff --git a/examples/catalyst_layer_Cu.py b/examples/catalyst_layer_Cu.py index 46a75a8..33c872c 100644 --- a/examples/catalyst_layer_Cu.py +++ b/examples/catalyst_layer_Cu.py @@ -6,7 +6,10 @@ import csv import pdb """ -Model fromn +1D model for the CO2 electrolysis in a copper catalyst layer of a gas diffusion +electrode (GDE). The model uses electroneutral Nernst-Planck in a porous +medium. + Corral D, Lee DU, Ehlinger VM, Nitopi S, Acosta JE, Wang L, King AJ, Feaster JT, Lin YR, Weber AZ, Baker SE. Bridging knowledge gaps in liquid-and vapor-fed CO2 electrolysis through active electrode area. Chem Catalysis. 2022 Oct 12. @@ -240,6 +243,9 @@ def set_boundary_markers(self): solver.U_app.assign(Vs) print("V = %d mV" % (Vs * 1000)) solver.solve() + + ## Plotting + cCO2, cOH, cH, cCO3, cHCO3, phi2, phi1 = solver.u.subfunctions cK = Function(solver.V).assign(2 * cCO3 + cOH + cHCO3 - cH) diff --git a/examples/catalyst_layer_Cu_full.py b/examples/catalyst_layer_Cu_full.py index bcf77ae..a4c0e46 100644 --- a/examples/catalyst_layer_Cu_full.py +++ b/examples/catalyst_layer_Cu_full.py @@ -5,7 +5,12 @@ import numpy as np import csv """ -Model fromn +1D model for the CO2 electrolysis in a copper catalyst layer of a gas diffusion +electrode (GDE). The model uses electroneutral Nernst-Planck in a porous +medium. This version of the code does not eliminate a species by substituting +the electroneutrality equation, but rather explicitly solves for +electroneutrality. + Corral D, Lee DU, Ehlinger VM, Nitopi S, Acosta JE, Wang L, King AJ, Feaster JT, Lin YR, Weber AZ, Baker SE. Bridging knowledge gaps in liquid-and vapor-fed CO2 electrolysis through active electrode area. Chem Catalysis. 2022 Oct 12. @@ -240,6 +245,9 @@ def set_boundary_markers(self): solver.U_app.assign(Vs) print("V = %d mV" % (Vs * 1000)) solver.solve() + + ## Plotting + cCO2, cOH, cH, cCO3, cHCO3, cK, phi2, phi1 = solver.u.subfunctions x_ = Function(V).interpolate(solver.mesh.coordinates[0]).vector().dat.data diff --git a/examples/cylindrical_pore.py b/examples/cylindrical_pore.py index 742bab6..0d9504e 100644 --- a/examples/cylindrical_pore.py +++ b/examples/cylindrical_pore.py @@ -2,7 +2,9 @@ from echemfem import EchemSolver import numpy as np """ -Model from +A symmetric cylindrical pore model for CO2 electrolysis using electroneutral +Nernst-Planck and simplified bicarbonate bulk reactions. + Elucidating Mass Transport Regimes in Gas Diffusion Electrodes for CO2 Electroreduction Thomas Moore, Xiaoxing Xia, Sarah E. Baker, Eric B. Duoss, and Victor A. Beck ACS Energy Letters 2021 6 (10), 3600-3606 @@ -170,18 +172,18 @@ def set_boundary_markers(self): solver.save_solutions = False solver.solve() +## Plotting + # getting active region _, Z = SpatialCoordinate(solver.mesh) active = conditional(le(Z, 5e-6), 1., 0.) - def get_boundary_dofs(V, i): u = Function(V) bc = DirichletBC(V, active, i) bc.apply(u) return np.where(u.vector()[:] == 1) - dofs = get_boundary_dofs(solver.V, 2) Z_cat = Function(solver.V).interpolate(Z).dat.data[dofs] diff --git a/examples/gupta.py b/examples/gupta.py index e7aba4c..ca4bcdb 100644 --- a/examples/gupta.py +++ b/examples/gupta.py @@ -4,6 +4,9 @@ class GuptaSolver(EchemSolver): """ + A 1D example of diffusion-reaction for CO2 electrolysis with bicarbonate bulk + reactions. + Steady-state version of example from Gupta, N., Gattrell, M. and MacDougall, B., 2006. Calculation for the cathode surface concentrations in the electrochemical reduction of CO2 in @@ -94,6 +97,9 @@ def set_boundary_markers(self): solver = GuptaSolver() solver.setup_solver() solver.solve() + +## Plotting + C_CO2, C_HCO3, C_CO3, C_OH = solver.u.subfunctions # OH boundary layer x = solver.mesh.coordinates diff --git a/examples/gupta_advection_migration.py b/examples/gupta_advection_migration.py index b009c8a..bf0a8b8 100644 --- a/examples/gupta_advection_migration.py +++ b/examples/gupta_advection_migration.py @@ -4,10 +4,9 @@ class GuptaSolver(EchemSolver): """ - Flow past a flat plate electrode for CO2 reduction. - Using electroneutral Nernst-Planck. - The homogenous bulk reactions and the constant-rate charge-transfer - kinetics are taken from: + Flow past a flat plate electrode for CO2 reduction using electroneutral + Nernst-Planck. The homogenous bulk reactions and the constant-rate + charge-transfer kinetics are taken from: Gupta, N., Gattrell, M. and MacDougall, B., 2006. Calculation for the cathode surface concentrations in the electrochemical reduction of CO2 in diff --git a/examples/mms_scaling.py b/examples/mms_scaling.py index d71c92c..cbac206 100644 --- a/examples/mms_scaling.py +++ b/examples/mms_scaling.py @@ -8,6 +8,16 @@ set_log_level(DEBUG) +""" +A manufactured example of 3D electroneutral Nernst-Planck to evaluate the +convergence of the DG scheme and scaling of custom block preconditioners. The +file submitter_mms.pl can be adapted to launch slurm jobs using perl. + +DG scheme and preconditioning from: +Roy, T., Andrej, J. and Beck, V.A., 2023. A scalable DG solver for the +electroneutral Nernst-Planck equations. Journal of Computational Physics, 475, +p.111859. +""" parser = argparse.ArgumentParser() parser.add_argument('-ref_levels', type=int, default=0) diff --git a/examples/paper_test.py b/examples/paper_test.py index 5e782eb..779e2ea 100644 --- a/examples/paper_test.py +++ b/examples/paper_test.py @@ -4,7 +4,10 @@ from mpi4py import MPI from petsc4py import PETSc """ -Convergence tests for Roy et al, 2021 +Convergence tests for the DG scheme in +Roy, T., Andrej, J. and Beck, V.A., 2023. A scalable DG solver for the +electroneutral Nernst-Planck equations. Journal of Computational Physics, 475, +p.111859. """ PETSc.Sys.popErrorHandler() diff --git a/examples/simple_flow_battery.py b/examples/simple_flow_battery.py index d91b507..482bc79 100644 --- a/examples/simple_flow_battery.py +++ b/examples/simple_flow_battery.py @@ -1,6 +1,19 @@ from firedrake import * from echemfem import EchemSolver, NavierStokesBrinkmanFlowSolver import argparse + + +""" +A simple Vanadium flow battery using advection-diffusion-reaction, Poisson for +the ionic potential with a predefinied conductivity and Stokes-Brinkman for the +flow. + +Model taken from +Lin, T.Y., Baker, S.E., Duoss, E.B. and Beck, V.A., 2022. Topology optimization +of 3D flow fields for flow batteries. Journal of The Electrochemical Society, +169(5), p.050540. +""" + parser = argparse.ArgumentParser(add_help=False) parser.add_argument("--family", type=str, default='CG') parser.add_argument("--vel_file", type=str, default=None) @@ -17,11 +30,6 @@ mesh = RectangleMesh(50, 50, electrode_length, electrode_thickness, quadrilateral=True) class FlowBatterySolver(EchemSolver): - """ - Lin, T.Y., Baker, S.E., Duoss, E.B. and Beck, V.A., 2022. Topology optimization - of 3D flow fields for flow batteries. Journal of The Electrochemical Society, - 169(5), p.050540. - """ def __init__(self): conc_params = [] diff --git a/examples/tworxn.py b/examples/tworxn.py index e1c109f..ad155d7 100644 --- a/examples/tworxn.py +++ b/examples/tworxn.py @@ -1,16 +1,17 @@ from firedrake import * from echemfem import EchemSolver, RectangleBoundaryLayerMesh +""" +A 2D flow past the electrode toy model with two species and +advection-diffusion. Taken from +Lin, T.Y., Baker, S.E., Duoss, E.B. and Beck, V.A., 2021. Analysis of +the Reactive CO2 Surface Flux in Electrocatalytic Aqueous Flow +Reactors. Industrial & Engineering Chemistry Research, 60(31), +pp.11824-11833. +""" class CarbonateSolver(EchemSolver): def __init__(self): - """ - Two reactions example reproduced from: - Lin, T.Y., Baker, S.E., Duoss, E.B. and Beck, V.A., 2021. Analysis of - the Reactive CO2 Surface Flux in Electrocatalytic Aqueous Flow - Reactors. Industrial & Engineering Chemistry Research, 60(31), - pp.11824-11833. - """ Ly = 0.1 Lx = 1. diff --git a/examples/tworxn_irregular.py b/examples/tworxn_irregular.py index 7fc18a8..3a50578 100644 --- a/examples/tworxn_irregular.py +++ b/examples/tworxn_irregular.py @@ -1,6 +1,21 @@ from firedrake import * from echemfem import EchemSolver, NavierStokesFlowSolver +""" +A 2D flow past an irregular electrode toy model with two species and +advection-diffusion, and Navier-Stokes for the flow. The electrode surface +consists of square blocks. The mesh can be create in GMSH using the following +command: + + gmsh -2 squares_small.geo + +The model is adapated from +Lin, T.Y., Baker, S.E., Duoss, E.B. and Beck, V.A., 2021. Analysis of +the Reactive CO2 Surface Flux in Electrocatalytic Aqueous Flow +Reactors. Industrial & Engineering Chemistry Research, 60(31), +pp.11824-11833. +""" + peclet=10 damkohler=10 Ly = 0.1 @@ -11,13 +26,6 @@ class CarbonateSolver(EchemSolver): def __init__(self): - """ - Two reactions example reproduced from: - Lin, T.Y., Baker, S.E., Duoss, E.B. and Beck, V.A., 2021. Analysis of - the Reactive CO2 Surface Flux in Electrocatalytic Aqueous Flow - Reactors. Industrial & Engineering Chemistry Research, 60(31), - pp.11824-11833. - """ C_1_inf = 1. C_2_inf = Constant(0)