Documentation for module qs_wf_history_types

interpolate the wavefunctions to speed up the convergence when doing MD

source: qs_wf_history_types.F
Loading...

public Types:

qs_wf_snapshot_type
represent a past snapshot of the wavefunction. some elements might not be associated (to spare memory) depending on how the snapshot was taken
qs_wf_history_type
keeps track of the previous wavefunctions and can extrapolate them for the next step of md
qs_wf_history_p_type
to create arrays of pointers to qs_wf_history_type

public Subroutines/Functions:

returns a snapshot, the first being the latest snapshot
SUBROUTINE
wfi_release (wf_history)
releases a wf_history of a wavefunction (see doc/ReferenceCounting.html)
SUBROUTINE
wfi_retain (wf_history)
retains a wf history (see doc/ReferenceCounting.html)

public Types:

TYPE :: qs_wf_history_p_type

to create arrays of pointers to qs_wf_history_type


POINTER :: wf_history ...

TYPE :: qs_wf_history_type

keeps track of the previous wavefunctions and can extrapolate them for the next step of md


INTEGER
:: id_nr unique identification number
INTEGER
:: ref_count ...
INTEGER
:: memory_depth how many snapshots should be stored
INTEGER
:: last_state_index index of the latest snapshot
INTEGER
:: interpolation_method_nr the tag of the method used to extrapolate the new start state for qs
INTEGER
:: snapshot_count number of snapshot taken so far (cumulative, can be bigger than the history depth)
LOGICAL
:: store_wf ...
LOGICAL
:: store_rho_r ...
LOGICAL
:: store_rho_g ...
LOGICAL
:: store_rho_ao ...
LOGICAL
:: store_rho_ao_kp ...
LOGICAL
:: store_overlap ...
LOGICAL
:: store_frozen_density ...
DIMENSION(:), POINTER :: past_states array with the past states (index starts at last_state_index)

TYPE :: qs_wf_snapshot_type

represent a past snapshot of the wavefunction. some elements might not be associated (to spare memory) depending on how the snapshot was taken


DIMENSION(:), POINTER :: wf the wavefunctions
TYPE(pw_p_type),
DIMENSION(:), POINTER :: rho_r the density in r space
TYPE(pw_p_type),
DIMENSION(:), POINTER :: rho_g the density in g space
DIMENSION(:), POINTER :: rho_ao the density in ao space
DIMENSION(:,:), POINTER :: rho_ao_kp ...
TYPE(dbcsr_type),
POINTER :: overlap the overlap matrix
POINTER :: rho_frozen the frozen density structure
REAL(dp)
:: dt the time of the snapshot (wrf to te previous snapshot!)
INTEGER
:: id_nr unique identification number
INTEGER
:: ref_count reference count (see doc/ReferenceCounting.html)

FUNCTIONwfi_get_snapshot(wf_history, index)

returns a snapshot, the first being the latest snapshot

Return Value ::
Arguments:
POINTER
:: wf_history the plage where to get the snapshot
INTEGER,
INTENT(in)
:: index the index of the snapshot you want

SUBROUTINEwfi_release(wf_history)

releases a wf_history of a wavefunction (see doc/ReferenceCounting.html)

Arguments:
POINTER
:: wf_history the wf_history to release

SUBROUTINEwfi_retain(wf_history)

retains a wf history (see doc/ReferenceCounting.html)

Arguments:
POINTER
:: wf_history the wf_history to retain

private Parameters/Types:

private Types:

TYPE :: qs_wf_snapshot_p_type

pointer to a snapshot


POINTER :: snapshot the pointer to the snapshot