Under the Hood¶
Atomic Layer Deposition (ALD) is a thin film deposition technique able to coat complex, 3-dimensional objects and large area substrates with precise, conformal layers. Surfaces are subject to alternate exposures of two or more gaseous species, which react with the surface in a self-limited fashion.
SMART simulates the flow of precursor and its reaction with the surfaces of cross-flow reactors and nanostructured features.
The reactor model assumes a fully developed flow and solves a 1D precursor transport equation considering both advection and axial diffusion.
The feature model considers the precursor transport along a circular pore in the Knudsen flow approximation, that is, assuming that the pore diameter is smaller than the mean free path of the molecules. It uses a continuum approximation to precursor transport.
In both cases, the interaction of the precursor molecules with the surface is condensed in a single parameter, the effective reaction probability. The self-limiting nature of the ALD process is introduced by assuming that there is only a finite number of reactive sites on the surface, and that the precursor reacts irreversibly with them. As the fraction of unreactive sites decreases with increasing exposure, so does the effective reaction probability. In particular, our model assumes a first-order irreversible Langmuir kinetics in which the effective reaction probability is proportional to the fraction of available sites. The proportionality constant is the so-called bare reaction probability, which is one of SMART’s input parameters.
More details are available in the following references:
- A. Yanguas-Gil and J. W. Elam, Simple model for atomic layer deposition precursor reaction and transport, Journal of Vacuum Science and Technology A 30, 01A159 (2012). [10.1116/1.3670396]
- A. Yanguas-Gil and J. W. Elam, Self-limited reaction-diffusion in nanostructured substrates: surface coverage dynamics and analytic approximations to ALD saturation times, Chemical Vapor Deposition 18, 46 (2012). [10.1002/cvde.201106938]
The core of SMART is coded in Python. numpy and scipy are used in the CPython version of the code. The version of SMART available online has been developed using Jython. Jython allows both its distribution as a standalone Java app as well as a fast development of its GUI through Jython’s swing bindings. Number crunching routines are implemented in java.