![]() |
(git:f2099e5)
|
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) |
| ... | |
orbital transformations
| subroutine, public qs_ot_types::qs_ot_settings_init | ( | type(qs_ot_settings_type) | settings | ) |
sets default values for the settings type
| settings | ... |
Definition at line 308 of file qs_ot_types.F.
| 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
| qs_ot_env | ... |
| spin_index | ... |
| kpoint_index | ... |
| local_kpoint_index | ... |
| kpoint_weight | ... |
Definition at line 361 of file qs_ot_types.F.
| 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
| nspin | ... |
| nkpoint | ... |
| restricted | ... |
Definition at line 382 of file qs_ot_types.F.
| 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.
| preconditioner_type | selected OT preconditioner |
| use_real_wfn | whether the k-point channel stores a real wavefunction |
Definition at line 408 of file qs_ot_types.F.
| 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.
| preconditioner_type | selected OT preconditioner |
| solver_type | selected preconditioner solver |
| use_real_wfn | whether the k-point channel stores a real wavefunction |
Definition at line 435 of file qs_ot_types.F.
| 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.
| kpoint_weight | positive irreducible k-point weight |
Definition at line 462 of file qs_ot_types.F.
| 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
| ispin | ... |
| ikpoint | ... |
| nspin | ... |
Definition at line 476 of file qs_ot_types.F.
| 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
| 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.
| 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
| qs_ot_env | ... |
Definition at line 582 of file qs_ot_types.F.
| 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)
| qs_ot_env | ... |
| matrix_s | ... |
| fm_struct_ref | ... |
| ortho_k | ... |
| energy_dimension | number of auxiliary energy variables, defaults to the orbital count |
Definition at line 712 of file qs_ot_types.F.
| subroutine, public qs_ot_types::qs_ot_allocate_complex_state | ( | type(qs_ot_type) | qs_ot_env, |
| type(dbcsr_type), pointer | matrix_s ) |
...
| qs_ot_env | ... |
| matrix_s | ... |
Definition at line 1152 of file qs_ot_types.F.
| subroutine, public qs_ot_types::qs_ot_destroy | ( | type(qs_ot_type) | qs_ot_env | ) |
deallocates data
| qs_ot_env | ... |
Definition at line 1358 of file qs_ot_types.F.
| 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 ) |
...
| settings | ... |
| ot_section | ... |
| output_unit | ... |
| complex_kpoints | whether defaults are for complex k-point OT |
| eigensolver | whether OT minimizes a fixed-H orbital subspace for DIAGONALIZATION |
Definition at line 1595 of file qs_ot_types.F.