Documentation for module lri_environment_types

contains the types and subroutines for dealing with the lri_env lri : local resolution of the identity

source: lri_environment_types.F
Loading...

public Types:

lri_force_type
...
lri_int_type
...
lri_rhoab_type
...
lri_int_rho_type
...
lri_kind_type
...
lri_density_type
...
lri_environment_type
...
lri_list_type
...

public Subroutines/Functions:

creates and initializes lri_coefs
creates and initializes lri_force
allocate lri_ints, matrices that store LRI integrals
allocate lri_ints_rho, storing integral for the exact density
creates and initializes lri_rhos
deallocates one-center overlap integrals, integral of ri basis and scon matrices
releases the given lri_force_type
deallocates the given lri_ints
deallocates the given lri_ints_rho
creates and initializes an lri_density environment
releases the given lri_density
SUBROUTINE
lri_env_create (lri_env)
creates and initializes an lri_env
releases the given lri_env

public Types:

TYPE :: lri_density_type

...


INTEGER
:: id_nr ...
INTEGER
:: ref_count ...
INTEGER
:: in_use ...
INTEGER
:: nspin ...
DIMENSION(:), POINTER :: lri_rhos ...
DIMENSION(:), POINTER :: lri_coefs ...
POINTER :: lri_force ...

TYPE :: lri_environment_type

...


INTEGER
:: id_nr ...
INTEGER
:: ref_count ...
INTEGER
:: in_use ...
INTEGER
:: lri_overlap_inv ...
LOGICAL
:: debug ...
LOGICAL
:: use_shg_integrals ...
REAL(dp)
:: cond_max ...
REAL(dp)
:: delta ...
DIMENSION(:), POINTER :: orb_basis ...
DIMENSION(:), POINTER :: ri_basis ...
DIMENSION(:), POINTER :: soo_list ...
DIMENSION(:), POINTER :: saa_list ...
DIMENSION(:), POINTER :: soa_list ...
POINTER :: lri_ints ...
POINTER :: lri_ints_rho ...
DIMENSION(:), POINTER :: bas_prop ...
POINTER :: cg_shg ...
DIMENSION(:), POINTER :: ob_smat ...
DIMENSION(:), POINTER :: ri_smat ...
DIMENSION(:), POINTER :: ri_sinv ...
POINTER :: ri_fit ...
CHARACTER(10)
:: ri_sinv_app ...
POINTER :: o3c ...

TYPE :: lri_force_type

...


REAL(dp),
DIMENSION(:), POINTER :: st ...
REAL(dp),
DIMENSION(:,:), POINTER :: dssn ...
REAL(dp),
DIMENSION(:,:), POINTER :: sdssn ...
REAL(dp),
DIMENSION(:,:), POINTER :: dsst ...
REAL(dp),
DIMENSION(:,:), POINTER :: sdsst ...
REAL(dp),
DIMENSION(:,:), POINTER :: sdt ...
REAL(dp),
DIMENSION(:,:), POINTER :: dtvec ...
REAL(dp),
DIMENSION(:,:), POINTER :: davec ...

TYPE :: lri_int_rho_type

...


REAL(dp),
DIMENSION(:,:,:,:), POINTER :: soaabb ...
REAL(dp)
:: dmax_aabb ...

TYPE :: lri_int_type

...


LOGICAL
:: calc_force_pair ...
INTEGER
:: nba ...
INTEGER
:: nbb ...
INTEGER
:: nfa ...
INTEGER
:: nfb ...
REAL(dp)
:: cond_num ...
REAL(dp),
DIMENSION(:,:,:), POINTER :: abaint ...
REAL(dp),
DIMENSION(:,:,:), POINTER :: abbint ...
REAL(dp),
DIMENSION(:,:,:,:), POINTER :: dabdaint ...
REAL(dp),
DIMENSION(:,:,:,:), POINTER :: dabbint ...
REAL(dp),
DIMENSION(:,:), POINTER :: soo ...
REAL(dp),
DIMENSION(:,:,:), POINTER :: dsoo ...
REAL(dp),
DIMENSION(:,:), POINTER :: sab ...
REAL(dp),
DIMENSION(:,:,:), POINTER :: dsab ...
REAL(dp),
DIMENSION(:,:,:), POINTER :: dacoef ...
REAL(dp),
DIMENSION(:,:), POINTER :: sinv ...
REAL(dp),
DIMENSION(:), POINTER :: n ...
REAL(dp),
DIMENSION(:), POINTER :: sn ...
REAL(dp)
:: nsn ...
REAL(dp)
:: dmax_ab ...
REAL(dp)
:: dmax_oo ...
REAL(dp)
:: dmax_aba ...
REAL(dp)
:: dmax_abb ...

TYPE :: lri_kind_type

...


REAL(dp),
DIMENSION(:,:), POINTER :: acoef ...
REAL(dp),
DIMENSION(:,:), POINTER :: v_int ...
REAL(dp),
DIMENSION(:,:), POINTER :: v_dadr ...
REAL(dp),
DIMENSION(:,:), POINTER :: v_dfdr ...

TYPE :: lri_list_type

...


INTEGER
:: nkind ...
DIMENSION(:), POINTER :: lri_atom ...

TYPE :: lri_rhoab_type

...


INTEGER
:: nba ...
INTEGER
:: nbb ...
INTEGER
:: nfa ...
INTEGER
:: nfb ...
REAL(dp),
DIMENSION(:), POINTER :: avec ...
REAL(dp),
DIMENSION(:), POINTER :: tvec ...
REAL(dp)
:: nst ...
REAL(dp)
:: lambda ...
REAL(dp)
:: charge ...

