Documentation for module qs_fb_env_types

...

source: qs_fb_env_types.F
Loading...

public Types:

fb_env_obj
the object container which allows for the creation of an array of pointers to fb_env

public Subroutines/Functions:

SUBROUTINE
fb_env_create (fb_env)
creates an empty fb_env object
method to get attributes from a given fb_env object
FUNCTION
LOGICAL
fb_env_has_data (fb_env)
Checks if a fb_env object is associated with an actual data content or not
SUBROUTINE
fb_env_nullify (fb_env)
nullifies a fb_env object, note that this does not release the original object. This procedure is used mainly to nullify the pointer inside the object which is used to point to the actual data content of the object.
SUBROUTINE
fb_env_release (fb_env)
releases a given fb_env
method to set attributes from a given fb_env object

public Types:

TYPE :: fb_env_obj

the object container which allows for the creation of an array of pointers to fb_env


POINTER, PRIVATE :: obj pointer to a filtered basis environment

SUBROUTINEfb_env_create(fb_env)

creates an empty fb_env object

Arguments:
TYPE(fb_env_obj),
INTENT(inout)
:: fb_env its content must be a NULL fb_env pointer on input, and the output returns an empty fb_env object

SUBROUTINEfb_env_get(fb_env, rcut, filter_temperature, auto_cutoff_scale, eps_default, atomic_halos, trial_fns, collective_com, local_atoms, nlocal_atoms)

method to get attributes from a given fb_env object

Arguments:
TYPE(fb_env_obj),
INTENT(in)
:: fb_env the fb_env object in question
REAL(dp),
OPTIONAL, POINTER
:: rcut(:) outputs pointer to rcut attribute of fb_env (optional)
REAL(dp),
INTENT(out),
OPTIONAL
:: filter_temperature outputs filter_temperature attribute of fb_env (optional)
REAL(dp),
INTENT(out),
OPTIONAL
:: auto_cutoff_scale outputs auto_cutoff_scale attribute of fb_env (optional)
REAL(dp),
INTENT(out),
OPTIONAL
:: eps_default outputs eps_default attribute of fb_env (optional)
INTENT(out),
OPTIONAL
:: atomic_halos outputs pointer to atomic_halos attribute of fb_env (optional)
INTENT(out),
OPTIONAL
:: trial_fns outputs pointer to trial_fns attribute of fb_env (optional)
LOGICAL,
INTENT(out),
OPTIONAL
:: collective_com outputs pointer to trial_fns
INTEGER,
OPTIONAL, POINTER
:: local_atoms(:) outputs pointer to local_atoms
INTEGER,
INTENT(out),
OPTIONAL
:: nlocal_atoms outputs pointer to nlocal_atoms

FUNCTIONfb_env_has_data(fb_env)

Checks if a fb_env object is associated with an actual data content or not

Return Value ::
LOGICAL
Arguments:
TYPE(fb_env_obj),
INTENT(in)
:: fb_env the fb_env object

SUBROUTINEfb_env_nullify(fb_env)

nullifies a fb_env object, note that this does not release the original object. This procedure is used mainly to nullify the pointer inside the object which is used to point to the actual data content of the object.

Arguments:
TYPE(fb_env_obj),
INTENT(inout)
:: fb_env its content must be a NULL fb_env pointer on input, and the output returns an empty fb_env object

SUBROUTINEfb_env_release(fb_env)

releases a given fb_env

Arguments:
TYPE(fb_env_obj),
INTENT(inout)
:: fb_env the fb_env to release

SUBROUTINEfb_env_set(fb_env, rcut, filter_temperature, auto_cutoff_scale, eps_default, atomic_halos, trial_fns, collective_com, local_atoms, nlocal_atoms)

method to set attributes from a given fb_env object

Arguments:
TYPE(fb_env_obj),
INTENT(inout)
:: fb_env the fb_env object in question
REAL(dp),
OPTIONAL, POINTER
:: rcut(:) sets rcut attribute of fb_env (optional)
REAL(dp),
INTENT(in),
OPTIONAL
:: filter_temperature sets filter_temperature attribute of fb_env (optional)
REAL(dp),
INTENT(in),
OPTIONAL
:: auto_cutoff_scale sets auto_cutoff_scale attribute of fb_env (optional)
REAL(dp),
INTENT(in),
OPTIONAL
:: eps_default sets eps_default attribute of fb_env (optional)
INTENT(in),
OPTIONAL
:: atomic_halos sets atomic_halos attribute of fb_env (optional)
INTENT(in),
OPTIONAL
:: trial_fns sets trial_fns attribute of fb_env (optional)
LOGICAL,
INTENT(in),
OPTIONAL
:: collective_com sets collective_com attribute of fb_env (optional)
INTEGER,
OPTIONAL, POINTER
:: local_atoms(:) sets local_atoms attribute of fb_env (optional)
INTEGER,
INTENT(in),
OPTIONAL
:: nlocal_atoms sets nlocal_atoms attribute of fb_env (optional)

private Parameters/Types:

private Types:

TYPE :: fb_env_data

wrapper to the simulation parameters used for filtered basis method


INTEGER
:: id_nr unique id of this object
INTEGER
:: ref_count reference counter of this object
REAL(dp),
DIMENSION(:), POINTER :: rcut cutoff for included filtered basis set centred at each atom. These defines the ranges of the atomic halos. rcut(ikind) gives the range for atom of global kind ikind
:: atomic_halos stores information on the neighbors of each atom ii, which are defined by rcut
:: trial_fns ...
REAL(dp)
:: filter_temperature parameter controlling the smoothness of the filter function during the construction of the filter matrix
REAL(dp)
:: auto_cutoff_scale scale multiplied to max atomic orbital radii used for automatic construction of rcut
REAL(dp)
:: eps_default anything less than it is regarded as zero
LOGICAL
:: collective_com whether the MPI communications are to be done collectively together at the start and end of each filter matrix calculation. This makes communication more efficient in the expense of larger memory usage
INTEGER,
DIMENSION(:), POINTER :: local_atoms atoms corresponding to the atomic halos responsible by this processor
INTEGER
:: nlocal_atoms ...