|
GBTOlib: library for evaluation of molecular integrals in mixed Gaussian / B-spline basis 111
|
Public Member Functions | |
| procedure | read_ecp_nml (this, lunit) |
| Reads the ECP parameters from the namelist &ECP specified in this routine. | |
| procedure | eval_local_ecp (this, r, local_ecp) |
| Evaluates the local part of the ECP on a given radial grid. Note that the Molpro website [1] includes the screened nuclear potential -(Z-thisn_core)/r as part of the ECP. However, this term is actually the standard nuclear repulsion integral with the effective charge Z-thisn_core, see cgto_integrals.f90. For this reason we don't include this potential in our definition of the ECP. [1] https://www.molpro.net/manual/doku.php?id=effective_core_potentials. | |
| procedure | eval_semi_local_ecp (this, r, semi_local_ecp) |
| Evaluates the radial part of the semi-local part of the ECP for a given angular momentum and a given radial grid. | |
| procedure | eval_SO_ecp eval_so_ecp |
| Evaluates the radial part of the SO part of the ECP for a given angular momentum and a given radial grid. | |
| procedure | write_ecp (this, lunit, posit) |
| Writes the ECP data to a given position in an open file. Only the master writes. | |
| procedure | read_ecp (this, lunit, posit) |
| Reads the ECP data from a given position in an open file. Only the master reads. | |
| procedure | mpi_ecp_bcast (this) |
| Broadcasts the ECP data from the master rank to all other ranks. | |
Public Attributes | |
| integer | nuc = -1 |
| ID of the nucleus, i.e. its number. This must be the same as the 'nuc' value in the parent object nucleus_type. | |
| integer | n_core = 0 |
| Number of core electrons replaced by ECPs on this nucleus. Setting n_core = 0 means no ECPs are used. | |
| integer | lmax = 0 |
| lmax for the semi-local terms (with angular-momentum projectors P_{l}): \sum_{l=0}^{lmax-1} V_{loc,l}(r) P_{l} | |
| integer | lmaxp = 0 |
| lmax' for the SO terms: \sum_{l=1}^{lmaxp} \Delta V_{SO,l}(r) P_{l} l.s P_{l} | |
| integer | nlmax = 0 |
| n_{lmax} for the local term. | |
| real(kind=cfp), dimension(:), allocatable | cloc |
| COEFFICIENTS OF THE LOCAL TERMS. Intended dimension (1:nlmax). | |
| real(kind=cfp), dimension(:), allocatable | gloc |
| integer, dimension(:), allocatable | mloc |
| integer, dimension(:), allocatable | nl |
| n_{l} for the semi-local terms. Intended dimension (0:lmax-1). | |
| real(kind=cfp), dimension(:,:), allocatable | c |
| COEFFICIENTS OF THE SEMI-LOCAL TERMS. Dimension (1:max(nl),0:lmax-1) | |
| real(kind=cfp), dimension(:,:), allocatable | g |
| integer, dimension(:,:), allocatable | m |
| integer, dimension(:), allocatable | nlp |
| n_{l}^{'} for the SO terms. Intended dimension (1:lmaxp). | |
| real(kind=cfp), dimension(:,:), allocatable | cso |
| COEFFICIENTS OF THE SO TERMS. Dimension (1:max(nlp),1:lmaxp) | |
| real(kind=cfp), dimension(:,:), allocatable | gso |
| integer, dimension(:,:), allocatable | mso |
| logical | have_ecp = .false. |
| logical | have_semi_local_ecp = .false. |
| logical | have_so_ecp = .false. |
| procedure common_obj_gbl::ecp_obj::eval_local_ecp | ( | class(ecp_obj) | this, |
| real(kind=cfp), dimension(:), intent(in) | r, | ||
| real(kind=cfp), dimension(:), allocatable | local_ecp ) |
Evaluates the local part of the ECP on a given radial grid. Note that the Molpro website [1] includes the screened nuclear potential -(Z-thisn_core)/r as part of the ECP. However, this term is actually the standard nuclear repulsion integral with the effective charge Z-thisn_core, see cgto_integrals.f90. For this reason we don't include this potential in our definition of the ECP. [1] https://www.molpro.net/manual/doku.php?id=effective_core_potentials.
| procedure common_obj_gbl::ecp_obj::eval_semi_local_ecp | ( | class(ecp_obj) | this, |
| real(kind=cfp), dimension(:), intent(in) | r, | ||
| real(kind=cfp), dimension(:,:), allocatable | semi_local_ecp ) |
Evaluates the radial part of the semi-local part of the ECP for a given angular momentum and a given radial grid.
| procedure common_obj_gbl::ecp_obj::eval_SO_ecp |
Evaluates the radial part of the SO part of the ECP for a given angular momentum and a given radial grid.
| procedure common_obj_gbl::ecp_obj::mpi_ecp_bcast | ( | class(ecp_obj) | this | ) |
Broadcasts the ECP data from the master rank to all other ranks.
| procedure common_obj_gbl::ecp_obj::read_ecp | ( | class(ecp_obj) | this, |
| integer, intent(in) | lunit, | ||
| integer, intent(in) | posit ) |
Reads the ECP data from a given position in an open file. Only the master reads.
| procedure common_obj_gbl::ecp_obj::read_ecp_nml | ( | class(ecp_obj) | this, |
| integer, intent(in) | lunit ) |
Reads the ECP parameters from the namelist &ECP specified in this routine.
| procedure common_obj_gbl::ecp_obj::write_ecp | ( | class(ecp_obj) | this, |
| integer, intent(in) | lunit, | ||
| integer, intent(in) | posit ) |
Writes the ECP data to a given position in an open file. Only the master writes.
| real(kind=cfp), dimension(:,:), allocatable common_obj_gbl::ecp_obj::c |
COEFFICIENTS OF THE SEMI-LOCAL TERMS. Dimension (1:max(nl),0:lmax-1)
| real(kind=cfp), dimension(:), allocatable common_obj_gbl::ecp_obj::cloc |
COEFFICIENTS OF THE LOCAL TERMS. Intended dimension (1:nlmax).
| real(kind=cfp), dimension(:,:), allocatable common_obj_gbl::ecp_obj::cso |
COEFFICIENTS OF THE SO TERMS. Dimension (1:max(nlp),1:lmaxp)
| real(kind=cfp), dimension(:,:), allocatable common_obj_gbl::ecp_obj::g |
| real(kind=cfp), dimension(:), allocatable common_obj_gbl::ecp_obj::gloc |
| real(kind=cfp), dimension(:,:), allocatable common_obj_gbl::ecp_obj::gso |
| logical common_obj_gbl::ecp_obj::have_ecp = .false. |
| logical common_obj_gbl::ecp_obj::have_semi_local_ecp = .false. |
| logical common_obj_gbl::ecp_obj::have_so_ecp = .false. |
| integer common_obj_gbl::ecp_obj::lmax = 0 |
lmax for the semi-local terms (with angular-momentum projectors P_{l}): \sum_{l=0}^{lmax-1} V_{loc,l}(r) P_{l}
| integer common_obj_gbl::ecp_obj::lmaxp = 0 |
lmax' for the SO terms: \sum_{l=1}^{lmaxp} \Delta V_{SO,l}(r) P_{l} l.s P_{l}
| integer, dimension(:,:), allocatable common_obj_gbl::ecp_obj::m |
| integer, dimension(:), allocatable common_obj_gbl::ecp_obj::mloc |
| integer, dimension(:,:), allocatable common_obj_gbl::ecp_obj::mso |
| integer common_obj_gbl::ecp_obj::n_core = 0 |
Number of core electrons replaced by ECPs on this nucleus. Setting n_core = 0 means no ECPs are used.
| integer, dimension(:), allocatable common_obj_gbl::ecp_obj::nl |
n_{l} for the semi-local terms. Intended dimension (0:lmax-1).
| integer common_obj_gbl::ecp_obj::nlmax = 0 |
n_{lmax} for the local term.
| integer, dimension(:), allocatable common_obj_gbl::ecp_obj::nlp |
n_{l}^{'} for the SO terms. Intended dimension (1:lmaxp).
| integer common_obj_gbl::ecp_obj::nuc = -1 |
ID of the nucleus, i.e. its number. This must be the same as the 'nuc' value in the parent object nucleus_type.