Full documentation for developers
The DeepErwin codebase consists of several key modules:
cliis 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_moleculeandprocess_molecules_sharedcontain the main program for optimizing a single molecule, or multiple molecules in an interdependent way (e.g. by using weight-sharing).modelcontains all neural network architectures. The contain methods to build the wavefunction which computes \(\psi\) from electron coordinates \(r\).optimizationandevaluationcontain the respective methods to optimize and later evaluate wavefunctions. They contain imports for more advanced second-order optimizers such as KFAC or BFGS.hamiltoniandefines the basic Schrödinger equation, in particular defining how to compute local energies from a wavefunction using automatic differentiation.configurationcontains all default settings for running a DeepErwin calculationutilscontains 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.