Implementation and numerical validation of browser-local JDFTx DFT

A browser implementation of double-precision plane-wave JDFTx: native comparisons for six fixed systems, atomic and Al cell relaxation, energy-derivative checks, and conditions for data verification and computational reproduction.

Felix Fei

2026-10-12 · Mol2Mat · revision 1

Abstract

Plane-wave pseudopotential density-functional theory describes electronic structure, atomic forces and cell stress within a common framework for molecules and periodic materials. Mol2Mat implements JDFTx in double precision in the browser, including electronic self-consistency, atomic relaxation and cell relaxation. The comparisons use H₂O, NH₄⁺, diamond Si, rocksalt MgO, face-centered cubic (fcc) Al and spin-polarized body-centered cubic (bcc) Fe. These systems span neutral and charged molecules, covalent and ionic crystals, metals and spin degrees of freedom. Matched native calculations provide reference energies, forces, stresses and relaxation trajectories.

Six native/browser comparisons contain 28 paired output frames. Each frame is checked for atom identity, cell, energy decomposition, forces, stress, electron count, occupations and occupied eigenvalues. Maximum differences are 7.80×10−127.80\times10^{-12} Ha for total/internal/free-energy quantities, 6.44×10−106.44\times10^{-10} Ha bohr⁻¹ for force components and 1.14×10−111.14\times10^{-11} Ha bohr⁻³ for stress components. H₂O, NH₄⁺, Si and MgO complete fixed-cell atomic relaxation. Al completes cell relaxation and passes its endpoint cell to a new execution instance for an independent single-point check.

Computational configurations from molecules to metals

A plane-wave expansion places molecules and crystals in a common electronic-structure framework. Periodic systems use Bloch wavefunctions; in atomic units, the kinetic-energy cutoff selects reciprocal-space basis components:

ψnk(r)=∑Gcnk,Gei(k+G)⋅r,∣k+G∣22≤Ecut.\psi_{n\mathbf{k}}(\mathbf r)=\sum_{\mathbf G}c_{n\mathbf{k},\mathbf G}e^{i(\mathbf k+\mathbf G)\cdot\mathbf r},\qquad\frac{|\mathbf k+\mathbf G|^2}{2}\le E_{\mathrm{cut}}.

These calculations use the PBE exchange-correlation functional, SG15 ONCV pseudopotentials for molecules and GBRV ultrasoft pseudopotentials for periodic crystals. The original JDFTx, SG15 and GBRV methods are sources 1–3 below.

H₂O and NH₄⁺ occupy explicit isolated cells of 18 and 20 bohr, respectively, using truncated Coulomb interactions for finite systems. NH₄⁺ has physical charge +1 and eight valence electrons; coordinates, charge, embedding center and pseudopotentials are fixed with the input. Finite-grid density integrals and near-boundary shell integrals additionally check charge localization. Periodic systems fix the primitive cell, fractional coordinates and k\mathbf k mesh, retaining weights for every k\mathbf k point and spin channel.

The table lists the computational conditions for the six system classes. Every electronic SCF block requires two consecutive final density residuals below 10−910^{-9}. Atomic relaxation uses a force threshold of 2×10−42\times10^{-4} Ha bohr⁻¹; cell relaxation uses a stress threshold of 2×10−62\times10^{-6} Ha bohr⁻³. Molecular inputs contain one formula unit. Periodic inputs cover the listed primitive cells and their defined local geometry neighbourhoods; calculation details retain the actual input and sampling conditions.

Representative sampling refinements establish a separate energy scale. Raising the NH₄⁺ wavefunction cutoff from 50 to 80 Ha changes energy by 0.246 meV/atom and maximum force by 0.000433 eV Å⁻¹. Raising the MgO cutoff from 160 to 200 Ha changes energy by 0.577 meV/atom and stress by 0.0110 GPa; Fe changes by 0.495 meV/atom and 0.0143 GPa. All three meet preset comparison scales of 1 meV/atom, 0.005 eV Å⁻¹ and, where applicable, 0.05 GPa. Original records additionally retain k\mathbf k-point, density-grid and isolated-cell-size refinements.

