# Under the Hood¶

## About ALD¶

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.

An overview of ALD can be found here. Wikipedia also has a detailed entry dedicated to ALD.

## SMART¶

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]

## Implementation¶

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.