SE - fmauger1/QMol-grid GitHub Wiki
Ground-state Schrödinger-equation (SE)
Ground-state Schrödinger equation corresponds to the lowest-energy solution of the eigen-value problem
$$ \hat{\mathcal{H}} \psi (x)=E\psi (x),~~~~~~(1) $$
where $\hat{\mathcal{H}}$ is the Hamiltonian operator, $\psi$ the (ground state) wave function, and $E$ its associate energy. The Hamiltonian is defined as the sum of the kinetic and potential operators
$$ \hat{\mathcal{H}} =-\frac{\Delta }{2}+\hat{\mathcal{V}} .~~~~~~(2) $$
The QMol-grid package provides support both for ground-state Schrödinger equation with the QMol_SE
class.
Schrödinger-equation components
For clarity and streamlined future development of Schrödinger-equation capabilities in the QMol-grid package, we sort SE component (classes) into different topical groups.
Model discretization
The following classes are used to discretize Schrödinger-equation systems
QMol_SE_wfcn
is the Cartesian-grid discretization of the wave function.QMol_SE_V
is the Cartesian-grid discretization of the potential operator $\hat{\mathcal{V}}$ .
For basis-set discretization models, with QMol_disc_basis
, the description of the wave function is overloaded by the QMol_SE_wfcn_basis
class.
Memory and execution-time profiler
The choice of the domain discretization can greatly affect the resources, both in terms of memory and execution time, required to carry out simulations.
QMol_SE_profiler
provides estimates of the memory and run-time requirements for a given Schrödinger-equation model or components.
Keep in mind that differentiation are performed via fast-Fourier transforms. Thus, as a rule of thumb, domain discretization with small prime factor number of grid points tend to produce faster results -- for best performance, prime factors not greater than 7.
Ground-state computation
The Schrödinger-equation ground state, or more generally some SE eigen state, is computed by numerically solving Eq. (1). In the QMol-grid package, this can be achieved with
QMol_SE_eigs
is the eigen solver to be for grid-based discretizations.QMol_SE_eig_basis
is the eigen solver to be used for basis-set discretizations.
Notes for developers
SE model implementation
The QMol_SEq
abstract class defines the common interface and run-time documentation for Schrödinger-equation models.
Notes
- Schrödinger-equation features were introduced in version 01.20