Martin Schäfer* and
Karl-Michael Weitzel*
Chemistry Department, Philipps-Universität Marburg, Marburg, Germany. E-mail: martin.schaefer@chemie.uni-marburg.de; weitzel@chemie.uni-marburg.de
First published on 24th July 2025
A software packet for simulating charge carrier transport in solid electrolytes on the basis of Nernst–Planck Poisson equations is presented. The software is capable of handling a variety of electrochemical ion exchange processes ranging from charge attachment induced transport (CAIT) to alkali proton substitution (APS) and thermal electro-poling with a focus on concentration depth profiles. The software package includes a graphical user interface allowing for simple user input, visualization and output.
In order to understand ion transport processes in detail, theoretical and experimental concepts are required that help to understand the full range of processes, from microscopic processes at the atomic level to macroscopically measurable particle flux and concentration profiles. Microscopic transport processes can be described, for example, with the help of programs based on Monte–Carlo simulations.13–16 In the limit of macroscopic concentration-depth profiles often the coupled set of Nernst–Planck and Poisson (NPP) equations are used. Based on the concepts of Walter Nernst17 and Max Planck18 this set of equations provides an appropriate framework for the analysis of transport properties in solids and liquids.19–22 The coupled equations describe the transport of charge carriers due to a gradient in the electrochemical potential. The electrochemical potential gradient includes possible contributions from concentration gradients and electric potential gradients. Driven by these gradients, the ion translocation takes place which in turn self-consistently affects the electric field in the sample. In this context, NPP calculations in liquids and solids have been performed including calculations for biomolecular applications,23,24 in neuroscience,25,26 for diffusion through porous media27–29 and membranes,30–33 at electrodes34–36 and inside battery cells,37–39 as well as calculations in solid electrolytes.31,40–42 Aspects like diffusion along grain boundaries,43–45 across grain boundaries,46 finite size effects47,48 and crowding49,50 have been included into the NPP transport theory.
If an electrochemical potential gradient is applied across an ion conducting solid electrolyte for an extended period of time, a directed translocation of the ions occurs, such that concentration-depth profiles can arise.51–56 These profiles then contain information regarding the underlying transport processes and, in addition to simple information concerning the basic DC conductivity and activation energies,57,58 it is even possible to infer the energy landscape of the conductive ions in the sample.41,59–62
The energy landscape of native ions in a sample strongly depends on the microscopic structure of the sample.63–65 While mobile charge carriers in a crystalline structure generally all see the same atomic environment and therefore their properties, i.e. their activation energies, are almost identical, the situation in amorphous materials is significantly different. In these materials, the ions have specific environments, which are also expressed in specific activation energies and site energies. The result is a site energy distribution (SED), the populated part of which (PSED) determines the transport properties. If, under these conditions, a directed potential and concentration gradient is applied for an extended period of time, the ions need to overcome an effective threshold energy for long range transport and their effective activation energy mainly depends on the energy difference between the threshold energy value for long-range transport and the original site energy. If the directed transport continues for an extended time, the PSED can be probed systematically. Ions with lower effective activation energy will move first, before ions with higher effective activation energy contribute to DC transport. The PSED will then be depopulated systematically top-down in the energy domain such that the effective activation energy for the remaining ions becomes larger.41,62 As a consequence, the effective diffusion coefficient becomes concentration dependent.
To date, several program packets capable of calculating different kind of transport properties have been published. Tu et al. developed for example a parallel finite element simulator for ion transport through ion channels based on NPP simulations.66 It is capable to deliver electric potential, ion currents and concentration profiles inside the ion channel. However, the quantities are mostly evaluated in the electrostatic limit. IonMonger2.0 created by Clarke et al. is capable to calculate current, voltage and impedance response of perovskite solar cells.67 COMSOL68 is an extended but commercial program packet for many physical applications. It also contains an ion exchange module employing NPP calculations to derive concentration profiles and uses Fick's second law to derive ion fluxes.
The ion-exchange processes mentioned above represent, indeed, one important sub-class of charge carrier transport processes. Thermal ion exchange is e.g. the basis for glass strengthening.69 Electric field assisted ion exchange can e.g. be considered as a basis for proton exchange membranes.70 A complementary approach to electric field assisted ion exchange has been developed in the authors labs over the last years.40,57 That approach is termed Charge Carrier Attachment Induced Transport (CAIT).71 A solid sample is brought into contact with a single metal electrode at the backside. A charge carrier beam is shined at the front side giving rise to a well-defined electrochemical surface potential. The gradient of the electrochemical potential towards the backside induces charge carrier transport in the sample, which can either be detected as a current in the outer circuit or as a concentration depth profile inside the sample, provided that the native and the foreign carrier are distinguishable (foreign ion CAIT). Concentration depth profiles are here in general quantified by means of secondary ion mass spectrometry (SIMS). The pivotal advantage of the CAIT approach is that it completely avoids any charge carrier blocking. As a matter of fact, the development and the success of the CAIT/SIMS approach created the necessity to develop a dedicated NPP code, which forms the basis of the program suite reported in this work. Successful applications of the NPP code include quantification of replacement zones in ion conducting solids,51–54,58,72 the quantification of site energy distribution,41,61,62,73,74 diffusion of ions in polymers,31,75,76 polyelectrolyte membranes,33,77 mold compounds,45 and disintegration of metal electrodes.55
Ultimately, the MAR_CCT program suite is considered to currently be the only published code capable of modelling CAIT/SIMS experiments, but at the same time the code is capable of covering most of the other transport phenomena covered by other codes in the field. More specifically the code also allows to simulate Alkali-Proton Substitution (APS), Plasma-CAIT or electro-thermal poling experiments. Note, that MAR_CCT is made available under public license in contrast to some of the other powerful program suites known.
In the following we present a NPP-based simulator program, which is able to calculate and evaluate time dependent concentration-depth profiles that evolve when concentration or electric potential gradients are applied to a solid electrolyte. Information concerning the space dependent electric potential and effective diffusion coefficients as well as the time dependent ion fluxes are provided. A variety of experimental conditions can be simulated including CAIT experiment, thermal electro-poling and alkali-proton substitution. The diffusion coefficients can either be externally provided or they can be calculated employing a selection of parameterized functions. Alternatively, the diffusion coefficients can be calculated from a user-defined SED. The program suite is available at.78
When entering the sheet “Experiment and sample parameters”, default values are already filled into all input fields. In general, these values have to be modified in order to match specific experimental conditions. Using the default values leads to the benchmark calculations presented in this paper.
Calculations already finished can be evaluated under the menu point “Visualization”. The concentration-depth profiles, the space dependent electric potential and the carrier flux through the sample as well as their time development can be displayed. If a SED is provided, the program can calculate the corresponding concentration dependent diffusion coefficients.
The menu item “Evolution Video” makes it possible to create a movie from the snapshots of the concentration-depth profiles, which then shows the temporal evolution of the depth profile as a film in mp4 format. It is also possible to choose an extended movie showing the local occupation of the SED and the associated diffusion coefficient at three different locations within the profile are displayed as a function of time together with the actual concentration profile.
In the following section we will describe the functionality of the Fortran95 code as well as the options of the GUI.
![]() | (1) |
![]() | (2) |
![]() | (3) |
![]() | (4) |
![]() | (5) |
![]() | (6) |
The electric potential at the front and back side of the sample is determined by the mode of measurement. In the case of thermal electro-poling or APS, both sides of the sample are in contact with an electrode which is set to a fixed electric potential; ϕfront = constant and ϕback = constant. If the CAIT option is applied, the front side of the sample is not in direct contact with a solid metal electrode but an ion beam impinges on the surface. Since the ions are decelerated in front of the sample surface there is always a cloud of charge carriers in front of the sample surface which can quickly adjust to the charging state of the front surface and serves as an infinite ion source. We assume that this cloud of carriers is in equilibrium with the surface population such that effectively the electric potential gradient at the surface becomes zero representing an ideal reversible electrode. Note, that energy barriers which could potentially be operative when charge carriers are injected into a sample are neglected. So far, we do not have evidence of such a barrier. We allow charge carriers to enter the sample as long as the surface potential ϕfront is lower than the source potential UR of the charge carriers in the beam. This is consistent with the picture of ions of a given kinetic energy Ekin = eUR moving toward a charged surface.40 In such a situation, the electric potential shows a maximum at or close to the sample front surface such that the gradient of the electric potential vanishes there. The ion flux density that reaches the surface when ϕfront < UR is given by with Ii,s the source current of ion species i. If the front potential exceeds the surface potential the ion flux is set to zero. In the case of APS, the source current can directly be given by the (fixed) electrode potential.
Depending on the experimental mode, different approaches for the calculation of the electric potential are beneficial. If two electrodes are in contact with the sample (thermal electro-poling and APS), it is beneficial to accurately calculate the electric potential every time step. Under these conditions, the program uses an analytical formula for the calculation of the potential:
![]() | (7) |
In the case of a CAIT experiment, the program uses an iterative solution of the eqn (5) to calculate the electric potential since the deposition of charge carriers at the surface combined with the electrically open front surface may ultimately lead to numerical challenges if the analytical formula (7) is used. Within every time step charge carriers are deposited as long as ϕfront < UR. The deposition of charge carriers will lead to a finite overshooting of the electric potential beyond UR at the front side followed by a time period where no charge carriers may reach the surface. Therefore, the potential at the front side will oscillate around the equilibrium value. Since the size of the overshooting is directly related to the size of the time grid element (longer deposition periods mean higher potential changes), the time grid increments must be kept very small which strongly affects the computation time. However, the overshooting is only an artifact of the deposition model. In a real system the cloud of charge carriers in front of the sample surface will ensure that ϕfront = UR holds, as long as the source current is sufficiently strong. When the source current is not strong enough a dynamic equilibrium with ϕfront < UR will be reached. However, the value of ϕfront is not known prior to the calculation such that it cannot be set as an external parameter. Additionally, the resistance of the sample can change, when charge carriers are exchanged. This directly leads to a change of ϕfront such that ϕfront in general can be time dependent. Since we also want to be able to model experiments where the front potential is not known, we need to use a numeric trick to enhance computation time and at the same time keep the errors small. It shows that an iterative solution of eqn (5) is computationally beneficial.
Eqn (5) shows that the electric potential in grid element a is a function of the electric potential in the two adjacent space grid elements a + 1 and a − 1 as well as the charge concentration in the space grid element a itself. Hence, the modification of the electric potential in a certain space grid element influences the potential in all other space grid elements while a modification of the potential in these space grid elements couples back to the potential in the original space grid element. As a consequence, eqn (5) need to be solved iteratively. In general, it needs millions of iterations to fully converge the potential every time step which again would lead to unacceptably long computation times. However, one may converge the potential during the time evolution of the profile as CAIT. This leads to a situation where the potential quickly approaches a stationary situation and additionally it allows for much larger time steps.
The trick is not to wait for the full convergence of the potential but calculate only few iterations and then continue with the next time step. This way only charge carriers in the direct vicinity of the surface feel the changed potential situation there. Charge carriers deeper in the sample realize the changes only with a little time delay as the iteration of the potential only affects one additional grid element every iteration step. During this time delay the potential in the first increment oscillates around the equilibrium value due to the finite time steps, the charge carriers in the deeper increments then only experience an average potential which is much closer to the equilibrium value. In practice, ten potential iterations per time step lead to a reasonably quick convergence while the computation time remains short and the error to the profile is negligible. If the time grid is nevertheless too coarse, the Runge–Kutta routine will lead to a divergence after some few time steps. In the output files NAN appears instead of a number value.
Please note, whenever potential gradients occur that are exceeding the dielectric breakdown stability of the material, e.g., in thermal electro-poling experiments, this kind of approximation becomes inapplicable. The partially converged potential will lead to artificial dielectric breakdown at positions where there would not be an electric breakdown if the potential is fully converged. The consequence is that the electronic background charge is irreversibly modified and the calculation will yield fundamentally wrong charge carrier distributions. The treatment of dielectric breakdown is the topic of the following section.
In the case of thermal electro-poling calculations, the motion of charge carriers leads to the buildup of large electric fields in the vicinity of the electrodes. As no external charge carrier source is present that could compensate the accumulation of charge, the electric field strength will exceed the dielectric beak-down field-strength at a certain point of time.
The program checks every time step whether the electric potential exceeds the dielectric breakdown field strength in any increment. If this is the case, electrons are removed from that increment. The amount of charge carriers removed in one step corresponds to
![]() | (8) |
As a last option, the diffusion coefficient can be calculated from giving a site energy distribution (SED). In this case, one needs to give the density of all sites S0 which is usually some percent higher than the density of mobile ions and the width of the site energy distribution. The SED is calculated via a sin2 function of the form
![]() | (9) |
![]() | (10) |
![]() | (11) |
The effective diffusion coefficients that enter the Nernst–Planck eqn (1) are directly related to diagonal Onsager transport coefficients. The relation has been elaborated in ref. 62. In a system of two mobile charge carrier species, the effective diffusion coefficient includes the dependence of the chemical potential of one ion species on the concentration of the second ion species. Off-diagonal Onsager coefficients are neglected in the current version of MAR_CCT but may be included in future updates.
It may be conjectured that the concentration dependence of observables in electrochemistry is often modeled through the usage of activities involving concentration dependent thermodynamic factors. In general, diffusion coefficients may either be modelled in the particle density (i.e. concentration) domain or in the activity domain. Here, preference is given to the particle focused picture, motivated by research interest aiming at atomically (i.e. particle resolved) structure and transport properties.79
When the Fortran code is executed, at first the natural constants and the file input.dat are imported. From the parameters given, a finite grid for a real space coordinate and the time coordinate is created, the concentration dependent diffusion coefficients are calculated and the initial values of charge carrier concentration and electric potential are assigned to the space grid elements. These starting conditions are used to calculate the electric potential inside the sample and the initial ion fluxes. The ion flux enters the continuity equation (Fick's 2nd law) which is evaluated using a 4th order Runge–Kutta routine. The continuity equation yields an update of the ion densities which enter Poisson's equation and yields a new updated electric potential. The potential and the updated ion densities then enter the Nernst–Planck equation which yields the flux for the continuity equation. The cycle continues until the time loop is completed. In between, the space dependent carrier densities and electric potential are stored in snapshots such that the time evolution of both can be recorded.
On the start page, the user can choose between experiments with one or two electrodes. The collective term “Experiments with one electrode” also includes CAIT experiments in particular. Thermal electro-poling and field-driven proton exchange experiments fall in the category of experiments using two electrodes.
On the top left the number of the mobile charge carrier species are entered. If the number of charge carrier species is changed, the setting needs to be confirmed by pressing “Set”. Depending on the number of charge carrier species, the table then shows a corresponding number of columns. In the first row of the table, one has the name the charge carrier species, for example with their chemical symbol. The next row is reserved for the bulk carrier densities. If a charge carrier species is not contained in the material prior to the experiment one simply enters “0d0”. The format of the number value corresponds to the format Fortran uses for the number values. The “d” indicates that the number is read in with double precision (16 digits accuracy) and is short for “ten to the power”. Entering 7d27 therefore means 7 × 1027. The next line reads the carrier charge in units of the elementary charge +e. The fourth line defines whether the charge carrier species may be neutralized at the back side electrode. Enter ‘y’ for yes or ‘n’ for no. If the charge carriers neutralize, they are effectively removed from the glass and a corresponding charge enters the calculation of the neutralization current at the back side electrode. Please note, that the neutralization process experimentally leads to the formation of a neutral metal layer between sample and electrode, thus outside the original sample. The neutralization process at the backside electrode is much faster than the flux of ions through any grid element. As a consequence, the transport is solely limited by the flux described by the NPP equations. At this point, an explicit account of the neutralization reaction is not yet included in the program code but is considered to be included in future program versions.
The last line in the table defines whether the ion species enters the sample via the ion beam. Please enter again ‘y’ or ‘n’. Complementing the table four additional parameter have to be given. The first one is the thickness of the sample and the second one the diameter of the by the ion beam irradiated area. Additionally, the dielectric constant of the material and the breakdown voltage of the material need to be provided. If the dielectric breakdown should be artificially excluded, put a very large value here (>1020). Pressing one of the three buttons at the right bottom confirms the settings and opens a window in which the diffusion coefficient can be specified.
The concentration dependent diffusion coefficient can either be determined form a SED that is given in a file or it can be directly read in or in a third case it can be determined employing a generic functional form. The top button leads to the window in which the SED can be read in from a file. This option allows to read complex SEDs – for example bimodal SEDs or even more complicated forms. The file needs to contain two columns. In the first column, the site energies referenced to the threshold for long-range transport are given as negative numbers in eV and the second column contains the site density. The curve should be normalized such that the integral over the curve yields 1. Since Fortran inputs are position sensitive, each column must have the format: 0.12345678 × 10+12. The two columns should be separated by 8 blanks.
The center of the window is given by a table with as many rows as there are ion species. Pressing select file allows to choose a file from the local folders. Additionally, the bulk activation energy needs to be given as well as the pre-exponential factor, D0, as the code uses eqn (11) to calculate the diffusion coefficient from the concentration dependent activation energies. Pressing “Define Grids” confirms the settings. Reading the diffusion coefficients from a file is analogous to the procedure described above. The sole difference is that the two columns must yield the charge carrier density in 1 m−3 in the first column and the diffusion coefficients in m2 s−1 in the second.
If the diffusion coefficient shall be computed using a functional form of the diffusion coefficient itself or by a SED that is provided by a sin2 function according to eqn (9), press “Diffusion coefficients from parameters”. The next window allows then to decide between five different approximations of the diffusion coefficient. Option 1 is calculating the diffusion coefficient from a SED. Therefore, the bulk activation energy, the Γ Parameter in eqn (9), the overall density of sites and the pre-exponential factor D0 need to be given for every ion species. The diffusion coefficient can be shown in the preview or in an extra window. Options 2 to 5 are calculating the diffusion coefficient by the formulas given in Table 1. One can change between the options by changing the number in the field “Please choose the approximation”. Confirm the choice by pressing “Done”.
After confirming the input of the diffusion coefficients, one may enter the space and time grid. The grid is piece wise equidistant. It is strongly recommended to use fine space grids wherever concentrations are expected to strongly change (e.g. in regions where a diffusion front is expected). Additionally, one should not vary the size of the grid by much more than a single order of magnitude between two adjacent regions. Large differences can cause numerical errors and artifacts to appear in the calculation. It is possible to set up to 10 space intervals and 5 time intervals. The time grid should be chosen fine when the potential changes rapidly at the front surface. The window provides a thickness check in which the applied grid is compared to the size of the sample. Both numbers: sample thickness and the grid range must agree, otherwise the calculation leads to unphysical results. The number of potential iterations per time interval may be entered here has well. 10 iterations is a value that allows fast convergence at acceptable computation times.
After confirming one reaches the last window, where the output options are defined. If the output for the ion current is activated, one has to provide a number that defines after how many time steps the ion current should be written into a file. The number of time steps is typically on the order of 108. If the number is chosen too small, the output file for the ion current will eventually become very big with potentially millions of entries. Under these conditions, also the code will become slower as the output routine is called very often. Eventually, the number of snapshots can be set. If this option is chosen, the program code will generate a given number of snapshots where quantities as the charge carrier profiles and the electric potential will be written in files. This option is mandatory if the temporal evolution of concentration is of interest.
Eventually, the input file for the Fortran code can be created by pressing “Create input file”. Subsequently, the calculation can be executed by pressing “Start calculation”. The Fortran code is then executed employing the input file created above. The folder in which the results can be found is the one which has been selected as storage path. Please note, that the storage path should be empty to avoid overwriting calculations and ensure that executable, input file and results in the chosen folder are consistent to each other. If the folder is non-empty the program will complain. The code runs in the background such that the GUI can be closed without affecting the calculations. In the end one can decide whether the GUI is closed or a new input file is created.
By pressing “Open data folders”, the simulation is checked and analyzed. The fields “Bulk ion density”, “Sample surface area” and “List of charge carriers will be filled in”. The final concentration profiles appear in the large white field in the center of the window. The experimental profiles should be provided in a comma-separated value file (csv). The names of the experimental data files should be the same as the name of the carrier species and first and second column in these files should be named with “depth” and “density” such that the program can handle the experimental data. There is one data file per mobile species considered.
The toolbar above the graphic allows the user to zoom into certain areas of the graphic or to define the displayed axis range directly. The finished image can then be saved under a selected name using the diskette symbol. The storage format is usually png.
On the right-hand side of the window, one has the option to plot a selection of different quantities. The plots are then shown under the respective menu entry. The following plots can be automatically created:
The “Profile evolution” tab shows how the concentration profiles evolve with ongoing time.
Pressing the “Final potential” tab yields the electric potential across the entire sample at the end of the calculation as well as a zoom into the region of the diffusion profile.
The “Potential evolution” tab shows the time evolution of the electric potential. Note, that the first potential snapshots may not be fully converged when the potential is calculated by iteration. As a consequence, the respective window allows the user to skip the first snapshots.
Pressing the “Diffusion coefficient” tab creates a plot where the diffusion coefficient is shown as function of the fractional abundance of the respective ion species. This plot is usually shown in the format of a semi-logarithmic plot as the diffusion coefficient may vary over many orders of magnitude.
The “Site energy distributions” tab allows checking the potential energy landscape used to calculate the diffusion coefficients (if in use).
The “Current” tab allows checking the neutralization current operative. If the potential is calculated by the iteration method, the neutralization current will first oscillate around the stationary state current and eventually converge to that value. The value of the injected charge is equal to the integral of the neutralization current in very good approximation. The oscillations do not affect this integral as they are sinusoidal such that their integral converges to the value of the stationary state current already after few cycles, even when the oscillation itself still continues.
All plots contain a tool bar where the user can modify the axis and eventually plot the final graphics into a png-file.
Two different kinds of videos are available. On one hand, one can create a video where exclusively the concentration profile is evaluated. The two buttons on the left side belong to this option. Before creating the video by clicking “Make the film” one needs to create png-graphics from the profile snapshots that the program has calculated during the runtime. This can be done by clicking “Create the plots”. If the calculation is performed using a site energy distribution from which the diffusion coefficients are calculated, one can also create a film where the profile is evaluated at three different positions with respect to the charge carrier density of the native ion species. From the charge carrier density, the program calculates the actual population of the SED and the locally active effective diffusion coefficient. With ongoing diffusion, on can follow the depopulation of the SED and the simultaneously decreasing diffusion coefficient.
We provide benchmark calculations for CAIT, Poling, and APS experiments. These are generic calculations not based on any actual experiment or sample. However, the parameters are chosen so that they are typical for the respective type of experiments and can be easily adapted to a real experiment. The parameters used are given in Tables 2–4.
Cait benchmark | ||
---|---|---|
GUI window | Input field | Value |
One electrode | Ekin/eV | 10 |
One electrode | Beam current/nA | 5 |
One electrode | Temperature/K | 350 |
One electrode | electrode potential/V | 0 |
Sample | Number of charge carrier species | 2 |
Sample | Name of the carrier species | Na, K |
Sample | Bulk carrier density | 1d28, 0 |
Sample | Carrier charge/e | 1, 1 |
Sample | Neutralization at electrodes | y, y |
Sample | Carrier is part of the beam | n, y |
Sample | Sample thickness/mm | 1.5 |
Sample | Mask diameter/mm | 10 |
Sample | Dielectric constant | 10 |
Sample | Breakdown voltage/(V m−1) | 5d8 |
Diff-coefficient (from parameters) | Approximation | 1 |
Diff-coefficient (from parameters) | Eact(bulk)/eV | 1.00, 1.20 |
Diff-coefficient (from parameters) | Width parameter (sin2)/eV | 0.18, 0.0001 |
Diff-coefficient (from parameters) | Density of sites (total)/(1 m−3) | 1.05d28, 1.05d28 |
Diff-coefficient (from parameters) | D0/(m2 s−1) | 3d−5, 3d−5 |
Diff-coefficient (from parameters) | Number of integration steps | 5000 |
Grids | Space grid intervals | 5 |
Grids | Deta x/μm, increments | 3d−3, 50 0.135d0, 10 1.35d0, 10 13.5d0, 10 135d0, 10 |
Grids | Time grid intervals | 1 |
Grids | Delta t/s, increments | 3d−2, 70![]() ![]() |
Grids | Factor | 1 |
Grids | Potential iterations | 10 |
Output | All outputs enabled | |
Current output every × time steps | 10![]() |
|
Number of snapshots | 100 |
Poling benchmark | ||
---|---|---|
GUI Window | Input field | Value |
Two electrodes | Electrode potential (left)/V | 50 |
Two electrodes | Temperature/K | 350 |
Two electrodes | Electrode potential(right)/V | 0 |
Sample | Number of charge carrier species | 1 |
Sample | Name of the carrier species | K |
Sample | Bulk carrier density | 7d27 |
Sample | Carrier charge/e | 1 |
Sample | Neutralization at electrodes | y |
Sample | Sample thickness/mm | 0.5 |
Sample | Mask diameter/mm | 8 |
Sample | Dielectric constant | 10 |
Sample | Breakdown voltage/(V m−1) | 5.5d8 |
Diff-coefficient (from parameters) | Approximation | 1 |
Diff-coefficient (from parameters) | Eact(bulk)/eV | 0.99 |
Diff-coefficient (from parameters) | Width parameter (sin2)/eV | 0.18 |
Diff-coefficient (from parameters) | Density of sites (total)/(1 m−3) | 7.35d27 |
Diff-coefficient (from parameters) | D0/(m2 s−1) | 1d−4 |
Diff-coefficient (from parameters) | Number of integration steps | 5000 |
Grids | Space grid intervals | 5 |
Grids | Delta x/μm, increments | 2d−3, 200 0.1d0, 30 1.0d0, 10 10.d0, 10 38.66d0, 10 |
Grids | Time grid intervals | 1 |
Grids | Delta t/s, increments | 6d−3, 40![]() ![]() |
Grids | Factor | 1 |
Grids | Potential iterations | 10 |
Output | All outputs enabled | |
Current output every × time steps | 10![]() |
|
Number of snapshots | 100 |
APS benchmark | ||
---|---|---|
GUI window | Input field | Value |
Two electrodes | Electrode potential (left)/V | 40 |
Two electrodes | Temperature/K | 380 |
Two electrodes | Electrode potential(right)/V | 0 |
Sample | Number of charge carrier species | 2 |
Sample | Name of the carrier species | Na, H |
Sample | Bulk carrier density | 1d28, 0d0 |
Sample | Carrier charge/e | 1, 1 |
Sample | Neutralization at electrodes | y, y |
Sample | Carrier entering the sample | n, y |
Sample | Sample thickness/mm | 1.0 |
Sample | Mask diameter/mm | 14 |
Sample | Dielectric constant | 10 |
Diff-coefficient (from parameters) | Approximation | 1 |
Diff-coefficient (from parameters) | Eact(bulk)/eV | 0.80, 0 |
Diff-coefficient (from parameters) | Width parameter (sin2)/eV | 0.066d0, 0.0001d0 |
Diff-coefficient (from parameters) | Density of sites (total)/(1 m−3) | 1.05d28, 1.05d28 |
Diff-coefficient (from parameters) | D0/(m2 s−1) | 3d−8, 1.1d−19 |
Diff-coefficient (from parameters) | Number of integration steps | 1000 |
Grids | Space grid intervals | 3 |
Grids | Deta x/μm, increments | 5d−3, 300 19.925d0, 20 150.0d0, 4 |
Grids | Time grid intervals | 1 |
Grids | Deta t/s, increments | 2.5d−3, 130![]() ![]() |
Grids | Factor | 1 |
Grids | Potential iterations | 10 |
Output | All outputs enabled | |
Current output every × time steps | 1![]() ![]() |
|
Number of snapshots | 100 |
When a constant foreign diffusion coefficient is desired and the SED is used to calculate the concentration dependent diffusion coefficient, the SED width Γ of the foreign ion should be artificially set to very small values. In this situation the code will create an (almost) concentration independent foreign diffusion coefficient. Please note, that choosing zero for the width Γ will lead to infinite number values in eqn (9).
The final electric potential is provided in Fig. 3. The graphic shows that the slope of the electric potential in the diffusion zone is larger than the slope of the electric potential in the unmodified bulk of the sample. The behavior reflects the larger local specific resistance of the glass in the diffusion zone due to the replacement of Na+ by the slower K+ ions. Since the gradient of the potential is the electric field, there is a larger electric field in the diffusion zone than in the rest of the sample. A direct consequence of this behavior is that there is a small negative excess charge at the diffusion front which stems from unoccupied sites that have already been abandoned from Na+ and K+ has not yet occupied them.
The MAR_CCT calculations are performed by solving the coupled Nernst–Planck and Poisson equations as a function of time on a given spatial grid. The core of the program is a 4th order Runge–Kutta formalism. The source code is written in Fortran. This Fortran code is embedded in a graphical user interface (GUI) based on a python code that includes the possibility to start the Fortran code right from the GUI. Additional interfaces provide the possibility to visualize, evaluate and export the data. For example, the charge carrier distribution as well as the electric potential within the sample can be visualized as a function of time. The GUI also allows the creation of short movies showing the evolution of the depth profiles.
Within this manuscript, three examples for an application of MAR_CCT are provided, (i) for CAIT, (ii) for electro-poling and (iii) for APS experiments demonstrating the broad applicability of the program suite.
The program has been developed for describing charge carrier transport experiments, where the crucial charge carriers can be mono- and bi-valent ions of either polarity and electrons. Processes driven by forces not dominated by the gradient of the electrochemical potential (e.g., electron–phonon scattering) are currently not covered by the program. Coupling of charge carriers is currently restricted to the Poisson level. Extensions may be required for describing mixed ionic electronic conductors (MIECs) in the context of Lithium-ion batteries in the future. Also, polarization dominated processes, e.g., electrode polarization, are not in the focus of the current version of the program. However, extensions will be made available in the future.
This journal is © the Owner Societies 2025 |