| --- |
| license: mit |
| tags: |
| - catalyst |
| - materials-science |
| - diffusion |
| - inverse-design |
| - heterogeneous-catalysts |
| language: |
| - en |
| --- |
| |
| # Catalyst Diffusion Transformer (CatDiT) |
| |
| [](https://arxiv.org/abs/2607.24272) |
| [](https://github.com/doouv/CatDiT.git) |
| [](https://huggingface.co/doouv/catalyst-diffusion-transformer) |
| [](https://colab.research.google.com/github/doouv/CatDiT/blob/main/notebooks/catdit_demo.ipynb) |
|
|
| **CatDiT** is an SE(3)-equivariant latent diffusion transformer for heterogeneous catalyst inverse design, built upon [ADiT](https://github.com/facebookresearch/all-atom-diffusion-transformer). It jointly generates slab and adsorbate structures, and supports multi-conditional generation over adsorbate identity, adsorption energy, and catalyst class via classifier-free guidance. |
| |
| ## Model Variants |
| |
| CatDiT comes in several variants depending on the supported material scope and conditioning: |
| |
| | Model | Metal alloy | Oxides | Adsorbate type | Binding energy | Catalyst class | |
| |-------|:-----------:|:------:|:--------------:|:--------------:|:--------------:| |
| | **CatDiT** | β | | | | β | |
| | **CatDiT-plus** (base) | β | β | | β | | |
| | **CatDiT-A** | β | | β | β | | |
| | **CatDiT-B** | β | | | β | | |
| | **CatDiT-C** | β | β | | β | β | |
| | **CatDiT-AB** | β | | β | β | | |
|
|
| |
| ## Usage |
| |
| ```python |
| from huggingface_hub import hf_hub_download |
| from omegaconf import OmegaConf |
| from src.models.ldm_module import LatentDiffusionLitModule |
| |
| REPO = "doouv/catalyst-diffusion-transformer" |
| ckpt = hf_hub_download(REPO, "ldm/CatDiT.ckpt") # CatDiT-A, CatDiT-B, CatDiT-C, CatDiT-AB |
| vae = hf_hub_download(REPO, "vae/VAE-S.ckpt") # VAE-L for other pretrained models |
| |
| cg = OmegaConf.create({ |
| "ads_id": {"use": True, "value": 77}, # see ads_id mappings |
| "binding_energy": {"use": True, "value": -1.24}, # eV |
| "cat_class": {"use": False, "value": None}, |
| }) |
| |
| model = LatentDiffusionLitModule.load_from_checkpoint( |
| ckpt, autoencoder_ckpt=vae, conditional_generation=cg, |
| map_location="cuda", strict=False) |
| model.eval() |
| ``` |
| |
| See the [GitHub repository](https://github.com/doouv/CatDiT) for the full generation pipeline and evaluation scripts. |
| |
| ## Training Data |
| |
| CatDiT is trained on the [OC20](https://github.com/Open-Catalyst-Project/ocp) and [OC22](https://github.com/Open-Catalyst-Project/ocp/blob/main/DATASET.md) datasets. |
|
|