Table 1. Systems and computational conditions
SystemBoundary and pseudopotentialsCutoffs / Hak meshElectronic stateCompleted operations
H₂OIsolated · SG1550 / 3201×1×1Neutral · 8 e · unpolarizedSingle point, atomic relaxation
NH₄⁺Isolated · SG1550 / 3201×1×1+1 · 8 e · unpolarizedSingle point, atomic relaxation
SiDiamond primitive · GBRV20 / 10012×12×128 e · unpolarizedSingle point, fixed-cell atomic relaxation
MgORocksalt primitive · GBRV160 / 8006×6×616 e · unpolarizedSingle point, fixed-cell atomic relaxation
Alfcc primitive · GBRV20 / 10020×20×203 e · 8 bands · Fermi 0.01 HaSingle point, cell relaxation, independent check
Febcc primitive · GBRV Fe v1.5160 / 80016×16×1616 e · 13 bands · initial spin +3Collinear-spin single point

Native/browser comparisons of complete arrays

Native references and browser executions use matched source compositions, inputs and pseudopotentials. Reference runs additionally record the JDFTx and LAPACK libraries actually loaded. Comparisons read binary64 JSONL output directly, aligning total energies, component energies, three-dimensional forces on every atom, all nine stress entries and electronic-state arrays in their original units. Plotted values are maximum absolute differences over the complete recorded trajectory; dashed lines show comparison thresholds fixed before testing.

Maximum energy, force and periodic-stress differences for H₂O, NH₄⁺, Si, MgO, Al and Fe against preset thresholds.
Figure 1. Points show maximum absolute differences across frames; dashed lines are preset thresholds and horizontal axes are logarithmic. Isolated H₂O/NH₄⁺ outputs have no applicable stress entries. Actual small Al/Fe force differences near symmetry-enforced zero are retained.
Table 2. Maximum numerical differences over complete trajectories
System / paired framesTotal energy etc. / HaEnergy components / HaForce / Ha·bohr⁻¹Stress / Ha·bohr⁻³Occupied levels / Ha
H₂O / 73.21×10−123.21\times10^{-12}3.12×10−93.12\times10^{-9}5.95×10−105.95\times10^{-10}Not applicable8.82×10−108.82\times10^{-10}
NH₄⁺ / 41.67×10−121.67\times10^{-12}1.63×10−81.63\times10^{-8}1.16×10−101.16\times10^{-10}Not applicable1.06×10−91.06\times10^{-9}
Si / 51.09×10−121.09\times10^{-12}7.98×10−97.98\times10^{-9}6.44×10−106.44\times10^{-10}4.24×10−124.24\times10^{-12}4.62×10−104.62\times10^{-10}
MgO / 57.80×10−127.80\times10^{-12}2.63×10−92.63\times10^{-9}5.64×10−105.64\times10^{-10}8.10×10−128.10\times10^{-12}3.21×10−103.21\times10^{-10}
Al / 55.89×10−125.89\times10^{-12}2.04×10−92.04\times10^{-9}4.48×10−294.48\times10^{-29}1.14×10−111.14\times10^{-11}1.37×10−91.37\times10^{-9}
Fe / 23.52×10−123.52\times10^{-12}1.28×10−91.28\times10^{-9}1.83×10−291.83\times10^{-29}2.97×10−122.97\times10^{-12}2.59×10−112.59\times10^{-11}

Seven H₂O frames and four NH₄⁺ frames test changing molecular geometries. Si and MgO each contribute five frames, Al five and the Fe single point two. Final summaries and intermediate geometries both enter the comparison, preserving the correspondence between forces, cell and electronic states throughout relaxation. The maximum occupied-eigenvalue difference is 1.37×10−91.37\times10^{-9} Ha; the maximum difference among kinetic, Hartree, exchange-correlation and pseudopotential energy components is 1.63×10−81.63\times10^{-8} Ha. Summed energies combine component terms whose differences can cancel; the two maxima describe agreement of aggregate quantities and individual components separately.

These differences quantify cross-runtime numerical agreement for the same method. Sampling checks and energy-derivative checks separately test the numerical quality of the basis, grids and physical quantities. Together, these three forms of evidence support the calculation. Metal eigenvalue comparisons select states with occupation above 10−710^{-7} on at least one side; remaining levels are retained in the raw output for dedicated subsequent analysis.

Electronic-solver accuracy and convergence validation

Electronic-solver accuracy is evaluated from residuals, total energies and complete force arrays for fixed inputs. Comparisons include iterations near convergence and apply prespecified numerical tolerances to native and browser results.

