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

orbital transformations More...

Data Types

type  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_physical_secant_type
 bounded physical endpoint history for one spin density at one K point More...
type  qs_ot_type

Functions/Subroutines

subroutine, public qs_ot_settings_init (settings)
 sets default values for the settings type
subroutine, public 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_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_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_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_kpoint_preconditioner_scale (kpoint_weight)
 Scale an inverse k-point Hessian block consistently with its irreducible weight.
integer function, public qs_ot_channel_index (ispin, ikpoint, nspin)
 flat OT channel index for a spin/k-point pair
subroutine, public 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_init (qs_ot_env)
 init matrices, needs c0 and sc0 so that c0*sc0=1
subroutine, public 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_allocate_complex_state (qs_ot_env, matrix_s)
 ...
subroutine, public qs_ot_destroy (qs_ot_env)
 deallocates data
subroutine, public ot_readwrite_input (settings, ot_section, output_unit, complex_kpoints, eigensolver)
 ...

Detailed Description

orbital transformations

History
Added Taylor expansion based computation of the matrix functions (01.2004) added additional rotation variables for non-equivalent occupied orbs (08.2004)
Author
Joost VandeVondele (06.2002)

Function/Subroutine Documentation

◆ qs_ot_settings_init()

subroutine, public qs_ot_types::qs_ot_settings_init ( type(qs_ot_settings_type) settings)

sets default values for the settings type

Parameters
settings...
History
10.2004 created [Joost VandeVondele]

Definition at line 308 of file qs_ot_types.F.

Here is the caller graph for this function:

◆ qs_ot_set_context()

subroutine, public qs_ot_types::qs_ot_set_context ( type(qs_ot_type) qs_ot_env,
integer, intent(in), optional spin_index,
integer, intent(in), optional kpoint_index,
integer, intent(in), optional local_kpoint_index,
real(kind=dp), intent(in), optional kpoint_weight )

label an OT environment by spin and optional irreducible k-point context

Parameters
qs_ot_env...
spin_index...
kpoint_index...
local_kpoint_index...
kpoint_weight...

Definition at line 361 of file qs_ot_types.F.

Here is the caller graph for this function:

◆ qs_ot_number_of_channels()

integer function, public qs_ot_types::qs_ot_number_of_channels ( integer, intent(in) nspin,
integer, intent(in), optional nkpoint,
logical, intent(in), optional restricted )

number of OT optimization channels for spin and k-point resolved state

Parameters
nspin...
nkpoint...
restricted...
Returns
...

Definition at line 382 of file qs_ot_types.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ qs_ot_kpoint_preconditioner_supported()

pure elemental logical function, public qs_ot_types::qs_ot_kpoint_preconditioner_supported ( integer, intent(in) preconditioner_type,
logical, intent(in) use_real_wfn )

Return whether a preconditioner is implemented for complex k-point OT.

Parameters
preconditioner_typeselected OT preconditioner
use_real_wfnwhether the k-point channel stores a real wavefunction
Returns
...

Definition at line 408 of file qs_ot_types.F.

Here is the caller graph for this function:

◆ qs_ot_kpoint_preconditioner_solver_supported()

pure elemental logical function, public qs_ot_types::qs_ot_kpoint_preconditioner_solver_supported ( integer, intent(in) preconditioner_type,
integer, intent(in) solver_type,
logical, intent(in) use_real_wfn )

Return whether a solver is implemented for a complex k-point OT preconditioner.

Parameters
preconditioner_typeselected OT preconditioner
solver_typeselected preconditioner solver
use_real_wfnwhether the k-point channel stores a real wavefunction
Returns
...

Definition at line 435 of file qs_ot_types.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ qs_ot_kpoint_preconditioner_scale()

pure elemental real(kind=dp) function, public qs_ot_types::qs_ot_kpoint_preconditioner_scale ( real(kind=dp), intent(in) kpoint_weight)

Scale an inverse k-point Hessian block consistently with its irreducible weight.

Parameters
kpoint_weightpositive irreducible k-point weight
Returns
...

Definition at line 462 of file qs_ot_types.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ qs_ot_channel_index()

integer function, public qs_ot_types::qs_ot_channel_index ( integer, intent(in) ispin,
integer, intent(in) ikpoint,
integer, intent(in) nspin )

flat OT channel index for a spin/k-point pair

Parameters
ispin...
ikpoint...
nspin...
Returns
...

Definition at line 476 of file qs_ot_types.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ qs_ot_check_channel_context()

subroutine, public qs_ot_types::qs_ot_check_channel_context ( type(qs_ot_type), dimension(:), intent(in) qs_ot_env,
integer, intent(in) nspin,
integer, intent(in), optional nkpoint,
logical, intent(in), optional restricted,
logical, intent(in), optional require_kpoint,
integer, dimension(2), intent(in), optional kp_range,
real(kind=dp), dimension(:), optional, pointer wkp,
logical, intent(in), optional require_local_state,
logical, intent(in), optional require_complex_state )

validate the flat OT channel identity for spin and optional irreducible k-points

Parameters
qs_ot_env...
nspin...
nkpoint...
restricted...
require_kpoint...
kp_range...
wkp...
require_local_state...
require_complex_state...

Definition at line 499 of file qs_ot_types.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ qs_ot_init()

subroutine, public qs_ot_types::qs_ot_init ( type(qs_ot_type) qs_ot_env)

init matrices, needs c0 and sc0 so that c0*sc0=1

Parameters
qs_ot_env...

Definition at line 582 of file qs_ot_types.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ qs_ot_allocate()

subroutine, public qs_ot_types::qs_ot_allocate ( type(qs_ot_type) qs_ot_env,
type(dbcsr_type), pointer matrix_s,
type(cp_fm_struct_type), pointer fm_struct_ref,
integer, optional ortho_k,
integer, optional 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)

Parameters
qs_ot_env...
matrix_s...
fm_struct_ref...
ortho_k...
energy_dimensionnumber of auxiliary energy variables, defaults to the orbital count

Definition at line 712 of file qs_ot_types.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ qs_ot_allocate_complex_state()

subroutine, public qs_ot_types::qs_ot_allocate_complex_state ( type(qs_ot_type) qs_ot_env,
type(dbcsr_type), pointer matrix_s )

...

Parameters
qs_ot_env...
matrix_s...

Definition at line 1152 of file qs_ot_types.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ qs_ot_destroy()

subroutine, public qs_ot_types::qs_ot_destroy ( type(qs_ot_type) qs_ot_env)

deallocates data

Parameters
qs_ot_env...

Definition at line 1358 of file qs_ot_types.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ot_readwrite_input()

subroutine, public qs_ot_types::ot_readwrite_input ( type(qs_ot_settings_type) settings,
type(section_vals_type), pointer ot_section,
integer, intent(in) output_unit,
logical, intent(in), optional complex_kpoints,
logical, intent(in), optional eigensolver )

...

Parameters
settings...
ot_section...
output_unit...
complex_kpointswhether defaults are for complex k-point OT
eigensolverwhether OT minimizes a fixed-H orbital subspace for DIAGONALIZATION

Definition at line 1595 of file qs_ot_types.F.

Here is the call graph for this function:
Here is the caller graph for this function: