Documentation for module semi_empirical_types

Definition of the semi empirical parameter types.

source: semi_empirical_types.F
Loading...

public Types:

rotmat_type
Rotation Matrix Type
semi_empirical_p_type
...
semi_empirical_type
Semi-empirical type
se_taper_type
Taper type use in semi-empirical calculations
se_int_control_type
...
se_int_screen_type
Store the value of the tapering function and possibly its derivative for screened integrals

public Subroutines/Functions:

Get info from the semi-empirical type
SUBROUTINE
rotmat_create (rotmat)
Creates rotmat type
SUBROUTINE
rotmat_release (rotmat)
Releases rotmat type
Allocate semi-empirical type
Deallocate the semi-empirical type
Setup the Semiempirical integral control type
Creates the taper type used in SE calculations
Releases the taper type used in SE calculations
Writes the semi-empirical type

public Types:

TYPE :: rotmat_type

Rotation Matrix Type


REAL(dp),
DIMENSION(3,3) :: sp ...
REAL(dp),
DIMENSION(5,5) :: sd ...
REAL(dp),
DIMENSION(6,3,3) :: pp ...
REAL(dp),
DIMENSION(15,5,3) :: pd ...
REAL(dp),
DIMENSION(15,5,5) :: dd ...
REAL(dp),
DIMENSION(3,3,3) :: sp_d ...
REAL(dp),
DIMENSION(3,5,5) :: sd_d ...
REAL(dp),
DIMENSION(3,6,3,3) :: pp_d ...
REAL(dp),
DIMENSION(3,15,5,3) :: pd_d ...
REAL(dp),
DIMENSION(3,15,5,5) :: dd_d ...

TYPE :: semi_empirical_p_type

...


POINTER :: se_param ...

TYPE :: semi_empirical_type

Semi-empirical type


INTEGER
:: typ ...
INTEGER
:: nr ...
INTEGER
:: core_size ...
INTEGER
:: atm_int_size ...
:: name ...
LOGICAL
:: defined ...
LOGICAL
:: dorb ...
LOGICAL
:: extended_basis_set ...
LOGICAL
:: p_orbitals_on_h ...
INTEGER
:: z ...
REAL(dp)
:: zeff ...
INTEGER
:: natorb ...
REAL(dp),
DIMENSION(:), POINTER :: beta ...
REAL(dp),
DIMENSION(:), POINTER :: sto_exponents ...
REAL(dp),
DIMENSION(:), POINTER :: zn ...
POINTER :: basis ...
INTEGER
:: ngauss ...
REAL(dp)
:: eheat ...
REAL(dp)
:: uss ...
REAL(dp)
:: upp ...
REAL(dp)
:: udd ...
REAL(dp)
:: uff ...
REAL(dp)
:: alp ...
REAL(dp)
:: eisol ...
REAL(dp)
:: ass ...
REAL(dp)
:: asp ...
REAL(dp)
:: app ...
REAL(dp)
:: de ...
REAL(dp)
:: acoul ...
REAL(dp)
:: gss ...
REAL(dp)
:: gsp ...
REAL(dp)
:: gpp ...
REAL(dp)
:: gp2 ...
REAL(dp)
:: gsd ...
REAL(dp)
:: gpd ...
REAL(dp)
:: gdd ...
REAL(dp)
:: hsp ...
REAL(dp)
:: dd ...
REAL(dp)
:: qq ...
REAL(dp)
:: am ...
REAL(dp)
:: ad ...
REAL(dp)
:: aq ...
REAL(dp),
DIMENSION(2) :: pre ...
REAL(dp),
DIMENSION(2) :: d ...
REAL(dp),
DIMENSION(4) :: fn1 ...
REAL(dp),
DIMENSION(4) :: fn2 ...
REAL(dp),
DIMENSION(4) :: fn3 ...
REAL(dp),
DIMENSION(4,4) :: bfn1 ...
REAL(dp),
DIMENSION(4,4) :: bfn2 ...
REAL(dp),
DIMENSION(4,4) :: bfn3 ...
REAL(dp)
:: f0dd ...
REAL(dp)
:: f2dd ...
REAL(dp)
:: f4dd ...
REAL(dp)
:: f0sd ...
REAL(dp)
:: f0pd ...
REAL(dp)
:: f2pd ...
REAL(dp)
:: g1pd ...
REAL(dp)
:: g2sd ...
REAL(dp)
:: g3pd ...
REAL(dp),
DIMENSION(9) :: ko ...
REAL(dp),
DIMENSION(6) :: cs ...
REAL(dp),
DIMENSION(52) :: onec2el ...
REAL(dp),
DIMENSION(0:115) :: xab ...
REAL(dp),
DIMENSION(0:115) :: aab ...
REAL(dp)
:: a ...
REAL(dp)
:: b ...
REAL(dp)
:: c ...
REAL(dp)
:: rho ...
REAL(dp),
DIMENSION(:,:), POINTER :: w ...
POINTER, DIMENSION(:) :: w_mpole ...
POINTER, DIMENSION(:) :: expns3_int ...

TYPE :: se_int_control_type

...


LOGICAL
:: shortrange ...
LOGICAL
:: do_ewald_r3 ...
LOGICAL
:: do_ewald_gks ...
LOGICAL
:: pc_coulomb_int ...
INTEGER
:: integral_screening ...
INTEGER
:: max_multipole ...
:: ewald_gks ...

TYPE :: se_int_screen_type

Store the value of the tapering function and possibly its derivative for screened integrals


REAL(dp)
:: ft ...
REAL(dp)
:: dft ...

