Documentation for module qs_cdft_types

Defines CDFT control structures

source: qs_cdft_types.F
Loading...

public Types:

becke_constraint_type
...
becke_group_type
some parameters useful for becke_constraints
cdft_control_type
...

public Subroutines/Functions:

create the becke_constraint_type
release the becke_constraint_type
create the cdft_control_type
release the cdft_control_type

public Types:

TYPE :: becke_constraint_type

...


:: fragment_a_fname ...
:: fragment_b_fname ...
:: fragment_a_spin_fname ...
:: fragment_b_spin_fname ...
INTEGER
:: ref_count ...
INTEGER
:: natoms ...
INTEGER
:: cavity_shape ...
INTEGER
:: cutoff_type ...
INTEGER
:: confine_bounds ...
INTEGER,
POINTER, DIMENSION(:) :: atoms ...
LOGICAL
:: need_pot ...
LOGICAL
:: save_pot ...
LOGICAL
:: in_memory ...
LOGICAL
:: adjust ...
LOGICAL
:: atomic_charges ...
LOGICAL
:: cavity_confine ...
LOGICAL
:: should_skip ...
LOGICAL
:: print_cavity ...
LOGICAL
:: external_control ...
LOGICAL
:: first_iteration ...
LOGICAL
:: fragment_density ...
LOGICAL
:: fragments_integrated ...
LOGICAL
:: use_bohr ...
LOGICAL
:: transfer_pot ...
LOGICAL
:: flip_fragment ...
LOGICAL,
POINTER, DIMENSION(:) :: is_constraint ...
REAL(dp)
:: rglobal ...
REAL(dp)
:: rcavity ...
REAL(dp)
:: eps_cavity ...
REAL(dp),
DIMENSION(:), POINTER :: target ...
REAL(dp),
DIMENSION(:), POINTER :: strength ...
REAL(dp),
DIMENSION(:), POINTER :: becke_order_p ...
REAL(dp),
DIMENSION(:), POINTER :: cutoffs ...
REAL(dp),
DIMENSION(:), POINTER :: cutoffs_tmp ...
REAL(dp),
DIMENSION(:), POINTER :: radii_tmp ...
REAL(dp),
DIMENSION(:), POINTER :: radii ...
REAL(dp),
POINTER, DIMENSION(:,:) :: aij ...
REAL(dp),
POINTER, DIMENSION(:,:) :: charges_fragment ...
REAL(dp),
POINTER, DIMENSION(:,:,:) :: cavity_mat ...
POINTER, DIMENSION(:) :: group ...
:: vector_buffer ...
POINTER :: cavity_env ...
TYPE(pw_p_type)
:: cavity ...
TYPE(pw_p_type),
POINTER, DIMENSION(:) :: charge ...
TYPE(pw_p_type),
POINTER, DIMENSION(:,:) :: fragments ...

TYPE :: becke_group_type

some parameters useful for becke_constraints


INTEGER,
POINTER, DIMENSION(:) :: atoms list of constraint atoms
INTEGER
:: constraint_type ...
LOGICAL
:: is_fragment_constraint ...
REAL(dp),
ALLOCATABLE, DIMENSION(:,:) :: d_sum_const_dr ...
REAL(dp),
POINTER, DIMENSION(:) :: coeff ...
REAL(dp),
POINTER, DIMENSION(:,:) :: integrated ...
REAL(dp),
POINTER, DIMENSION(:,:,:,:) :: gradients ...
TYPE(pw_p_type)
:: weight ...

TYPE :: cdft_control_type

...


