This repository contains the original implementation of the experiments for "Leveraging Normalizing Flows for Orbital-Free Density Functional Theory".
In orbital-free density functional theory, the ground-state density is found by solving a constrained optimization problem,
where
In this work, we present an alternative constraint-free approach to solve for the ground-state density by a continuous-time normalizing flow (NF) ansatz, allowing us to reframe the OF-DFT variational problem as a Lagrangian-free optimization problem for molecular densities in real space,
where we parameterize the electron density
For the one-dimensional simulations, the architecture of
where
where
We successfully replicate the electronic density for the one-dimensional Lithium hydride molecule with varying interatomic distances, as well as comprehensive simulations of hydrogen and water molecules, all conducted in Cartesian space.
For Lithium hydride (
python LiH.py
--epochs <number of iterations>
--bs <batch size>
--N <number of valence electrons>
--sched <learning rate schedule>
--R <interatomic distances>
--Z <atomic number>
The default functionals can be found in the directory ofdft_normflows.
|
The change of |
---|---|
For water (
python H2_mol_ofdft_min.py
--epochs <number of iterations>
--bs <batch size>
--lr <initial learning rate>
--sched <learning rate schedule>
The default kinetic energy functional is the sum of the Thomas-Fermi and Weizsäcker, however, --kin <name>
could be used to select others.
Vector field for water's electronic density. | Vector field for benzene's electronic density. |
---|---|
- DeepMind JAX Ecosystem 'JAX v0.4.23'
- Flax
- PySCF
This is a library that is currently being built.