Our great sponsors
-
Haskell-abinitio
Discontinued contains a package in Haskell to calculate the electronic structure properties of molecules using the Hartree-Fock method
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
During my Ph.D., I made a Hartree-Fock implementation using Haskell (https://github.com/felipeZ/Haskell-abinitio). What I learnt from it is that most of the work is actually in implementing the integrals. But with Rust, you can take the integrals from libraries like libint2 (https://github.com/evaleev/libint) and focus on the implementation's physics. The integrals and the diagonalization of the resulting operators are the bottlenecks in both Hartree-Fock and DFT. So, if you take something like libint2 for the integrals and Nalgebra (https://nalgebra.org/) for the linear algebra, the application is going to be lightning-fast. But if you decide to implement the integrals yourself, I think it would take a significant time until you can reach the current Fortran/C++ implementation performance.
During my Ph.D., I made a Hartree-Fock implementation using Haskell (https://github.com/felipeZ/Haskell-abinitio). What I learnt from it is that most of the work is actually in implementing the integrals. But with Rust, you can take the integrals from libraries like libint2 (https://github.com/evaleev/libint) and focus on the implementation's physics. The integrals and the diagonalization of the resulting operators are the bottlenecks in both Hartree-Fock and DFT. So, if you take something like libint2 for the integrals and Nalgebra (https://nalgebra.org/) for the linear algebra, the application is going to be lightning-fast. But if you decide to implement the integrals yourself, I think it would take a significant time until you can reach the current Fortran/C++ implementation performance.
During my Ph.D., I made a Hartree-Fock implementation using Haskell (https://github.com/felipeZ/Haskell-abinitio). What I learnt from it is that most of the work is actually in implementing the integrals. But with Rust, you can take the integrals from libraries like libint2 (https://github.com/evaleev/libint) and focus on the implementation's physics. The integrals and the diagonalization of the resulting operators are the bottlenecks in both Hartree-Fock and DFT. So, if you take something like libint2 for the integrals and Nalgebra (https://nalgebra.org/) for the linear algebra, the application is going to be lightning-fast. But if you decide to implement the integrals yourself, I think it would take a significant time until you can reach the current Fortran/C++ implementation performance.
Haven't used it myself. But this seems well maintained and very usable. https://github.com/rsmpi/rsmpi