Recipes by problem¶
Start from a research question. Each recipe goes problem → architecture → why → data → configuration → tutorial → references, and says plainly whether MEIDNet does it today. Where it does not, the recipe points to the kind of model that does.
For step-by-step changes to a MEIDNet configuration (another target, another family, a new rule), see the how-to guides.
| problem | architecture | MEIDNet today |
|---|---|---|
| Perovskites with a target band gap that are likely to be stable | shared latent + contrastive | Supported |
| Candidates from your own DFT results for one family | shared latent + contrastive | Supported |
| Screen a whole family for a target before searching | structure encoder of the shared space | Supported |
| Identify the crystal structure from an XRD pattern | 1D convolutional network; contrastive pattern ↔ structure | Planned |
| Predict a property when only the formula is known | composition network | Use another tool |
| Connect synthesis text with structures | text encoder + contrastive or cross-attention | Planned |
| Design new atomic arrangements | conditional generative model over full geometry | Use another tool |
Perovskites with a target band gap that are likely to be stable¶
Supported in MEIDNet
| Problem | Find cubic ABX₃ halide perovskites with a direct band gap near 1.5 eV and a negative formation enthalpy. |
| Architecture | Shared latent space with contrastive alignment: MEIDNet. |
| Why | The question runs from properties to structure. A shared space whose crystal decoder is also trained from the property latent alone gives that direction, and the family's rules keep the chemistry sensible. |
| Data | Perov-5: 18,928 structures with DFT band gap and formation enthalpy (dataset card). The published checkpoint is trained on it. |
| Tutorial | The paper's experiment · in the browser: Studio, Targets block · screen the candidates with MACE |
| References | Babu et al. 2026 (MEIDNet); Castelli et al. 2012 (the dataset). |
One command with the published model:
meidnet demo --family halide --band-gap 1.5 --enthalpy -0.10
Or in meidnet.yaml (from examples/perov5/meidnet.yaml):
generation:
family: perovskite_abx3
variant: halide
objectives:
- {property: dir_gap, loss: l2, weight: 10000, select_weight: 1.0}
- {property: heat_all, loss: l1, weight: 6000, select_weight: 0.4}
targets:
- {dir_gap: 1.5, heat_all: -0.10}
Candidates from your own DFT results for one family¶
Supported in MEIDNet
| Problem | You computed structures and properties for one prototype family, for example A₂BB′X₆ double perovskites, and want new compositions with chosen property values. |
| Architecture | Shared latent space with contrastive alignment, trained on your table. |
| Why | The same reasoning as above. Every scalar column you give becomes a target you can set, and the family file says which sites exist and which elements may sit on them. |
| Data | A table with an id, numeric property columns and one CIF per row. Public sources by application are on Databases by application. |
| Tutorial | Bring your own dataset · in the browser: Studio, Data block · change the material family |
| References | Babu et al. 2026. |
data:
table: my_results.csv
id_column: id
cif_column: cif
properties:
- {column: band_gap, unit: eV}
- {column: e_form, unit: eV/atom}
generation:
family: double_perovskite_a2bbx6
variant: halide
objectives:
- {property: band_gap, loss: l2, weight: 10000}
- {property: e_form, loss: at_most, weight: 6000}
targets:
- {band_gap: 1.8, e_form: -0.10}
Then meidnet check → meidnet train → meidnet generate; each step writes a report.
Screen a whole family for a target before searching¶
Supported in MEIDNet
| Problem | Before running a search, see every composition the family allows, its rule values and its predicted properties, and which are predicted closest to the target. |
| Architecture | The structure encoder of the shared space, read in the forward direction (structure → properties). |
| Why | For a prototype family the set of compositions is finite, so it can be scored exhaustively in seconds. Comparing these predictions with the search's candidates is a useful sanity check. |
| Data | A trained model and a family; nothing else. |
| Tutorial | Explore in 3D · in the browser: Studio, design space · How MEIDNet works |
| References | Babu et al. 2026. |
meidnet space examples/perov5/meidnet.yaml --model checkpoints/dual_autoencoder_clip_earlyfusion_propertyaware_2k.pth -o space.csv
Identify the crystal structure from an XRD pattern¶
Planned in MEIDNet
| Problem | Given a powder diffraction pattern, tell which crystal system, space group or known structure it comes from. |
| Architecture | Today: a 1D convolutional classifier on the pattern (one modality). Multimodal: a pattern encoder aligned with a structure encoder by contrastive learning, so a pattern retrieves the structures it matches. |
| Why | A pattern is a fingerprint of the lattice. A classifier needs labels; a contrastive model needs only (pattern, structure) pairs, which can be simulated from any structure database. |
| Data | Simulate patterns from computed or experimental structures (semiconductor physics, all databases), for example with pymatgen's XRD calculator; validate on measured patterns. |
| In MEIDNet | A vector-modality encoder for binned XRD is the first item of the roadmap. It is not implemented. |
| References | Park et al. 2017; Baltrušaitis et al. 2019. |
Predict a property when only the formula is known¶
Use another tool
| Problem | Predict a band gap or a stability measure for compositions whose crystal structure is unknown, as in many experimental tables. |
| Architecture | A composition network that reads the formula as a weighted set of elements, such as Roost. With extra numeric inputs (temperature, doping), early fusion of composition features and those numbers is a strong baseline. |
| Why | MEIDNet needs a structure for every row. If your formulas all sit on one prototype (for example ABX₃), you can build those structures on the prototype and use MEIDNet; otherwise a composition model is the right tool. |
| Data | Experimental band gaps and Matbench tasks are listed on Databases by application. |
| References | Goodall and Lee 2020 (Roost); Dunn et al. 2020 (Matbench). |
Connect synthesis text with structures¶
Planned in MEIDNet
| Problem | Link written synthesis procedures to the structures they produce, to suggest how a candidate might be made or which candidates resemble known syntheses. |
| Architecture | A text encoder (a language model) aligned with a structure encoder by contrastive learning; cross-attention when individual words must be tied to individual elements or steps. |
| Why | Text and structures have no common format; a shared space lets each be compared with the other. |
| Data | Text-mined synthesis recipes (Kononova et al. 2019) paired with structures from a structure database. |
| In MEIDNet | A text encoder into the shared space is planned, not implemented. |
| References | Kononova et al. 2019; Moro, Loh et al. 2025. |
Design new atomic arrangements¶
Use another tool
| Problem | Generate crystals whose atomic arrangement is not one of a few known prototypes. |
| Architecture | A conditional generative model over the full geometry: diffusion (MatterGen) or a variational autoencoder (CDVAE). |
| Why | MEIDNet places compositions on a family prototype and does not invent arrangements (scope). Models that generate positions and cells directly can. |
| Data | Large structure databases; the generative benchmarks are listed under generative-model benchmarks. |
| References | Zeni et al. 2025 (MatterGen); Xie et al. 2022 (CDVAE). |
References¶
- A. Babu, R. Almeida Gouvêa, P. Vandergheynst, G.-M. Rignanese, "MEIDNet: Multimodal generative AI framework for inverse materials design", npj Comput. Mater. (2026). doi:10.1038/s41524-026-02153-3
- I. E. Castelli et al., "New cubic perovskites for one- and two-photon water splitting using the computational materials repository", Energy Environ. Sci. 5, 9034 (2012). doi:10.1039/C2EE22341D
- W. B. Park et al., "Classification of crystal structure using a convolutional neural network", IUCrJ 4, 486–494 (2017). doi:10.1107/S205225251700714X
- R. E. A. Goodall, A. A. Lee, "Predicting materials properties without crystal structure: deep representation learning from stoichiometry", Nat. Commun. 11, 6280 (2020). doi:10.1038/s41467-020-19964-7
- A. Dunn et al., "Benchmarking materials property prediction methods: the Matbench test set and Automatminer reference algorithm", npj Comput. Mater. 6, 138 (2020). doi:10.1038/s41524-020-00406-3
- O. Kononova et al., "Text-mined dataset of inorganic materials synthesis recipes", Sci. Data 6, 203 (2019). doi:10.1038/s41597-019-0224-1
- C. Zeni et al., "A generative model for inorganic materials design", Nature 639, 624–632 (2025). doi:10.1038/s41586-025-08628-5
- T. Xie et al., "Crystal diffusion variational autoencoder for periodic material generation", ICLR (2022). arXiv:2110.06197
- T. Baltrušaitis, C. Ahuja, L.-P. Morency, "Multimodal machine learning: a survey and taxonomy", IEEE TPAMI 41, 423–443 (2019). doi:10.1109/TPAMI.2018.2798607
- V. Moro, C. Loh et al., "Multimodal foundation models for material property prediction and discovery", Newton (2025). doi:10.1016/j.newton.2025.100016