Full documentation for developers
The DeepErwin codebase consists of several key modules:
cli
is the main entry point to using the code. It sets up calculations and dispatches them to be calculated locally or on a SLURM cluster.process_molecule
andprocess_molecules_shared
contain the main program for optimizing a single molecule, or multiple molecules in an interdependent way (e.g. by using weight-sharing).model
contains all neural network architectures. The contain methods to build the wavefunction which computes \(\psi\) from electron coordinates \(r\).optimization
andevaluation
contain the respective methods to optimize and later evaluate wavefunctions. They contain imports for more advanced second-order optimizers such as KFAC or BFGS.hamiltonian
defines the basic Schrödinger equation, in particular defining how to compute local energies from a wavefunction using automatic differentiation.configuration
contains all default settings for running a DeepErwin calculationutils
contains various utility functions to support the core code.
If you have checked out the GIT repository, you will also find these directories next to the actual deeperwin-python-package:
doc containing this documentation
sample_configs containing exemplary calculations with configurations that are ready to run. These example purposefully use computationally cheap settings, so they can easily be tried on a local computer. For publishable calculations we recommend to use the (computationally more demanding) default settings.