(git:f2099e5)
Loading...
Searching...
No Matches
qs_ot_types.F File Reference

Go to the source code of this file.

Data Types

type  qs_ot_types::qs_ot_settings_type
 notice, this variable needs to be copyable, needed for spins as e.g. in qs_ot_scf More...
type  qs_ot_types::qs_ot_physical_secant_type
 bounded physical endpoint history for one spin density at one K point More...
type  qs_ot_types::qs_ot_type

Modules

module  qs_ot_types
 orbital transformations

Functions/Subroutines

subroutine, public qs_ot_types::qs_ot_settings_init (settings)
 sets default values for the settings type
subroutine, public qs_ot_types::qs_ot_set_context (qs_ot_env, spin_index, kpoint_index, local_kpoint_index, kpoint_weight)
 label an OT environment by spin and optional irreducible k-point context
integer function, public qs_ot_types::qs_ot_number_of_channels (nspin, nkpoint, restricted)
 number of OT optimization channels for spin and k-point resolved state
pure elemental logical function, public qs_ot_types::qs_ot_kpoint_preconditioner_supported (preconditioner_type, use_real_wfn)
 Return whether a preconditioner is implemented for complex k-point OT.
pure elemental logical function, public qs_ot_types::qs_ot_kpoint_preconditioner_solver_supported (preconditioner_type, solver_type, use_real_wfn)
 Return whether a solver is implemented for a complex k-point OT preconditioner.
pure elemental real(kind=dp) function, public qs_ot_types::qs_ot_kpoint_preconditioner_scale (kpoint_weight)
 Scale an inverse k-point Hessian block consistently with its irreducible weight.
integer function, public qs_ot_types::qs_ot_channel_index (ispin, ikpoint, nspin)
 flat OT channel index for a spin/k-point pair
subroutine, public qs_ot_types::qs_ot_check_channel_context (qs_ot_env, nspin, nkpoint, restricted, require_kpoint, kp_range, wkp, require_local_state, require_complex_state)
 validate the flat OT channel identity for spin and optional irreducible k-points
subroutine, public qs_ot_types::qs_ot_init (qs_ot_env)
 init matrices, needs c0 and sc0 so that c0*sc0=1
subroutine, public qs_ot_types::qs_ot_allocate (qs_ot_env, matrix_s, fm_struct_ref, ortho_k, energy_dimension)
 allocates the data in qs_ot_env, for a calculation with fm_struct_ref ortho_k allows for specifying an additional orthogonal subspace (i.e. c will be kept orthogonal provided c0 was, used in qs_ot_eigensolver)
subroutine, public qs_ot_types::qs_ot_allocate_complex_state (qs_ot_env, matrix_s)
 ...
subroutine, public qs_ot_types::qs_ot_destroy (qs_ot_env)
 deallocates data
subroutine, public qs_ot_types::ot_readwrite_input (settings, ot_section, output_unit, complex_kpoints, eigensolver)
 ...