(git:34ef472)
dm_ls_scf_qs Module Reference

Routines for a linear scaling quickstep SCF run based on the density matrix, with a focus on the interface between dm_ls_scf and qs. More...

Functions/Subroutines

subroutine, public matrix_ls_create (matrix_ls, matrix_qs, ls_mstruct)
 create a matrix for use (and as a template) in ls based on a qs template More...
 
subroutine, public matrix_qs_to_ls (matrix_ls, matrix_qs, ls_mstruct, covariant)
 first link to QS, copy a QS matrix to LS matrix used to isolate QS style matrices from LS style will be useful for future features (e.g. precision, symmetry, blocking, ...) More...
 
subroutine, public matrix_ls_to_qs (matrix_qs, matrix_ls, ls_mstruct, covariant, keep_sparsity)
 second link to QS, copy a LS matrix to QS matrix used to isolate QS style matrices from LS style will be useful for future features (e.g. precision, symmetry, blocking, ...) More...
 
subroutine, public matrix_decluster (matrix_out, matrix_in, ls_mstruct)
 Reverses molecular blocking and reduction to single precision if enabled. More...
 
subroutine, public ls_scf_init_qs (qs_env)
 further required initialization of QS. Might be factored-out since this seems common code with the other SCF. More...
 
subroutine, public ls_scf_qs_atomic_guess (qs_env, energy)
 get an atomic initial guess More...
 
subroutine, public ls_scf_dm_to_ks (qs_env, ls_scf_env, energy_new, iscf)
 use the density matrix in ls_scf_env to compute the new energy and KS matrix More...
 
subroutine, public write_matrix_to_cube (qs_env, ls_scf_env, matrix_p_ls, unit_nr, title, stride)
 ... More...
 
subroutine, public rho_mixing_ls_init (qs_env, ls_scf_env)
 Initialize g-space density mixing. More...
 

Detailed Description

Routines for a linear scaling quickstep SCF run based on the density matrix, with a focus on the interface between dm_ls_scf and qs.

History
2011.04 created [Joost VandeVondele]
Author
Joost VandeVondele

Function/Subroutine Documentation

◆ matrix_ls_create()

subroutine, public dm_ls_scf_qs::matrix_ls_create ( type(dbcsr_type)  matrix_ls,
type(dbcsr_type)  matrix_qs,
type(ls_mstruct_type), intent(in)  ls_mstruct 
)

create a matrix for use (and as a template) in ls based on a qs template

Parameters
matrix_ls...
matrix_qs...
ls_mstruct...
History
2011.03 created [Joost VandeVondele] 2015.09 add support for PAO [Ole Schuett]
Author
Joost VandeVondele

Definition at line 96 of file dm_ls_scf_qs.F.

Here is the caller graph for this function:

◆ matrix_qs_to_ls()

subroutine, public dm_ls_scf_qs::matrix_qs_to_ls ( type(dbcsr_type)  matrix_ls,
type(dbcsr_type)  matrix_qs,
type(ls_mstruct_type), intent(in), target  ls_mstruct,
logical, intent(in)  covariant 
)

first link to QS, copy a QS matrix to LS matrix used to isolate QS style matrices from LS style will be useful for future features (e.g. precision, symmetry, blocking, ...)

Parameters
matrix_ls...
matrix_qs...
ls_mstruct...
covariant...
History
2010.10 created [Joost VandeVondele] 2015.09 add support for PAO [Ole Schuett]
Author
Joost VandeVondele

Definition at line 212 of file dm_ls_scf_qs.F.

Here is the caller graph for this function:

◆ matrix_ls_to_qs()

subroutine, public dm_ls_scf_qs::matrix_ls_to_qs ( type(dbcsr_type)  matrix_qs,
type(dbcsr_type)  matrix_ls,
type(ls_mstruct_type), intent(in), target  ls_mstruct,
logical  covariant,
logical, optional  keep_sparsity 
)

second link to QS, copy a LS matrix to QS matrix used to isolate QS style matrices from LS style will be useful for future features (e.g. precision, symmetry, blocking, ...)

Parameters
matrix_qs...
matrix_ls...
ls_mstruct...
covariant...
keep_sparsityIf set dbcsr_copy_into_existing will be used, by default set to .TRUE.
History
2010.10 created [Joost VandeVondele] 2015.09 add support for PAO [Ole Schuett]
Author
Joost VandeVondele

Definition at line 306 of file dm_ls_scf_qs.F.

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

◆ matrix_decluster()

subroutine, public dm_ls_scf_qs::matrix_decluster ( type(dbcsr_type)  matrix_out,
type(dbcsr_type)  matrix_in,
type(ls_mstruct_type), intent(in)  ls_mstruct 
)

Reverses molecular blocking and reduction to single precision if enabled.

Parameters
matrix_out...
matrix_in...
ls_mstruct...
Author
Ole Schuett

Definition at line 373 of file dm_ls_scf_qs.F.

Here is the caller graph for this function:

◆ ls_scf_init_qs()

subroutine, public dm_ls_scf_qs::ls_scf_init_qs ( type(qs_environment_type), pointer  qs_env)

further required initialization of QS. Might be factored-out since this seems common code with the other SCF.

Parameters
qs_env...
History
2010.10 created [Joost VandeVondele]
Author
Joost VandeVondele

Definition at line 407 of file dm_ls_scf_qs.F.

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

◆ ls_scf_qs_atomic_guess()

subroutine, public dm_ls_scf_qs::ls_scf_qs_atomic_guess ( type(qs_environment_type), pointer  qs_env,
real(kind=dp)  energy 
)

get an atomic initial guess

Parameters
qs_env...
energy...
History
2012.11 created [Joost VandeVondele]
Author
Joost VandeVondele

Definition at line 464 of file dm_ls_scf_qs.F.

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

◆ ls_scf_dm_to_ks()

subroutine, public dm_ls_scf_qs::ls_scf_dm_to_ks ( type(qs_environment_type), pointer  qs_env,
type(ls_scf_env_type)  ls_scf_env,
real(kind=dp)  energy_new,
integer, intent(in)  iscf 
)

use the density matrix in ls_scf_env to compute the new energy and KS matrix

Parameters
qs_env...
ls_scf_env...
energy_new...
iscf...
History
2011.04 created [Joost VandeVondele] 2015.02 added gspace density mixing [Patrick Seewald]
Author
Joost VandeVondele

Definition at line 545 of file dm_ls_scf_qs.F.

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

◆ write_matrix_to_cube()

subroutine, public dm_ls_scf_qs::write_matrix_to_cube ( type(qs_environment_type), pointer  qs_env,
type(ls_scf_env_type)  ls_scf_env,
type(dbcsr_type), intent(in)  matrix_p_ls,
integer, intent(in)  unit_nr,
character(len=*), intent(in)  title,
integer, dimension(:), pointer  stride 
)

...

Parameters
qs_env...
ls_scf_env...
matrix_p_ls...
unit_nr...
title...
stride...

Definition at line 624 of file dm_ls_scf_qs.F.

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

◆ rho_mixing_ls_init()

subroutine, public dm_ls_scf_qs::rho_mixing_ls_init ( type(qs_environment_type), pointer  qs_env,
type(ls_scf_env_type)  ls_scf_env 
)

Initialize g-space density mixing.

Parameters
qs_env...
ls_scf_env...

Definition at line 694 of file dm_ls_scf_qs.F.

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