Documentation for module hirshfeld_types

The types needed for the calculation of Hirshfeld charges and related functions

source: hirshfeld_types.F
Loading...

public Types:

hirshfeld_type
quantities needed for a Hirshfeld based partitioning of real space

public Subroutines/Functions:

...
Get information from a Hirshfeld env
...
Set values of a Hirshfeld env

public Types:

TYPE :: hirshfeld_type

quantities needed for a Hirshfeld based partitioning of real space


LOGICAL
:: iterative ...
LOGICAL
:: use_bohr ...
INTEGER
:: shape_function_type ...
INTEGER
:: ref_charge ...
INTEGER
:: radius_type ...
TYPE(shape_fn),
DIMENSION(:), POINTER :: kind_shape_fn ...
REAL(dp),
DIMENSION(:), POINTER :: charges ...
TYPE(pw_p_type),
POINTER :: fnorm ...

SUBROUTINEcreate_hirshfeld_type(hirshfeld_env)

...

Arguments:
POINTER
:: hirshfeld_env ...

SUBROUTINEget_hirshfeld_info(hirshfeld_env, shape_function_type, iterative, ref_charge, fnorm, radius_type, use_bohr)

Get information from a Hirshfeld env

Arguments:
POINTER
:: hirshfeld_env the env that holds the information
INTEGER,
INTENT(out),
OPTIONAL
:: shape_function_type the type of shape function used
LOGICAL,
INTENT(out),
OPTIONAL
:: iterative logical which determins if iterative Hirshfeld charges should be computed
INTEGER,
INTENT(out),
OPTIONAL
:: ref_charge the reference charge type (core charge or mulliken)
TYPE(pw_p_type),
OPTIONAL, POINTER
:: fnorm normalization of the shape function
INTEGER,
INTENT(out),
OPTIONAL
:: radius_type the type of radius used for building the shape functions
LOGICAL,
INTENT(out),
OPTIONAL
:: use_bohr logical which determines if angstrom or bohr units are used to build the shape functions

SUBROUTINErelease_hirshfeld_type(hirshfeld_env)

...

Arguments:
POINTER
:: hirshfeld_env ...

SUBROUTINEset_hirshfeld_info(hirshfeld_env, shape_function_type, iterative, ref_charge, fnorm, radius_type, use_bohr)

Set values of a Hirshfeld env

Arguments:
POINTER
:: hirshfeld_env the env that holds the information
INTEGER,
INTENT(in),
OPTIONAL
:: shape_function_type the type of shape function used
LOGICAL,
INTENT(in),
OPTIONAL
:: iterative logical which determins if iterative Hirshfeld charges should be computed
INTEGER,
INTENT(in),
OPTIONAL
:: ref_charge the reference charge type (core charge or mulliken)
TYPE(pw_p_type),
OPTIONAL, POINTER
:: fnorm normalization of the shape function
INTEGER,
INTENT(in),
OPTIONAL
:: radius_type the type of radius used for building the shape functions
LOGICAL,
INTENT(in),
OPTIONAL
:: use_bohr logical which determines if angstrom or bohr units are used to build the shape functions

private Parameters/Types:

private Types:

TYPE :: shape_fn

...


INTEGER
:: numexp ...
REAL(dp),
DIMENSION(:), POINTER :: zet ...
REAL(dp),
DIMENSION(:), POINTER :: coef ...