examples.levelSet.electroChem.leveler

Model electrochemical superfill of copper with leveler and accelerator additives.

This input file is a demonstration of the use of FiPy for modeling copper superfill with leveler and accelerator additives. The material properties and experimental parameters used are roughly those that have been previously published [28].

To run this example from the base FiPy directory type:

$ python examples/levelSet/electroChem/leveler.py

at the command line. The results of the simulation will be displayed and the word finished in the terminal at the end of the simulation. The simulation will only run for 200 time steps. To run with a different number of time steps change the numberOfSteps argument as follows,

>>> runLeveler(numberOfSteps=10, displayViewers=False, cellSize=0.25e-7) 
1

Change the displayViewers argument to True if you wish to see the results displayed on the screen. This example requires gmsh to construct the mesh.

This example models the case when suppressor, accelerator and leveler additives are present in the electrolyte. The suppressor is assumed to absorb quickly compared with the other additives. Any unoccupied surface sites are immediately covered with suppressor. The accelerator additive has more surface affinity than suppressor and is thus preferential adsorbed. The accelerator can also remove suppressor when the surface reaches full coverage. Similarly, the leveler additive has more surface affinity than both the suppressor and accelerator. This forms a simple set of assumptions for understanding the behavior of these additives.

The following is a complete description of the equations for the model described here. Any equations that have been omitted are the same as those given in examples.levelSet.electroChem.simpleTrenchSystem. The current density is governed by

i=cmcmj[ijθj(expαjFηRTexp(1αj)FηRT)]

where j represents S for suppressor, A for accelerator, L for leveler and V for vacant. This model assumes a linear interpolation between the three cases of complete coverage for each additive or vacant substrate. The governing equations for the surfactants are given by,

θL˙=κvθL+kl+cL(1θL)kLvθL,θa˙=κvθA+kA+cA(1θAθL)kLcLθAkAθAq1,θS=1θAθLθV=0.

It has been found experimentally that iL=iS.

If the surface reaches full coverage, the equations do not naturally prevent the coverage rising above full coverage due to the curvature terms. Thus, when θL+θA=1 then the equation for accelerator becomes θA˙=θL˙ and when θL=1, the equation for leveler becomes θL˙=kLvθL.

The parameters kA+, kA and q are both functions of η given by,

kA+=kA0+expαkFηRT,kA=Bd+Aexp(Ba(η+Vd))+exp(Bb(η+Vd))q=mη+b.

The following table shows the symbols used in the governing equations and their corresponding arguments for the runLeveler() function.

 \begin{tabular}{|rllr@{.}ll|}\hlineSymbol & Description & Keyword Argument & \multicolumn{2}{l}{Value} & Unit \\hline\multicolumn{6}{|c|}{Deposition Rate Parameters} \\hline v & deposition rate & & \multicolumn{2}{l}{} & m s1 \ iA & accelerator current density & \texttt{i0Accelerator} & \multicolumn{2}{l}{} & A m2 \ iL & leveler current density & \texttt{i0Leveler} & \multicolumn{2}{l}{} & A m2 \ Ω & molar volume & \texttt{molarVolume} & 7&1×106 & m3 mol1 \ n & ion charge & \texttt{charge} & \multicolumn{2}{c}{2} & \ F & Faraday's constant & \texttt{faradaysConstant} & 9&6×104 & C mol1 \ i0 & exchange current density & & \multicolumn{2}{l}{} & A m2 \ αA & accelerator transfer coefficient & \texttt{alphaAccelerator} & 0&4 & \ αS & leveler transfer coefficient & \texttt{alphaLeveler} & 0&5 & \ η & overpotential & \texttt{overpotential} & -0&3 & V \ R & gas constant & \texttt{gasConstant} & 8&314 & J K mol1 \ T & temperature & \texttt{temperature} & 298&0 & K \\hline\multicolumn{6}{|c|}{Ion Parameters} \\hline cI & ion concentration & \texttt{ionConcentration} & 250&0 & mol m3 \ cI & far field ion concentration & \texttt{ionConcentration} & 250&0 & mol m3 \ DI & ion diffusion coefficient & \texttt{ionDiffusion} & 5&6×1010 & m2 s1 \\hline\multicolumn{6}{|c|}{Accelerator Parameters} \\hline θA & accelerator coverage & \texttt{acceleratorCoverage} & 0&0 & \ cA & accelerator concentration & \texttt{acceleratorConcentration} & 5&0×103 & mol m3 \ cA & far field accelerator concentration & \texttt{acceleratorConcentration} & 5&0×103 & mol m3 \ DA & catalyst diffusion coefficient & \texttt{catalystDiffusion} & 1&0×109 & m2 s1 \ ΓA & accelerator site density & \texttt{siteDensity} & 9&8×106 & mol m2 \ kA+ & accelerator adsorption & & \multicolumn{2}{l}{} & m3 mol1 s1 \ kA0+ & accelerator adsorption coeff & \texttt{kAccelerator0} & 2&6×104 & m3 mol1 s1 \ αk & accelerator adsorption coeff & \texttt{alphaAdsorption} & 0&62 & \ kA & accelerator consumption coeff & & \multicolumn{2}{l}{} & \ Ba & experimental parameter & \texttt{Bd} & -40&0 &\ Bb & experimental parameter & \texttt{Bd} & 60&0 &\ Vd & experimental parameter & \texttt{Bd} & 9&8×102 &\ Bd & experimental parameter & \texttt{Bd} & 8&0×104 &\\hline\multicolumn{6}{|c|}{Geometry Parameters} \\hline D & trench depth & \texttt{trenchDepth} & 0&5×106 & m \ D/W & trench aspect ratio & \texttt{aspectRatio} & 2&0 & \ S & trench spacing & \texttt{trenchSpacing} & 0&6×106 & m \ δ & boundary layer depth & \texttt{boundaryLayerDepth} & 0&3×106 & m \\hline\multicolumn{6}{|c|}{Simulation Control Parameters} \\hline& computational cell size & \texttt{cellSize} & 0&1×107 & m \& number of time steps & \texttt{numberOfSteps} & \multicolumn{2}{c}{5} & \& whether to display the viewers & \texttt{displayViewers} & \multicolumn{2}{c}{\texttt{True}} & \\hline\end{tabular} 

The following images show accelerator and leveler contour plots that can be obtained by running this example.

accelerator coverage as a function of time during superfill leveler coverage as a function of time during superfill
Last updated on Feb 14, 2025. Created using Sphinx 7.1.2.