# Welcome to the `nomad-perovskite-solar-cells-database` documentation

[![NOMAD](https://img.shields.io/badge/Open%20NOMAD-lightgray?logo=data:image/svg+xml;base64, )](https://nomad-lab.eu/prod/v1/staging/gui/search/solarcells)
![](https://github.com/FAIRmat-NFDI/nomad-measurements/actions/workflows/publish.yml/badge.svg)
![](https://img.shields.io/pypi/pyversions/nomad-measurements)
![](https://img.shields.io/pypi/l/nomad-measurements)


## NOMAD Perovskite Solar Cells Database
  [<img width="280" alt="image" src="assets/perovskite_database_project.png">](https://www.perovskitedatabase.com/)

### Introduction
Welcome to the NOMAD plugin for the Perovskite Solar Cell Database.
This project aims to provide a FAIR and open-access interface for the perovskite solar cells database in NOMAD
and related data sources.
Additionally, it has data models and schemas for defining ions and halide hybrid-perovskite compositions.
The data can be accessed via the NOMAD API and explored in the [NOMAD Solar Cell Search App](https://nomad-lab.eu/prod/v1/staging/gui/search/solarcells).

  [<img src="assets/screenshot_nomad_app.png">](https://nomad-lab.eu/prod/v1/staging/gui/search/solarcells)

Information about the original database is available at [perovskitedatabase.com](https://www.perovskitedatabase.com/).

### Search applications

Search applications provide an efficient way to explore the databases. They are powered by
metadata definitions that define the structure of the data and allow for filtering and visualization.

| 🔍 **Search Application** | 📝 **Description** | 💻 **Code** | 📄 **Metadata Definitions** |
|---------------------------|--------------------|------------------------|----------------------------|
| [The Perovskite Database Project](https://nomad-lab.eu/prod/v1/develop/gui/search/perovskite-solar-cells-database) | Explore the data from the perovskite database. | [App's code](https://github.com/FAIRmat-NFDI/nomad-perovskite-solar-cells-database/blob/main/src/perovskite_solar_cell_database/apps/perovskite_solar_cell_database_app.py) | [Metadata](https://nomad-lab.eu/prod/v1/develop/gui/analyze/metainfo/perovskite_solar_cell_database/section_definitions@perovskite_solar_cell_database.schema.PerovskiteSolarCell) |
| [Halide Perovskite Ions Database](https://nomad-lab.eu/prod/v1/develop/gui/search/perovskite-ions) | Search ions used in halide perovskites compounds | [App's code](https://github.com/FAIRmat-NFDI/nomad-perovskite-solar-cells-database/blob/main/src/perovskite_solar_cell_database/apps/perovskite_ions_app.py) | [Metadata](https://nomad-lab.eu/prod/v1/develop/gui/analyze/metainfo/perovskite_solar_cell_database/section_definitions@perovskite_solar_cell_database.composition.PerovskiteIon) |
| [Solar Cells](https://nomad-lab.eu/prod/v1/staging/gui/search/solarcells) | An application to explore solar cells | [App's code](https://github.com/FAIRmat-NFDI/nomad-perovskite-solar-cells-database/blob/main/src/perovskite_solar_cell_database/apps/solar_cell_app.py) | [Metadata](https://nomad-lab.eu/prod/v1/develop/gui/analyze/metainfo/nomad.datamodel.datamodel.EntryArchive/results/properties/optoelectronic/solar_cell) |


<div markdown="block" class="home-grid">
<div markdown="block">

### Tutorial

- [Sharing a perovskite composition](tutorial/sharing_a_perovskite_composition.md)

</div>
<div markdown="block">

### How-to guides

How-to guides provide step-by-step instructions for a wide range of tasks:

- [Install this plugin](how_to/install_this_plugin.md)
- [Explore the databases](how_to/explore_the_databases.md)
- [Create a perovskite composition](how_to/create_a_perovskite_composition.md)
- [Add a new perovskite ion to the database](how_to/add_a_new_ion.md)
- [Export structure files](how_to/export_structures.md)
- [Download data](how_to/download_data.md)

</div>

<div markdown="block">

### Example Notebooks

Explore our collection of interactive Jupyter notebooks that demonstrate how to query, analyze, and work with perovskite solar cell data:

**Getting Started:**
- [Query the Perovskite Database](notebooks/perla_notebooks/query-perovskite-database.ipynb) - Retrieve data from NOMAD
- [Query the Ion Database](notebooks/ions_database/query-ion-database-api.ipynb) - Access perovskite ions
- [Build Perovskite Structures](notebooks/ions_database/build-perovskite-structure-from-ion-entry.ipynb) - Construct crystal structures

**Data Analysis:**
- [Architecture Evolution](notebooks/perla_notebooks/architecture-evolution.ipynb) - Device architecture trends over time
- [Bandgap Evolution](notebooks/perla_notebooks/bandgap-evolution.ipynb) - Bandgap distribution analysis
- [Performance Evolution](notebooks/perla_notebooks/performance-evolution.ipynb) - Track efficiency improvements

**Machine Learning:**
- [CrabNet Bandgap Prediction](notebooks/perla_notebooks/crabnet-perovskite-bandgap-prediction.ipynb) - ML-based property prediction
- [ML Distribution Shift Case Study](notebooks/perla_notebooks/ml-distribution-shift-case-study.ipynb) - Understanding data distribution challenges

[View all notebooks →](tutorial/index.md#interactive-notebooks)

</div>

</div>

### Related Resources
- [Original Paper on Nature Energy](https://www.nature.com/articles/s41560-021-00941-3)
- [NOMAD Documentation](https://nomad-lab.eu/prod/v1/staging/docs/)
- Information about the original database is available at [perovskitedatabase.com](https://www.perovskitedatabase.com/).

### Acknowledgments
Special thanks to Jinzhao Li and all contributors who have made this project possible.
This project is supported by the FAIRmat NFDI initiative and also by by the European Union as part of the SolMates project (Project Nr. 101122288).

<img src="assets/solmates_logo.png" alt="SolMates Logo" width="150"> <img src="assets/eu_funding_logo.png" alt="EU Funding Logo" width="150">