# Data acquisition Spin-polarized calculations were performed based on density functional theory [48,49] in the implementation with plane-waves[50] and pseudopotentials using the CASTEP code [51] within the Materials Studio framework. The Perdew, Burke, and Ernzerhof (PBE) GGA functional [52,53] was employed in all calculations. Core electrons were described by on-the-fly generated norm conserving pseudopotentials [54], and a plane-wave energy cut-off was set to 1200 eV. The k-point sampling of the Brillouin zone was made by means of the Monkhorst-Pack scheme [55,56] with a k-point separation of 0.05 Å$^{-1}$ for all structures. The electronic structure was minimized until the total energy difference was smaller than 10$^{-7}$ eV/atom for two consecutive SCF cycles. To facilitate convergency, a Gaussian smearing scheme with a width of 0.1 eV was used. All structures were fully optimized using the L-BFGS [57,58] algorithm with the total energy convergence tolerance of 10$^{-5}$ eV/atom, maximum force tolerance of 0.03 eV/Å, maximum stress tolerance of 0.05 GPa, and maximum displacement tolerance of 10$^{-3}$ Å. The initial bulk structures for further geometry optimizations were obtained primarily from the Materials studio database and from the inorganic crystal structure database (ICSD) [59]. Optimized structures were then compared with experimental lattices reported in ICSD and the percentage error was calculated. Table 1 summarizes the bulk structures, experimental and calculated lattice parameters and %err. Note: Numbers in square brackets refer to references in the main text. # File contents ## Atomic Simulation Environment (ASE) databases These files contain the relaxed structures from Density Functional Theory (DFT) calculations in [ASE's native database format](https://wiki.fysik.dtu.dk/ase/ase/db/db.html). ASE's [CASTEP](https://wiki.fysik.dtu.dk/ase/ase/calculators/castep.html) `Calculator` stores the calculation set-up read from the `.castep` file. These databases were separated according to its chemical nature: - `interface.db` - `bulk.db` - `gasphase.db` ## Jupyter notebooks Scriprt files written in Python 3.10 to calculate reaction enthalpies (`enthalpy_of_formation.ipynb`), percentage error of lattice parameters (`percentage_errors.ipynb`), and lattice parameter of $\beta-Ni(OH)_{2}$ brucite as a function of appled external pressure (`brucite_pressure.ipynb`). The required `python` libraries to succesfuly run these notebooks are: - `ase` v.3.22.1 - `matplotlib` v.3.8.0 - `numpy` v.1.26.0 - `pandas` v.2.1.1 - `seaborn` v.0.13.0 ### `enthalpies_of_formation.ipynb` Enthaly of formation for each chemical reaction described in the main paper reported in Tables 1-8 were calculated based on total energies of the interfaces stored in `interfaces.db`. Some reactions depend on reference structures, either stored in `gasphase.db` or `bulk.db`. ### `percentage_errors.ipynb` The percentage rrors reported in Table 1 were obtained by running the cells in `percentage_error.ipynb`. The results are generated and store as `pandas` `DataFrame` objects. Experimental references for the calculation of percentage errors are available in Table 1 of the paper and converted into a `DataFrame` into the same notebook. ### `brucite_pressure.ipynb` The calculated lattice parameters as a function of applied pressure were obtained from DFT calculations and stored in `brucite.db` database, which was converted into a `DataFrame` and plotted as a output of the notebook.