TYPE :: se_taper_type

Taper type use in semi-empirical calculations


TYPE(taper_type),
POINTER :: taper ...
TYPE(taper_type),
POINTER :: taper_cou ...
TYPE(taper_type),
POINTER :: taper_exc ...
TYPE(taper_type),
POINTER :: taper_lrc ...
TYPE(taper_type),
POINTER :: taper_add ...

SUBROUTINEget_se_param(sep, name, typ, defined, z, zeff, natorb, eheat, beta, sto_exponents, uss, upp, udd, uff, alp, eisol, gss, gsp, gpp, gp2, acoul, nr, de, ass, asp, app, hsp, gsd, gpd, gdd, ppddg, dpddg, ngauss)

Get info from the semi-empirical type

Arguments:
POINTER
:: sep ...
INTENT(out),
OPTIONAL
:: name ...
INTEGER,
INTENT(out),
OPTIONAL
:: typ ...
LOGICAL,
INTENT(out),
OPTIONAL
:: defined ...
INTEGER,
INTENT(out),
OPTIONAL
:: z ...
REAL(dp),
INTENT(out),
OPTIONAL
:: zeff ...
INTEGER,
INTENT(out),
OPTIONAL
:: natorb ...
REAL(dp),
OPTIONAL
:: eheat ...
REAL(dp),
OPTIONAL, POINTER
:: beta(:) ...
REAL(dp),
OPTIONAL, POINTER
:: sto_exponents(:) ...
REAL(dp),
OPTIONAL
:: uss ...
REAL(dp),
OPTIONAL
:: upp ...
REAL(dp),
OPTIONAL
:: udd ...
REAL(dp),
OPTIONAL
:: uff ...
REAL(dp),
OPTIONAL
:: alp ...
REAL(dp),
OPTIONAL
:: eisol ...
REAL(dp),
OPTIONAL
:: gss ...
REAL(dp),
OPTIONAL
:: gsp ...
REAL(dp),
OPTIONAL
:: gpp ...
REAL(dp),
OPTIONAL
:: gp2 ...
REAL(dp),
OPTIONAL
:: acoul ...
INTEGER,
INTENT(out),
OPTIONAL
:: nr ...
REAL(dp),
OPTIONAL
:: de ...
REAL(dp),
OPTIONAL
:: ass ...
REAL(dp),
OPTIONAL
:: asp ...
REAL(dp),
OPTIONAL
:: app ...
REAL(dp),
OPTIONAL
:: hsp ...
REAL(dp),
OPTIONAL
:: gsd ...
REAL(dp),
OPTIONAL
:: gpd ...
REAL(dp),
OPTIONAL
:: gdd ...
REAL(dp),
OPTIONAL
:: ppddg(2) ...
REAL(dp),
OPTIONAL
:: dpddg(2) ...
INTEGER,
INTENT(out),
OPTIONAL
:: ngauss ...

SUBROUTINErotmat_create(rotmat)

Creates rotmat type

Arguments:
POINTER
:: rotmat ...

SUBROUTINErotmat_release(rotmat)

Releases rotmat type

Arguments:
POINTER
:: rotmat ...

SUBROUTINEsemi_empirical_create(sep)

Allocate semi-empirical type

Arguments:
POINTER
:: sep ...

SUBROUTINEsemi_empirical_release(sep)

Deallocate the semi-empirical type

Arguments:
POINTER
:: sep ...

SUBROUTINEsetup_se_int_control_type(se_int_control, shortrange, do_ewald_r3, do_ewald_gks, integral_screening, max_multipole, pc_coulomb_int)

Setup the Semiempirical integral control type

Arguments:
:: se_int_control ...
LOGICAL,
INTENT(in)
:: shortrange ...
LOGICAL,
INTENT(in)
:: do_ewald_r3 ...
LOGICAL,
INTENT(in)
:: do_ewald_gks ...
INTEGER,
INTENT(in)
:: integral_screening ...
INTEGER,
INTENT(in)
:: max_multipole ...
LOGICAL,
INTENT(in)
:: pc_coulomb_int ...

SUBROUTINEse_taper_create(se_taper, integral_screening, do_ewald, taper_cou, range_cou, taper_exc, range_exc, taper_scr, range_scr, taper_lrc, range_lrc)

Creates the taper type used in SE calculations

Arguments:
POINTER
:: se_taper ...
INTEGER,
INTENT(in)
:: integral_screening ...
LOGICAL,
INTENT(in)
:: do_ewald ...
REAL(dp),
INTENT(in)
:: taper_cou ...
REAL(dp),
INTENT(in)
:: range_cou ...
REAL(dp),
INTENT(in)
:: taper_exc ...
REAL(dp),
INTENT(in)
:: range_exc ...
REAL(dp),
INTENT(in)
:: taper_scr ...
REAL(dp),
INTENT(in)
:: range_scr ...
REAL(dp),
INTENT(in)
:: taper_lrc ...
REAL(dp),
INTENT(in)
:: range_lrc ...

SUBROUTINEse_taper_release(se_taper)

Releases the taper type used in SE calculations

Arguments:
POINTER
:: se_taper ...

SUBROUTINEwrite_se_param(sep, subsys_section)

Writes the semi-empirical type

Arguments:
POINTER
:: sep ...
POINTER
:: subsys_section ...

private Parameters/Types:

private Types:

TYPE :: ewald_gks_type

Ewald control type (for periodic SE)


REAL(dp)
:: alpha ...
TYPE(dg_type),
POINTER :: dg ...
POINTER :: pw_pool ...