Before-repair MgO remains above the residual gate through 200 cycles; after repair it meets the gate in 38 cycles.
Figure 2. Single-variable native experiment at 20/100 Ha, k=4×4×4 and residual threshold 10⁻¹⁰. All 200 pre-repair and 38 post-repair cycles are retained. This diagnostic configuration is identified separately from the 160/800 Ha, k=6×6×6 configuration used in the subsequent MgO calculations.

A single-variable experiment on the same MgO primitive cell fixes 20/100 Ha cutoffs, a 4×4×4 k\mathbf k mesh, pseudopotentials, initial state and a 10−1010^{-10} density-residual gate. Before repair, the run reaches 200 cycles with final residuals of 4.31×10−94.31\times10^{-9} and 2.26×10−92.26\times10^{-9}. After repair, it ends in 38 cycles with 6.46×10−116.46\times10^{-11} and 4.77×10−114.77\times10^{-11}. Energy stopping, eigenvalue locking and the iteration cap retain their original settings, localizing this improvement to expansion-direction pruning.

Validation covers molecules, crystals, metals and spin-polarized systems, together with force and stress finite differences, optimization trajectories and complete field data. Resource measurements identify grid sizes, linear memory and execution times.

Self-consistency, metallic occupations and spin

Figure 3 shows the first electronic SCF block for all six system classes. Every point comes from an actual iteration event. Native and browser runs both solve from the initial density, retaining their own iteration counts and non-monotonic behavior. Atomic relaxation of H₂O, NH₄⁺ and both crystals additionally requires the same residual checks at every geometry.

Six panels show native and browser density residuals for H₂O, NH₄⁺, Si, MgO, Al and Fe.
Figure 3. Each panel shows the first SCF block of its comparison. Browser points and native lines use a common logarithmic vertical range; the dotted line is 10⁻⁹. SCF events for all relaxed geometries are retained in the raw data.

Al and Fe use Fermi occupations with width 0.01 Ha and 20×20×20 and 16×16×16 k\mathbf k meshes, respectively. Metal relaxation uses the Helmholtz free energy as its variational quantity:

F=Etot−TS,Ne=∑k,n,σwkfnkσ.F=E_{\mathrm{tot}}-TS,\qquad N_e=\sum_{\mathbf k,n,\sigma}w_{\mathbf k}f_{n\mathbf k\sigma}.

Output retains internal energy, electronic entropy and free energy separately. Occupation weights reconstruct electron count; the highest-band occupation and weighted electron tail enter the checks. The broadening specifies electronic occupations, while structural inputs specify the cell conditions.

bcc Fe starts with a spin electron imbalance of +3 and allows collinear spin to relax during the solve. Its converged N↑−N↓N_\uparrow-N_\downarrow is 2.2598006043, corresponding to a spin moment of approximately 2.2598 μB per one-atom primitive cell. The native/browser difference is 5.32×10−115.32\times10^{-11} electrons. This value is defined by the recorded PBE/GBRV configuration, initial spin and cell; electron count is independently reconstructed from occupations.

From electronic self-consistency to atomic relaxation

Atomic relaxation uses forces to update geometry, jointly testing electronic states, atom indexing and coordinate transfer. All four chains start from their actual initial geometries and retain the converged electronic state and corresponding atomic forces at each step. Native and browser trajectories are compared frame by frame; every final maximum atomic force meets the fixed 2×10−42\times10^{-4} Ha bohr⁻¹ threshold.

Atomic-relaxation trajectories and the final-force gate for H₂O, NH₄⁺, Si and MgO.
Figure 4. Maximum atomic force is the largest three-dimensional atomic force norm. Common logarithmic axes retain the initial frame and every geometry step; the grey line is 2×10⁻⁴ Ha bohr⁻¹. Final summaries correspond to endpoint geometries and are stored separately.
PBE / SG15, 50/320 Ha: seven saved browser geometries after electronic minimization, indexed 0–6. Selecting a frame synchronizes the coordinates and energy/force readout. Energy is relative to the final frame; max|F| is the largest atomic-force norm. The static plate shows final coordinates and uses a logarithmic force axis.
Figure 5. PBE / SG15, 50/320 Ha: seven saved browser geometries after electronic minimization, indexed 0–6. Selecting a frame synchronizes the coordinates and energy/force readout. Energy is relative to the final frame; max|F| is the largest atomic-force norm. The static plate shows final coordinates and uses a logarithmic force axis.

