This repository presents a Bayesian optimization framework for guiding the sputter deposition of molybdenum thin films, targeting optimal residual stress and sheet resistance, while minimizing sensitivity to stochastic process variations. Key deposition parameters — power, pressure, and working distance — influence these properties. We apply Bayesian optimization to efficiently search the process space using a custom objective function that incorporates:
- Empirical stress and resistance data
- Prior knowledge about pressure-dependent variability
- Rapid identification of optimal deposition parameters
- Improved consistency and reproducibility of thin film properties
- Reduced experimental effort
Our results confirm that Bayesian optimization is a powerful tool for thin film process development, delivering high-performance films with controlled stress and resistance characteristics.
.
├── docs/ # Sphinx or MkDocs-based documentation (API, usage, design, papers, etc.)
├── environment.yml # Conda environment specification for reproducibility
├── LICENSE # Licensing information (e.g., MIT, Apache 2.0)
├── Makefile # Automation commands (e.g., setup, test, lint, build)
├── playground/ # Prototyping area for experiments, quick tests, or notebooks (not production)
├── pyproject.toml # Project metadata and build config (PEP 621, setuptools, linting tools)
├── README.md # Project overview, usage, setup, and contribution guidelines
├── pvd_exp_demo/ # scripts to demonstrate bayesopt behavior
├── pvd_exp_run/ # scripts used during experiment design
├── utils/ # Shared utility functions and helper modules used across the project
This project uses PEP 621-compliant configuration via pyproject.toml
with setuptools.
Only utils
and submodules under utils/
are included as installable packages by default. To include more:
[tool.setuptools.packages.find]
where = ["."]
include = ["utils", "utils.*", "src", "src.*", "common", "common.*"]
Badge (once setup):
[](https://github.com/ashriva16/bayesian-optimization-sputter-deposition/actions)
Ankit Shrivastava Feel free to open an issue or discussion for support.
This project is licensed under the MIT License. See the LICENSE
file for full details.
Status: 🚧 In Development — Not ready for use.