Electron Hamiltonian class

The electronic Hamiltonian is derived from the abstract Hamiltonian.

Definition of "hamiltonian_elec_t"

It contains the ‘physical’ quantities, such as

and an instance of hamiltonian_elec_base_t, which bundles some lower level variables. The separation of quantities into these two classes is mostly historic, and currently has no deeper systematics.

Definition of "hamiltonian_elec_base_t"

The method for application of the Hamiltonian, is implemented as a wrapper routine, which checks the compatibility of the supplied wave functions, and then calls the batched version of the routine.

Applying the Hamiltonian (wrapper)

This batched routine now takes care of the actual application of the various terms of the Hamiltonian. The different terms to be applied can be selected using the optional terms argument.

Applying the Hamiltonian (batched)

The Hamiltonian is only allowed to modify the wave functions. The reason why also the initial state psib has intent(INOUT) is that the Hamiltonian can pack the wave functions, if requested.