Final maximum forces are 7.63×10−57.63\times10^{-5} Ha bohr⁻¹ for H₂O, 1.83×10−61.83\times10^{-6} for NH₄⁺, 4.33×10−74.33\times10^{-7} for Si and 2.05×10−52.05\times10^{-5} for MgO. The relaxations produce 6, 3, 4 and 4 geometry-step records, respectively, plus their final summary frames. Isolated molecular cells and fixed periodic cells retain their respective physical meaning within the same record structure.

Independent energy-derivative checks of forces and stress

Atomic forces are checked by central differences, and stress by prescribed strain paths at fixed fractional coordinates. For lattice matrix R(η)=(I+ηQ)R0R(\eta)=(I+\eta Q)R_0,

FIαFD=−E(RIα+h)−E(RIα−h)2h,σ:Q≃E(+η)−E(−η)2ηV.F_{I\alpha}^{\mathrm{FD}}=-\frac{\mathcal E(R_{I\alpha}+h)-\mathcal E(R_{I\alpha}-h)}{2h},\qquad \sigma:Q\simeq\frac{\mathcal E(+\eta)-\mathcal E(-\eta)}{2\eta V}.

Here σ:Q=∑αβσαβQαβ\sigma:Q=\sum_{\alpha\beta}\sigma_{\alpha\beta}Q_{\alpha\beta}, stress follows the positive energy–strain derivative convention, and V is the reference volume. The Al and MgO 00 checks use Q₀₀=1 with all other components zero; isotropic Fe uses Q=I and therefore probes the stress trace. Molecules and insulators use E=Etot\mathcal E=E_{\mathrm{tot}}, while metals use E=F\mathcal E=F.

Force-difference errors for molecules and MgO; stress-difference errors for Al, MgO and Fe.
Figure 6. Labels give the system and displacement step in bohr or strain amplitude. Forces and stress use their respective units and thresholds. All points come directly from central differences; horizontal axes are logarithmic.
Table 3. Derivative checks at two step sizes
System and derivativeStepAnalyticalCentral differenceAbsolute difference
NH₄⁺ · force / Ha·bohr⁻¹0.01−5.10×10−4-5.10\times10^{-4}−5.08×10−4-5.08\times10^{-4}1.61×10−61.61\times10^{-6}
NH₄⁺ · force / Ha·bohr⁻¹0.005−5.10×10−4-5.10\times10^{-4}−5.10×10−4-5.10\times10^{-4}4.03×10−74.03\times10^{-7}
MgO · force / Ha·bohr⁻¹0.01−5.81×10−3-5.81\times10^{-3}−5.81×10−3-5.81\times10^{-3}1.12×10−61.12\times10^{-6}
MgO · force / Ha·bohr⁻¹0.005−5.81×10−3-5.81\times10^{-3}−5.81×10−3-5.81\times10^{-3}2.79×10−72.79\times10^{-7}
Al · stress / Ha·bohr⁻³0.0025.65×10−55.65\times10^{-5}5.65×10−55.65\times10^{-5}4.29×10−84.29\times10^{-8}
Al · stress / Ha·bohr⁻³0.0015.65×10−55.65\times10^{-5}5.65×10−55.65\times10^{-5}3.00×10−83.00\times10^{-8}
Fe · stress / Ha·bohr⁻³0.0021.43×10−41.43\times10^{-4}1.42×10−41.42\times10^{-4}1.29×10−61.29\times10^{-6}
Fe · stress / Ha·bohr⁻³0.0011.43×10−41.43\times10^{-4}1.42×10−41.42\times10^{-4}1.19×10−61.19\times10^{-6}
H₂O · force / Ha·bohr⁻¹0.005−9.46×10−3-9.46\times10^{-3}−9.46×10−3-9.46\times10^{-3}2.47×10−62.47\times10^{-6}
MgO · stress / Ha·bohr⁻³0.002−2.05×10−4-2.05\times10^{-4}−2.06×10−4-2.06\times10^{-4}1.50×10−61.50\times10^{-6}
MgO · stress / Ha·bohr⁻³0.001−2.05×10−4-2.05\times10^{-4}−2.06×10−4-2.06\times10^{-4}1.41×10−61.41\times10^{-6}

NH₄⁺ and MgO each use atomic displacements of 0.01 and 0.005 bohr. Halving the step reduces the NH₄⁺ error from 1.61×10−61.61\times10^{-6} to 4.03×10−74.03\times10^{-7} Ha bohr⁻¹ and the MgO error from 1.12×10−61.12\times10^{-6} to 2.79×10−72.79\times10^{-7}. Both decrease by approximately fourfold, consistent with second-order central-difference truncation. The 0.005 bohr H₂O check has error 2.47×10−62.47\times10^{-6} Ha bohr⁻¹.

