(git:6a2e663)
pao_methods Module Reference

Methods used by pao_main.F. More...

Functions/Subroutines

subroutine, public pao_init_kinds (pao, qs_env)
 Initialize qs kinds. More...
 
subroutine, public pao_print_atom_info (pao)
 Prints a one line summary for each atom. More...
 
subroutine, public pao_build_orthogonalizer (pao, qs_env)
 Constructs matrix_N and its inverse. More...
 
subroutine, public pao_build_selector (pao, qs_env)
 Build rectangular matrix to converert between primary and PAO basis. More...
 
subroutine, public pao_build_diag_distribution (pao, qs_env)
 Creates new DBCSR distribution which spreads diagonal blocks evenly across ranks. More...
 
subroutine, public pao_build_matrix_x (pao, qs_env)
 Creates the matrix_X. More...
 
subroutine, public pao_build_core_hamiltonian (pao, qs_env)
 Creates the matrix_H0 which contains the core hamiltonian. More...
 
subroutine, public pao_test_convergence (pao, ls_scf_env, new_energy, is_converged)
 Test whether the PAO optimization has reached convergence. More...
 
subroutine, public pao_calc_energy (pao, qs_env, ls_scf_env, energy)
 Calculate the pao energy. More...
 
subroutine, public pao_check_trace_ps (ls_scf_env)
 Ensure that the number of electrons is correct. More...
 
subroutine, public pao_check_grad (pao, qs_env, ls_scf_env)
 Debugging routine for checking the analytic gradient. More...
 
subroutine, public pao_store_p (qs_env, ls_scf_env)
 Stores density matrix as initial guess for next SCF optimization. More...
 
subroutine, public pao_guess_initial_p (pao, qs_env, ls_scf_env)
 Provide an initial guess for the density matrix. More...
 
subroutine, public pao_add_forces (qs_env, ls_scf_env)
 Calculate the forces contributed by PAO. More...
 

Detailed Description

Methods used by pao_main.F.

Author
Ole Schuett

Function/Subroutine Documentation

◆ pao_init_kinds()

subroutine, public pao_methods::pao_init_kinds ( type(pao_env_type), pointer  pao,
type(qs_environment_type), pointer  qs_env 
)

Initialize qs kinds.

Parameters
pao...
qs_env...

Definition at line 91 of file pao_methods.F.

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

◆ pao_print_atom_info()

subroutine, public pao_methods::pao_print_atom_info ( type(pao_env_type), pointer  pao)

Prints a one line summary for each atom.

Parameters
pao...

Definition at line 134 of file pao_methods.F.

Here is the caller graph for this function:

◆ pao_build_orthogonalizer()

subroutine, public pao_methods::pao_build_orthogonalizer ( type(pao_env_type), pointer  pao,
type(qs_environment_type), pointer  qs_env 
)

Constructs matrix_N and its inverse.

Parameters
pao...
qs_env...

Definition at line 164 of file pao_methods.F.

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

◆ pao_build_selector()

subroutine, public pao_methods::pao_build_selector ( type(pao_env_type), pointer  pao,
type(qs_environment_type), pointer  qs_env 
)

Build rectangular matrix to converert between primary and PAO basis.

Parameters
pao...
qs_env...

Definition at line 248 of file pao_methods.F.

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

◆ pao_build_diag_distribution()

subroutine, public pao_methods::pao_build_diag_distribution ( type(pao_env_type), pointer  pao,
type(qs_environment_type), pointer  qs_env 
)

Creates new DBCSR distribution which spreads diagonal blocks evenly across ranks.

Parameters
pao...
qs_env...

Definition at line 315 of file pao_methods.F.

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

◆ pao_build_matrix_x()

subroutine, public pao_methods::pao_build_matrix_x ( type(pao_env_type), pointer  pao,
type(qs_environment_type), pointer  qs_env 
)

Creates the matrix_X.

Parameters
pao...
qs_env...

Definition at line 356 of file pao_methods.F.

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

◆ pao_build_core_hamiltonian()

subroutine, public pao_methods::pao_build_core_hamiltonian ( type(pao_env_type), pointer  pao,
type(qs_environment_type), pointer  qs_env 
)

Creates the matrix_H0 which contains the core hamiltonian.

Parameters
pao...
qs_env...

Definition at line 400 of file pao_methods.F.

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

◆ pao_test_convergence()

subroutine, public pao_methods::pao_test_convergence ( type(pao_env_type), pointer  pao,
type(ls_scf_env_type)  ls_scf_env,
real(kind=dp), intent(in)  new_energy,
logical, intent(out)  is_converged 
)

Test whether the PAO optimization has reached convergence.

Parameters
pao...
ls_scf_env...
new_energy...
is_converged...

Definition at line 437 of file pao_methods.F.

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

◆ pao_calc_energy()

subroutine, public pao_methods::pao_calc_energy ( type(pao_env_type), pointer  pao,
type(qs_environment_type), pointer  qs_env,
type(ls_scf_env_type), target  ls_scf_env,
real(kind=dp), intent(out)  energy 
)

Calculate the pao energy.

Parameters
pao...
qs_env...
ls_scf_env...
energy...

Definition at line 478 of file pao_methods.F.

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

◆ pao_check_trace_ps()

subroutine, public pao_methods::pao_check_trace_ps ( type(ls_scf_env_type)  ls_scf_env)

Ensure that the number of electrons is correct.

Parameters
ls_scf_env...

Definition at line 521 of file pao_methods.F.

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

◆ pao_check_grad()

subroutine, public pao_methods::pao_check_grad ( type(pao_env_type), pointer  pao,
type(qs_environment_type), pointer  qs_env,
type(ls_scf_env_type), target  ls_scf_env 
)

Debugging routine for checking the analytic gradient.

Parameters
pao...
qs_env...
ls_scf_env...

Definition at line 678 of file pao_methods.F.

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

◆ pao_store_p()

subroutine, public pao_methods::pao_store_p ( type(qs_environment_type), pointer  qs_env,
type(ls_scf_env_type), target  ls_scf_env 
)

Stores density matrix as initial guess for next SCF optimization.

Parameters
qs_env...
ls_scf_env...

Definition at line 803 of file pao_methods.F.

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

◆ pao_guess_initial_p()

subroutine, public pao_methods::pao_guess_initial_p ( type(pao_env_type), pointer  pao,
type(qs_environment_type), pointer  qs_env,
type(ls_scf_env_type), target  ls_scf_env 
)

Provide an initial guess for the density matrix.

Parameters
pao...
qs_env...
ls_scf_env...

Definition at line 850 of file pao_methods.F.

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

◆ pao_add_forces()

subroutine, public pao_methods::pao_add_forces ( type(qs_environment_type), pointer  qs_env,
type(ls_scf_env_type), target  ls_scf_env 
)

Calculate the forces contributed by PAO.

Parameters
qs_env...
ls_scf_env...

Definition at line 953 of file pao_methods.F.

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