|
CP2K 2.4 (Revision 12889)
|
localize wavefunctions linear response scf More...
Functions | |
| subroutine, public | linres_localize (qs_env, linres_control, nspins, centers_only, error) |
| Find the centers and spreads of the wfn, if required apply a localization algorithm. | |
| subroutine, public | linres_solver (p_env, qs_env, psi1, h1_psi0, psi0_order, should_stop, error) |
| scf loop to optimize the first order wavefunctions (psi1) given a perturbation as an operator applied to the ground state orbitals (h1_psi0) | |
| subroutine | apply_op (qs_env, p_env, c0, v, Av, chc, buf, error) |
| subroutine | build_dm_response (c0, c1, dm, error) |
| subroutine | apply_op_1 (v, Av, matrix_ks, matrix_s, chc, buf, error) |
| subroutine | apply_op_2 (qs_env, p_env, c0, v, Av, chc, buf, error) |
| subroutine | p_env_check_i_alloc (p_env, qs_env, error) |
| subroutine | kpp1_check_i_alloc (kpp1_env, qs_env, lr_triplet, error) |
| subroutine | preortho (v, psi0, S_psi0, buf, error) |
| subroutine | postortho (v, psi0, S_psi0, buf, error) |
| subroutine, public | linres_write_restart (qs_env, linres_section, vec, ivec, tag, ind, error) |
| subroutine, public | linres_init_write_restart (linres_section, error) |
| subroutine, public | linres_read_restart (qs_env, linres_section, vec, ivec, tag, ind, error) |
| subroutine | check_p_env_init (p_env, linres_control, nspins, error) |
Variables | |
| CHARACTER(len=*), parameter, private | moduleN = 'qs_linres_methods' |
localize wavefunctions linear response scf
| subroutine qs_linres_methods::apply_op | ( | TYPE(qs_environment_type),pointer | qs_env, |
| TYPE(qs_p_env_type),pointer | p_env, | ||
| TYPE(cp_fm_p_type),dimension(:),pointer | c0, | ||
| TYPE(cp_fm_p_type),dimension(:),pointer | v, | ||
| TYPE(cp_fm_p_type),dimension(:),pointer | Av, | ||
| TYPE(cp_fm_p_type),dimension(:),pointer | chc, | ||
| TYPE(cp_fm_type),pointer | buf, | ||
| TYPE(cp_error_type),intent(inout) | error | ||
| ) | [private] |
Definition at line 640 of file qs_linres_methods.f90.
References apply_op_1(), apply_op_2(), build_dm_response(), cp_dbcsr_interface::cp_dbcsr_checksum(), qs_environment_types::get_qs_env(), p_env_check_i_alloc(), and timings::timeset().
Referenced by linres_solver().
Here is the call graph for this function:
Here is the caller graph for this function:| subroutine qs_linres_methods::apply_op_1 | ( | TYPE(cp_fm_type),pointer | v, |
| TYPE(cp_fm_type),pointer | Av, | ||
| TYPE(cp_dbcsr_type),pointer | matrix_ks, | ||
| TYPE(cp_dbcsr_type),pointer | matrix_s, | ||
| TYPE(cp_fm_type),pointer | chc, | ||
| TYPE(cp_fm_type),pointer | buf, | ||
| TYPE(cp_error_type),intent(inout) | error | ||
| ) | [private] |
Definition at line 785 of file qs_linres_methods.f90.
References cp_fm_basic_linalg::cp_fm_gemm(), and timings::timeset().
Referenced by apply_op().
Here is the call graph for this function:
Here is the caller graph for this function:| subroutine qs_linres_methods::apply_op_2 | ( | TYPE(qs_environment_type),pointer | qs_env, |
| TYPE(qs_p_env_type),pointer | p_env, | ||
| TYPE(cp_fm_p_type),dimension(:),pointer | c0, | ||
| TYPE(cp_fm_p_type),dimension(:),pointer | v, | ||
| TYPE(cp_fm_p_type),dimension(:),pointer | Av, | ||
| TYPE(cp_fm_p_type),dimension(:),pointer | chc, | ||
| TYPE(cp_fm_type),pointer | buf, | ||
| TYPE(cp_error_type),intent(inout) | error | ||
| ) | [private] |
Definition at line 825 of file qs_linres_methods.f90.
References qs_vxc_atom::calculate_xc_2nd_deriv_atom(), pw_types::COMPLEXDATA1D, CPPostcondition, CPPostconditionNoFail, qs_environment_types::get_qs_env(), qs_integrate_potential::integrate_v_rspace(), qs_rho0_ggrid::integrate_vhg0_rspace(), kpp1_check_i_alloc(), qs_gapw_densities::prepare_gapw_den(), pw_methods::pw_axpy(), pw_env_types::pw_env_get(), pw_poisson_methods::pw_poisson_solve(), pw_pool_types::pw_pool_create_pw(), qs_rho_types::qs_rho_get(), input_section_types::section_get_ival(), timings::timeset(), qs_ks_atom::update_ks_atom(), hartree_local_methods::Vh_1c_gg_integrals(), xc::xc_calc_2nd_deriv(), xc_derivatives::xc_functionals_get_needs(), and xc_rho_set_types::xc_rho_set_create().
Referenced by apply_op().
Here is the call graph for this function:
Here is the caller graph for this function:| subroutine qs_linres_methods::build_dm_response | ( | TYPE(cp_fm_p_type),dimension(:),pointer | c0, |
| TYPE(cp_fm_p_type),dimension(:),pointer | c1, | ||
| TYPE(cp_dbcsr_p_type),dimension(:),pointer | dm, | ||
| TYPE(cp_error_type),intent(inout) | error | ||
| ) | [private] |
Definition at line 744 of file qs_linres_methods.f90.
Referenced by apply_op().
Here is the caller graph for this function:| subroutine qs_linres_methods::check_p_env_init | ( | TYPE(qs_p_env_type),pointer | p_env, |
| TYPE(linres_control_type),pointer | linres_control, | ||
| INTEGER,intent(in) | nspins, | ||
| TYPE(cp_error_type),intent(inout) | error | ||
| ) | [private] |
Definition at line 1795 of file qs_linres_methods.f90.
Referenced by linres_solver().
Here is the caller graph for this function:| subroutine qs_linres_methods::kpp1_check_i_alloc | ( | TYPE(qs_kpp1_env_type),pointer | kpp1_env, |
| TYPE(qs_environment_type),pointer | qs_env, | ||
| LOGICAL,intent(in) | lr_triplet, | ||
| TYPE(cp_error_type),intent(inout) | error | ||
| ) | [private] |
Definition at line 1268 of file qs_linres_methods.f90.
References CPPostcondition, qs_environment_types::get_qs_env(), pw_env_types::pw_env_get(), pw_pool_types::pw_pool_create_pw(), and qs_rho_types::qs_rho_get().
Referenced by apply_op_2().
Here is the call graph for this function:
Here is the caller graph for this function:| subroutine,public qs_linres_methods::linres_init_write_restart | ( | TYPE(section_vals_type),pointer | linres_section, |
| TYPE(cp_error_type),intent(inout) | error | ||
| ) |
Definition at line 1586 of file qs_linres_methods.f90.
References cp_output_handling::cp_p_file, and timings::timeset().
Here is the call graph for this function:| subroutine,public qs_linres_methods::linres_localize | ( | TYPE(qs_environment_type),pointer | qs_env, |
| TYPE(linres_control_type),pointer | linres_control, | ||
| INTEGER,intent(in) | nspins, | ||
| LOGICAL,intent(in),optional | centers_only, | ||
| TYPE(cp_error_type),intent(inout) | error | ||
| ) |
Find the centers and spreads of the wfn, if required apply a localization algorithm.
Definition at line 148 of file qs_linres_methods.f90.
References cp_fm_types::cp_fm_create(), cp_fm_vect::cp_fm_vect_dealloc(), input_constants::do_loc_none, qs_mo_types::get_mo_set(), qs_environment_types::get_qs_env(), qs_loc_types::get_qs_loc_env(), qs_loc_utils::loc_write_restart(), machine::m_flush(), and qs_loc_methods::qs_loc_driver().
Referenced by qs_linres_module::linres_calculation(), and qs_linres_module::linres_init().
Here is the call graph for this function:
Here is the caller graph for this function:| subroutine,public qs_linres_methods::linres_read_restart | ( | TYPE(qs_environment_type),pointer | qs_env, |
| TYPE(section_vals_type),pointer | linres_section, | ||
| TYPE(cp_fm_p_type),dimension(:),pointer | vec, | ||
| INTEGER,intent(in) | ivec, | ||
| CHARACTER(LEN=*) | tag, | ||
| INTEGER,intent(inout),optional | ind, | ||
| TYPE(cp_error_type),intent(inout) | error | ||
| ) |
Definition at line 1626 of file qs_linres_methods.f90.
References cp_files::close_file(), CPPostcondition, qs_mo_types::get_mo_set(), qs_environment_types::get_qs_env(), termination::stop_program(), timings::timeset(), and string_utilities::xstring().
Referenced by qs_linres_current_utils::current_response().
Here is the call graph for this function:
Here is the caller graph for this function:| subroutine,public qs_linres_methods::linres_solver | ( | TYPE(qs_p_env_type),pointer | p_env, |
| TYPE(qs_environment_type),pointer | qs_env, | ||
| TYPE(cp_fm_p_type),dimension(:),pointer | psi1, | ||
| TYPE(cp_fm_p_type),dimension(:),pointer | h1_psi0, | ||
| TYPE(cp_fm_p_type),dimension(:),pointer | psi0_order, | ||
| LOGICAL,intent(out) | should_stop, | ||
| TYPE(cp_error_type),intent(inout) | error | ||
| ) |
scf loop to optimize the first order wavefunctions (psi1) given a perturbation as an operator applied to the ground state orbitals (h1_psi0)
Definition at line 255 of file qs_linres_methods.f90.
References apply_op(), check_p_env_init(), cp_fm_types::cp_fm_create(), cp_fm_basic_linalg::cp_fm_gemm(), cp_fm_struct::cp_fm_struct_create(), cp_external_control::external_control(), qs_mo_types::get_mo_set(), qs_environment_types::get_qs_env(), machine::m_flush(), dbcsr_machine::m_walltime(), postortho(), preortho(), termination::stop_program(), and timings::timeset().
Referenced by qs_linres_issc_utils::issc_response().
Here is the call graph for this function:
Here is the caller graph for this function:| subroutine,public qs_linres_methods::linres_write_restart | ( | TYPE(qs_environment_type),pointer | qs_env, |
| TYPE(section_vals_type),pointer | linres_section, | ||
| TYPE(cp_fm_p_type),dimension(:),pointer | vec, | ||
| INTEGER,intent(in) | ivec, | ||
| CHARACTER(LEN=*) | tag, | ||
| INTEGER,intent(in),optional | ind, | ||
| TYPE(cp_error_type),intent(inout) | error | ||
| ) |
Definition at line 1467 of file qs_linres_methods.f90.
References cp_output_handling::cp_p_file, CPPostcondition, qs_mo_types::get_mo_set(), qs_environment_types::get_qs_env(), and timings::timeset().
Here is the call graph for this function:| subroutine qs_linres_methods::p_env_check_i_alloc | ( | TYPE(qs_p_env_type),pointer | p_env, |
| TYPE(qs_environment_type),pointer | qs_env, | ||
| TYPE(cp_error_type),intent(inout) | error | ||
| ) | [private] |
Definition at line 1209 of file qs_linres_methods.f90.
References qs_environment_types::get_qs_env(), qs_rho_methods::qs_rho_rebuild(), and timings::timeset().
Referenced by apply_op().
Here is the call graph for this function:
Here is the caller graph for this function:| subroutine qs_linres_methods::postortho | ( | TYPE(cp_fm_p_type),dimension(:),pointer | v, |
| TYPE(cp_fm_p_type),dimension(:),pointer | psi0, | ||
| TYPE(cp_fm_p_type),dimension(:),pointer | S_psi0, | ||
| TYPE(cp_fm_type),pointer | buf, | ||
| TYPE(cp_error_type),intent(inout) | error | ||
| ) | [private] |
Definition at line 1420 of file qs_linres_methods.f90.
References cp_fm_basic_linalg::cp_fm_gemm(), and timings::timeset().
Referenced by linres_solver().
Here is the call graph for this function:
Here is the caller graph for this function:| subroutine qs_linres_methods::preortho | ( | TYPE(cp_fm_p_type),dimension(:),pointer | v, |
| TYPE(cp_fm_p_type),dimension(:),pointer | psi0, | ||
| TYPE(cp_fm_p_type),dimension(:),pointer | S_psi0, | ||
| TYPE(cp_fm_type),pointer | buf, | ||
| TYPE(cp_error_type),intent(inout) | error | ||
| ) | [private] |
Definition at line 1370 of file qs_linres_methods.f90.
References cp_fm_basic_linalg::cp_fm_gemm(), and timings::timeset().
Referenced by linres_solver().
Here is the call graph for this function:
Here is the caller graph for this function:| CHARACTER(len=*),parameter,private qs_linres_methods::moduleN = 'qs_linres_methods' |
Definition at line 137 of file qs_linres_methods.f90.
1.7.3