Stress checks use strain amplitudes of 0.002 and 0.001. Al 00-component errors are 4.29×10−84.29\times10^{-8} and 3.00×10−83.00\times10^{-8} Ha bohr⁻³; MgO 00-component errors are 1.50×10−61.50\times10^{-6} and 1.41×10−61.41\times10^{-6}; isotropic Fe errors are 1.29×10−61.29\times10^{-6} and 1.19×10−61.19\times10^{-6}. All pass the predetermined 2×10−62\times10^{-6} Ha bohr⁻³ threshold. Complete derivative data retain both steps, analytical derivatives, positive/negative perturbation energies and the actual computational configurations.

Independent single-point verification after Al cell relaxation

fcc Al extends the validation chain to cell degrees of freedom. The workspace calculation records a primitive-cell volume changing from 122.4653854 to 111.8697285 bohr³, corresponding to a conventional cubic lattice parameter of 4.047547845 Å. After relaxation, the workflow extracts the actual cell and coordinates from the final frame and creates a new single-point task with a new Worker. Optimizer and check records separately retain inputs, methods, result references and execution identities.

Al primitive-cell volume changes from 122.4654 to 111.8697 Bohr³; fresh single-point stress passes the original gate.
Figure 7. Purple points are cell-relaxation steps in the workspace; the diamond is a new independent single point. Left: primitive-cell volume. Right: maximum stress component on a logarithmic axis. The two executions retain distinct task and result identities.
PBE / GBRV USPP, 20/100 Ha, 20³ k integration and 0.01 Ha smearing: five saved browser cell-optimization frames, indexed 0–4. The 3D view is the equivalent conventional FCC cubic cell with boundary copies; sticks indicate neighbours. V is the volume of the calculated one-atom primitive cell. F is the variational free energy. Selecting a frame updates the lattice, energy, volume and stress readout.
Figure 8. PBE / GBRV USPP, 20/100 Ha, 20³ k integration and 0.01 Ha smearing: five saved browser cell-optimization frames, indexed 0–4. The 3 D view is the equivalent conventional FCC cubic cell with boundary copies; sticks indicate neighbors. V is the volume of the calculated one-atom primitive cell. F is the variational free energy. Selecting a frame updates the lattice, energy, volume and stress readout.
Table 4. Al fresh single point and native recalculation
QuantityBrowser calculation resultNative/browser absolute difference
Free energy / Ha-2.10337649236157542.75×10−132.75\times10^{-13}
Maximum stress component / Ha·bohr⁻³2.19×10−72.19\times10^{-7}1.30×10−111.30\times10^{-11}
Occupied levels / HaComplete weighted electronic-state arrays4.92×10−104.92\times10^{-10}
Primitive-cell volume / bohr³111.8697284950Matches the relaxation endpoint cell

The independent browser single point gives free energy −2.1033764923615754 Ha and maximum stress component 2.19235×10−72.19235\times10^{-7} Ha bohr⁻³. Recalculating this browser single-point input verbatim with the native program gives a free-energy difference of 2.75×10−132.75\times10^{-13} Ha, stress-component difference of 1.30×10−111.30\times10^{-11} Ha bohr⁻³ and occupied-eigenvalue difference of 4.92×10−104.92\times10^{-10} Ha. The check also passes electron count, occupation-tail, force and the original cell-relaxation stress criterion.

The optimizer endpoint has free energy −2.1033769126596926 Ha, differing from the fresh single point by 4.20×10−74.20\times10^{-7} Ha. The relaxation path and independent single point each retain their actual FFT-grid and basis settings; this difference is reported separately from native/browser porting error. The independent check establishes that a new electronic solve at the final cell still meets the original force and stress conditions.

Calculations and reusable results in the workspace

The Mol2Mat workspace provides three entry points: DFT single points, atomic relaxation and cell relaxation. Molecular coordinates and periodic cells enter through structure inputs. Electronic SCF progress is visible during execution; three-dimensional structures, relaxation trajectories and numerical results remain available afterwards. Intermediate or final frames can be used for a new single-point calculation. Derived records preserve the parent task, frame index and method, linking a relaxed structure to its subsequent electronic solve.

