GBTOlib: library for evaluation of molecular integrals in mixed Gaussian / B-spline basis 111
Loading...
Searching...
No Matches
common_obj_gbl::ecp_obj Type Reference

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.

Member Function/Subroutine Documentation

◆ eval_local_ecp()

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.

◆ eval_semi_local_ecp()

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.

◆ eval_SO_ecp()

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.

◆ mpi_ecp_bcast()

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.

◆ read_ecp()

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.

◆ read_ecp_nml()

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.

◆ write_ecp()

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.

Member Data Documentation

◆ c

real(kind=cfp), dimension(:,:), allocatable common_obj_gbl::ecp_obj::c

COEFFICIENTS OF THE SEMI-LOCAL TERMS. Dimension (1:max(nl),0:lmax-1)

◆ cloc

real(kind=cfp), dimension(:), allocatable common_obj_gbl::ecp_obj::cloc

COEFFICIENTS OF THE LOCAL TERMS. Intended dimension (1:nlmax).

◆ cso

real(kind=cfp), dimension(:,:), allocatable common_obj_gbl::ecp_obj::cso

COEFFICIENTS OF THE SO TERMS. Dimension (1:max(nlp),1:lmaxp)

◆ g

real(kind=cfp), dimension(:,:), allocatable common_obj_gbl::ecp_obj::g

◆ gloc

real(kind=cfp), dimension(:), allocatable common_obj_gbl::ecp_obj::gloc

◆ gso

real(kind=cfp), dimension(:,:), allocatable common_obj_gbl::ecp_obj::gso

◆ have_ecp

logical common_obj_gbl::ecp_obj::have_ecp = .false.

◆ have_semi_local_ecp

logical common_obj_gbl::ecp_obj::have_semi_local_ecp = .false.

◆ have_so_ecp

logical common_obj_gbl::ecp_obj::have_so_ecp = .false.

◆ lmax

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}

◆ lmaxp

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}

◆ m

integer, dimension(:,:), allocatable common_obj_gbl::ecp_obj::m

◆ mloc

integer, dimension(:), allocatable common_obj_gbl::ecp_obj::mloc

◆ mso

integer, dimension(:,:), allocatable common_obj_gbl::ecp_obj::mso

◆ n_core

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.

◆ nl

integer, dimension(:), allocatable common_obj_gbl::ecp_obj::nl

n_{l} for the semi-local terms. Intended dimension (0:lmax-1).

◆ nlmax

integer common_obj_gbl::ecp_obj::nlmax = 0

n_{lmax} for the local term.

◆ nlp

integer, dimension(:), allocatable common_obj_gbl::ecp_obj::nlp

n_{l}^{'} for the SO terms. Intended dimension (1:lmaxp).

◆ nuc

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.


The documentation for this type was generated from the following file: