Charge Neutrality
What This Tool Does
Filter out formulas or CIF structures that pass charge-neutrality screening.
Typical Inputs
- One formula or a list of formulas.
- CSV/TXT batch input using formulas in the first column or line-delimited formulas.
- Multiple CIF files, ZIP archives, TAR archives, TAR.GZ, or TGZ archives.
- Oxidation-state method: Oxi.matr.io oxidation-state model, SMACT Inclusive OS, pymatgen oxidation-state guess, BERTOS, TOSS, or Compare all methods.
Method
The default method is the Oxi.matr.io oxidation-state model. It predicts oxidation states with the electrochemical-series model and checks whether the weighted oxidation-state sum is zero.
Other available methods:
- SMACT Inclusive OS enumerates broad SMACT-style oxidation-state possibilities and marks a formula neutral if any allowed combination balances charge.
- pymatgen oxidation-state guess uses
pymatgen.core.Composition.oxi_state_guesses(). - BERTOS oxidation-state prediction uses the installed composition-based deep-learning OS model.
- TOSS structure-based prediction uses the uploaded CIF structure when available.
- Compare all methods reports individual method results plus
pass_anyandpass_consensus.
For CIF uploads, formula-based methods extract the reduced formula with pymatgen. TOSS uses the actual CIF structure.
Output
- Pass/fail charge-neutrality status.
- Method used for each formula or CIF.
- Assigned oxidation states.
- Net charge from assigned oxidation states when available.
- Status and reason columns for unresolved, unavailable, or parse-error cases.
- Oxi.matr.io likelihood and mapped potential when available.
- TOSS site oxidation states when available.
- Downloadable
charge-neutrality-results.csv. - Downloadable
charge-neutrality-passing-cifs.zipfor CIF/archive uploads.
How To Use The Result
Use the default Oxi.matr.io model when you want a specific model-assigned oxidation-state screen. Use SMACT Inclusive OS when you want the broadest high-recall formula screen. Use TOSS when structure context is important and CIF files are available.
Limitations
Formal oxidation states are a bookkeeping model. Metallic, covalent, mixed-valence, nonstoichiometric, disordered, and defect-rich materials can be more subtle than this screen. A passing charge-neutrality result does not prove stability, synthesizability, or the correctness of a unique oxidation-state assignment.
Example Input
SrTiO3
LiFePO4
NaCl
Fe2O3
Default method: pnas_electrochemical.
Acknowledgements
Uses the installed pymatgen toolkit for formula and CIF handling. Charge Neutrality uses the Oxi.matr.io oxidation-state model by default, with SMACT Inclusive OS, pymatgen oxidation-state guesses, BERTOS, and TOSS available as selectable alternatives.
Mueller, Tim, Joseph Montoya, Weike Ye, Xiangyun Lei, Linda Hung, Jens Hummelshøj, Michael Puzon, Daniel Martinez, Chris Fajardo, and Rachel Abela. "An electrochemical series for materials." Proceedings of the National Academy of Sciences 121, no. 38 (2024): e2320134121.
Fu, Nihang, Jeffrey Hu, Ying Feng, Gregory Morrison, Hans-Conrad zur Loye, and Jianjun Hu. "Composition based oxidation state prediction of materials using deep learning language models." Advanced Science 10, no. 28 (2023): 2301011.
Yin, Yue, and Hai Xiao. "Oxidation states in solids from data-driven paradigms." Chemical Science 16, no. 42 (2025): 19917-19928.