INTEGER
:: ref_count ...
INTEGER
:: total_steps ...
INTEGER
:: type ...
INTEGER
:: precond_freq ...
INTEGER
:: nreused ...
INTEGER
:: max_reuse ...
INTEGER
:: purge_freq ...
INTEGER
:: nbad_conv ...
INTEGER
:: purge_offset ...
INTEGER
:: istep ...
INTEGER
:: ienergy ...
INTEGER,
DIMENSION(:), ALLOCATABLE :: constraint_type ...
LOGICAL
:: need_pot ...
LOGICAL
:: save_pot ...
LOGICAL
:: do_et ...
LOGICAL
:: reuse_precond ...
LOGICAL
:: purge_history ...
LOGICAL
:: should_purge ...
LOGICAL
:: calculate_metric ...
LOGICAL,
DIMENSION(:), ALLOCATABLE :: is_fragment_constraint ...
REAL(dp),
DIMENSION(:), POINTER :: strength ...
REAL(dp),
DIMENSION(:), POINTER :: target ...
REAL(dp),
DIMENSION(:), POINTER :: value ...
ALLOCATABLE, DIMENSION(:) :: occupations ...
DIMENSION(:), POINTER :: mo_coeff ...
:: matrix_s ...
DIMENSION(:), POINTER :: wmat ...
DIMENSION(:), POINTER :: matrix_p ...
POINTER :: hirshfeld_control ...
:: constraint_control ...
:: ot_control ...
TYPE(pw_p_type)
:: weight ...
:: constraint ...

SUBROUTINEbecke_control_create(becke_control)

create the becke_constraint_type

Arguments:
POINTER
:: becke_control the structure to create

SUBROUTINEbecke_control_release(becke_control)

release the becke_constraint_type

Arguments:
POINTER
:: becke_control the structure to release

SUBROUTINEcdft_control_create(cdft_control)

create the cdft_control_type

Arguments:
POINTER
:: cdft_control the structure to create

SUBROUTINEcdft_control_release(cdft_control)

release the cdft_control_type

Arguments:
POINTER
:: cdft_control the structure to release

private Parameters/Types:

private Types:

TYPE :: becke_vector_buffer

...


LOGICAL
:: store_vectors ...
REAL(dp),
ALLOCATABLE, DIMENSION(:) :: distances ...
REAL(dp),
ALLOCATABLE, DIMENSION(:,:) :: distance_vecs ...
REAL(dp),
ALLOCATABLE, DIMENSION(:,:) :: position_vecs ...
REAL(dp),
ALLOCATABLE, DIMENSION(:,:) :: r12 ...
REAL(dp),
ALLOCATABLE, DIMENSION(:,:,:) :: pair_dist_vecs ...

TYPE :: hirshfeld_constraint_type

...


POINTER :: hirshfeld_env holds the information needed to build the Gaussian Hirshfeld weight
INTEGER
:: natoms the number of constraint atoms
INTEGER
:: constraint_type the constraint type to use
INTEGER,
POINTER, DIMENSION(:) :: atoms list of constraint atoms
REAL(dp),
POINTER, DIMENSION(:) :: coeff determines how to sum up the constraint atoms to form the value of the constraint

TYPE :: outer_scf_control_type

...


LOGICAL
:: have_scf ...
LOGICAL
:: build_jacobian ...
LOGICAL
:: broyden_update ...
LOGICAL
:: continue_ls ...
LOGICAL
:: jacobian_restart ...
INTEGER
:: max_scf ...
INTEGER
:: ijacobian ...
REAL(dp)
:: eps_scf ...
REAL(dp)
:: step_size ...
REAL(dp)
:: jacobian_step ...
REAL(dp)
:: newton_step ...
REAL(dp)
:: newton_step_save ...
REAL(dp)
:: factor_ls ...
REAL(dp),
DIMENSION(:), POINTER :: jacobian_vector ...
INTEGER
:: type ...
INTEGER
:: optimizer ...
INTEGER
:: diis_buffer_length ...
INTEGER
:: extrapolation_order ...
INTEGER
:: bisect_trust_count ...
INTEGER
:: jacobian_type ...
INTEGER
:: broyden_type ...
INTEGER
:: jacobian_freq ...
INTEGER
:: max_ls ...

TYPE :: qs_outer_scf_type

...


INTEGER
:: iter_count ...
LOGICAL
:: deallocate_jacobian ...
REAL(dp),
DIMENSION(:), POINTER :: energy ...
REAL(dp),
DIMENSION(:,:), POINTER :: variables ...
REAL(dp),
DIMENSION(:,:), POINTER :: gradient ...
REAL(dp),
DIMENSION(:,:), POINTER :: inv_jacobian ...
INTEGER,
DIMENSION(:), POINTER :: count ...