Workspace checks include H₂O atomic relaxation, NH₄⁺/Si/MgO single points and the Al “cell relaxation → independent single point” calculation. After saving, reopening, export, navigation and reload, content hashes preserve the association between structures, methods and execution records. Numerical validation of the Fe spin single point uses retained native/browser calculation records. A separate intentionally cancelled workspace run checks task termination, record recovery and export.

Computation runs in a dedicated Worker using single-threaded binary64 CPU WebAssembly, native WASM exceptions and a 4 GiB linear-memory ceiling. Output growth is capped at 24 MiB and the actual per-task time budget is 3600 s. Measured state, band and grid sizes are checked before successful output. Execution evidence was recorded in pinned Chrome 154.0.8037.98 on macOS. Cancellation terminates the corresponding Worker and releases resources; runtime data and saved objects retain the identity of that execution.

Table 5. Workspace calculations and record recovery
ObjectCalculations and numerical validationResult storage and recovery
H₂OAtomic relaxation and framewise native comparisonSave, open, return, reload; derive middle and final frames
NH₄⁺ / Si / MgOSingle points and complete-output validationSave, open, return, reload; geometry and provenance retained
AlCell relaxation, fresh single point and native verificationTwo saved tasks; export and recover the complete workflow
FeRetained native/browser spin single-point numerical recordsSave, open, return, reload and export the intentionally cancelled run record

Calculation versions and verification conditions

Each comparison fixes software versions, structures, pseudopotentials, cutoffs, sampling and convergence conditions, with checksums identifying calculation artifacts and outputs. Native and browser results are compared using the same observable definitions and prespecified tolerances.

The public summary CSV, derivative CSV and verification summary support checks of the numerical conclusions. Calculations can be repeated with the stated inputs and method settings, and figures can be redrawn from the corresponding numerical data.

Table 6. Fixed build materials
ComponentVersions, hashes and build records
JDFTxe305ab5de00f4b8193a503b62f314c86c36baafc
Emscripten / Node5.0.3 / 24.19.0
GSL / FFTW2.8 / 3.3.11
OpenBLASNative 0.3.34; fixed WASM 0.3.31 side module
Core source builds136 actual compile/link steps each for native and WASM
Source-file comparison541 source files matched individually on each side
JDFTx WASM4d1d9c735f173d1cf0492ba1c9a593ca2bc32af123ddc3d560608ae3e1a34c90
Corresponding-source archive SHA-256631c2c559ab1c6a4f0ce870942201afce24adfc894c769cd4d94b6fea409a9b8

Conclusions

Native/browser comparisons for six fixed inputs establish agreement in energies, forces, stress and electronic-state arrays under the tested conditions. Four atomic relaxations meet the prescribed force threshold. An independent browser single point and native recalculation after Al cell relaxation meet the original force and stress criteria. A matched-input comparison evaluates the Davidson cutoff revision, while independent energy differences check forces and stress.

These conclusions apply to the listed systems, PBE pseudopotential settings, sampling and convergence conditions. Numerical comparisons, sampling refinement and optimized endpoints use their respective metrics; public data support checks of summaries, derivative tables and figures.

Data and reproducibility

Energy, force and stress differences can be replotted from summary.csv. Perturbed energies and analytical derivatives in derivatives.csv support independent finite-difference checks. evidence.json provides the verification summary and result identities.

Calculation reproduction uses the recorded structures, pseudopotentials, cutoffs, sampling and stopping conditions, with results compared against observable-specific tolerances. Performance reproduction also fixes the device, parallel configuration, initialization boundary and repetition count.

Data and sources

  1. R. Sundararaman et al. JDFTx: Software for joint density-functional theory. SoftwareX 6, 278–284 (2017). doi:10.1016/j.softx.2017.10.006
  2. M. Schlipf, F. Gygi. Optimization algorithm for the generation of ONCV pseudopotentials. Computer Physics Communications 196, 36–44 (2015). doi:10.1016/j.cpc.2015.05.011
  3. K. F. Garrity et al. Pseudopotentials for high-throughput DFT calculations. Computational Materials Science 81, 446–452 (2014). doi:10.1016/j.commatsci.2013.08.053
  4. JDFTx source commit e305ab5de00f4b8193a503b62f314c86c36baafc.
  5. Mol2Mat retained raw numerical evidence and file identities.
  6. Mol2Mat: saved-data Mol* figure sources, render settings and checksums.