SUBROUTINEallocate_lri_coefs(lri_env, lri_density, atomic_kind_set)

creates and initializes lri_coefs

Arguments:
POINTER
:: lri_env ...
POINTER
:: lri_density ...
POINTER
:: atomic_kind_set(:) ...

SUBROUTINEallocate_lri_force_components(lri_force, nfa, nfb)

creates and initializes lri_force

Arguments:
POINTER
:: lri_force ...
INTEGER,
INTENT(in)
:: nfa and nfb number of fit functions on a/b
INTEGER,
INTENT(in)
:: nfb ...

SUBROUTINEallocate_lri_ints(lri_env, lri_ints, nkind)

allocate lri_ints, matrices that store LRI integrals

Arguments:
POINTER
:: lri_env ...
POINTER
:: lri_ints structure storing the LRI integrals
INTEGER,
INTENT(in)
:: nkind number of atom kinds

SUBROUTINEallocate_lri_ints_rho(lri_env, lri_ints_rho, nkind)

allocate lri_ints_rho, storing integral for the exact density

Arguments:
POINTER
:: lri_env ...
POINTER
:: lri_ints_rho structure storing the integrals (aa,bb)
INTEGER,
INTENT(in)
:: nkind number of atom kinds

SUBROUTINEallocate_lri_rhos(lri_env, lri_rhos, nspin, nkind)

creates and initializes lri_rhos

Arguments:
POINTER
:: lri_env ...
POINTER
:: lri_rhos(:) structure storing tvec and avec
INTEGER,
INTENT(in)
:: nspin ...
INTEGER,
INTENT(in)
:: nkind number of atom kinds

SUBROUTINEdeallocate_bas_properties(lri_env)

deallocates one-center overlap integrals, integral of ri basis and scon matrices

Arguments:
POINTER
:: lri_env ...

SUBROUTINEdeallocate_lri_force_components(lri_force)

releases the given lri_force_type

Arguments:
POINTER
:: lri_force the integral storage environment that is released

SUBROUTINEdeallocate_lri_ints(lri_ints)

deallocates the given lri_ints

Arguments:
POINTER
:: lri_ints ...

SUBROUTINEdeallocate_lri_ints_rho(lri_ints_rho)

deallocates the given lri_ints_rho

Arguments:
POINTER
:: lri_ints_rho ...

SUBROUTINElri_density_create(lri_density)

creates and initializes an lri_density environment

Arguments:
POINTER
:: lri_density the lri_density environment you want to create

SUBROUTINElri_density_release(lri_density)

releases the given lri_density

Arguments:
POINTER
:: lri_density the lri_density to release

SUBROUTINElri_env_create(lri_env)

creates and initializes an lri_env

Arguments:
POINTER
:: lri_env the lri_environment you want to create

SUBROUTINElri_env_release(lri_env)

releases the given lri_env

Arguments:
POINTER
:: lri_env the lri environment to release

private Parameters/Types:

private Types:

TYPE :: lri_atom_type

...


INTEGER
:: natom ...
DIMENSION(:), POINTER :: lri_node ...

TYPE :: lri_bas_type

...


INTEGER,
DIMENSION(:,:,:), POINTER :: orb_index ...
INTEGER,
DIMENSION(:,:,:), POINTER :: ri_index ...
REAL(dp),
DIMENSION(:), POINTER :: int_fbas ...
REAL(dp),
DIMENSION(:,:), POINTER :: ri_ovlp ...
REAL(dp),
DIMENSION(:,:), POINTER :: ri_ovlp_inv ...
REAL(dp),
DIMENSION(:,:), POINTER :: orb_ovlp ...
REAL(dp),
DIMENSION(:,:,:), POINTER :: ovlp3 ...
REAL(dp),
DIMENSION(:,:,:), POINTER :: scon_ri ...
REAL(dp),
DIMENSION(:,:,:), POINTER :: scon_orb ...
REAL(dp),
DIMENSION(:,:,:,:), POINTER :: scon_mix ...

TYPE :: lri_clebsch_gordon_type

...


REAL(dp),
DIMENSION(:,:,:), POINTER :: cg_coeff ...
INTEGER,
DIMENSION(:,:,:), POINTER :: cg_none0_list ...
INTEGER,
DIMENSION(:,:), POINTER :: ncg_none0 ...

TYPE :: lri_list_p_type

...


POINTER :: lri_list ...

TYPE :: lri_node_type

...


INTEGER
:: nnode ...
DIMENSION(:), POINTER :: lri_int ...
DIMENSION(:), POINTER :: lri_int_rho ...
DIMENSION(:), POINTER :: lri_rhoab ...

TYPE :: lri_spin_type

...


DIMENSION(:), POINTER :: lri_kinds ...

TYPE :: ri_fit_type

...


INTEGER,
DIMENSION(:,:), POINTER :: bas_ptr ...
REAL(dp),
DIMENSION(:), POINTER :: nvec ...
REAL(dp),
DIMENSION(:), POINTER :: rm1n ...
REAL(dp),
DIMENSION(:,:), POINTER :: tvec ...
REAL(dp),
DIMENSION(:,:), POINTER :: rm1t ...
REAL(dp),
DIMENSION(:,:), POINTER :: avec ...
REAL(dp),
DIMENSION(:,:), POINTER :: fout ...
REAL(dp)
:: ntrm1n ...
REAL(dp),
DIMENSION(2) :: ftrm1n ...
REAL(dp),
DIMENSION(2) :: echarge ...
REAL(dp),
DIMENSION(2) :: lambda ...