![]() |
(git:b77b4be)
|
Functions/Subroutines | |
subroutine, public | understand_spin_states (force_env, ref_subsys_number, change_spin, open_shell_embed, all_nspins) |
Find out whether we need to swap alpha- and beta- spind densities in the second subsystem. | |
subroutine, public | init_embed_pot (qs_env, embed_pot, add_const_pot, fermi_amaldi, const_pot, open_shell_embed, spin_embed_pot, pot_diff, coulomb_guess, grid_opt) |
... | |
subroutine, public | prepare_embed_opt (qs_env, opt_embed, opt_embed_section) |
Creates and allocates objects for optimization of embedding potential. | |
subroutine, public | find_aux_dimen (qs_env, dimen_aux) |
Find the dimension of the auxiliary basis for the expansion of the embedding potential. | |
subroutine, public | given_embed_pot (qs_env) |
Read the external embedding potential, not to be optimized. | |
subroutine, public | read_embed_pot (qs_env, embed_pot, spin_embed_pot, section, opt_embed) |
... | |
subroutine, public | release_opt_embed (opt_embed) |
Deallocate stuff for optimizing embedding potential. | |
subroutine, public | coulomb_guess (v_rspace, rhs, mapping_section, qs_env, nforce_eval, iforce_eval, eta) |
Calculates subsystem Coulomb potential from the RESP charges of the total system. | |
subroutine, public | make_subsys_embed_pot (qs_env, embed_pot, embed_pot_subsys, spin_embed_pot, spin_embed_pot_subsys, open_shell_embed, change_spin_sign) |
Creates a subsystem embedding potential. | |
subroutine, public | calculate_embed_pot_grad (qs_env, diff_rho_r, diff_rho_spin, opt_embed) |
Calculates the derivative of the embedding potential wrt to the expansion coefficients. | |
subroutine, public | opt_embed_step (diff_rho_r, diff_rho_spin, opt_embed, embed_pot, spin_embed_pot, rho_r_ref, qs_env) |
Takes maximization step in embedding potential optimization. | |
subroutine, public | step_control (opt_embed) |
Controls the step, changes the trust radius if needed in maximization of the V_emb. | |
real(kind=dp) function, public | max_dens_diff (diff_rho_r) |
... | |
subroutine, public | print_rho_diff (diff_rho_r, i_iter, qs_env, final_one) |
Prints a cube for the (rho_A + rho_B - rho_ref) to be minimized in embedding. | |
subroutine, public | print_rho_spin_diff (spin_diff_rho_r, i_iter, qs_env, final_one) |
Prints a cube for the (spin_rho_A + spin_rho_B - spin_rho_ref) to be minimized in embedding. | |
subroutine, public | print_embed_restart (qs_env, dimen_aux, embed_pot_coef, embed_pot, i_iter, embed_pot_spin, open_shell_embed, grid_opt, final_one) |
Print embedding potential as a cube and as a binary (for restarting) | |
subroutine, public | print_pot_simple_grid (qs_env, embed_pot, embed_pot_spin, i_iter, open_shell_embed, final_one, qs_env_cluster) |
Prints a volumetric file: X Y Z value for interfacing with external programs. | |
subroutine, public | print_emb_opt_info (output_unit, step_num, opt_embed) |
... | |
subroutine, public | get_prev_density (opt_embed, force_env, subsys_num) |
... | |
subroutine, public | get_max_subsys_diff (opt_embed, force_env, subsys_num) |
... | |
subroutine, public | conv_check_embed (opt_embed, diff_rho_r, diff_rho_spin, output_unit) |
... | |
subroutine, public optimize_embedding_potential::understand_spin_states | ( | type(force_env_type), pointer | force_env, |
integer | ref_subsys_number, | ||
logical | change_spin, | ||
logical | open_shell_embed, | ||
integer, dimension(:), allocatable | all_nspins | ||
) |
Find out whether we need to swap alpha- and beta- spind densities in the second subsystem.
It's only needed because by default alpha-spins go first in a subsystem.
By swapping we impose the constraint:
rho_1(alpha) + rho_2(alpha) = rho_total(alpha)
rho_1(beta) + rho_2(beta) = rho_total(beta)
force_env | ... |
ref_subsys_number | ... |
change_spin | ... |
open_shell_embed | ... |
all_nspins | ... |
Definition at line 128 of file optimize_embedding_potential.F.
subroutine, public optimize_embedding_potential::init_embed_pot | ( | type(qs_environment_type), pointer | qs_env, |
type(pw_r3d_rs_type), pointer | embed_pot, | ||
logical | add_const_pot, | ||
logical | fermi_amaldi, | ||
type(pw_r3d_rs_type), pointer | const_pot, | ||
logical | open_shell_embed, | ||
type(pw_r3d_rs_type), pointer | spin_embed_pot, | ||
type(pw_r3d_rs_type), pointer | pot_diff, | ||
logical | coulomb_guess, | ||
logical | grid_opt | ||
) |
...
qs_env | ... |
embed_pot | ... |
add_const_pot | ... |
Fermi_Amaldi | ... |
const_pot | ... |
open_shell_embed | ... |
spin_embed_pot | ... |
pot_diff | ... |
Coulomb_guess | ... |
grid_opt | ... |
Definition at line 205 of file optimize_embedding_potential.F.
subroutine, public optimize_embedding_potential::prepare_embed_opt | ( | type(qs_environment_type), pointer | qs_env, |
type(opt_embed_pot_type) | opt_embed, | ||
type(section_vals_type), pointer | opt_embed_section | ||
) |
Creates and allocates objects for optimization of embedding potential.
qs_env | ... |
opt_embed | ... |
opt_embed_section | ... |
Definition at line 291 of file optimize_embedding_potential.F.
subroutine, public optimize_embedding_potential::find_aux_dimen | ( | type(qs_environment_type), pointer | qs_env, |
integer | dimen_aux | ||
) |
Find the dimension of the auxiliary basis for the expansion of the embedding potential.
qs_env | ... |
dimen_aux | ... |
Definition at line 544 of file optimize_embedding_potential.F.
subroutine, public optimize_embedding_potential::given_embed_pot | ( | type(qs_environment_type), pointer | qs_env | ) |
Read the external embedding potential, not to be optimized.
qs_env | ... |
Definition at line 610 of file optimize_embedding_potential.F.
subroutine, public optimize_embedding_potential::read_embed_pot | ( | type(qs_environment_type), pointer | qs_env, |
type(pw_r3d_rs_type), pointer | embed_pot, | ||
type(pw_r3d_rs_type), pointer | spin_embed_pot, | ||
type(section_vals_type), pointer | section, | ||
type(opt_embed_pot_type) | opt_embed | ||
) |
...
qs_env | ... |
embed_pot | ... |
spin_embed_pot | ... |
section | ... |
opt_embed | ... |
Definition at line 663 of file optimize_embedding_potential.F.
subroutine, public optimize_embedding_potential::release_opt_embed | ( | type(opt_embed_pot_type) | opt_embed | ) |
Deallocate stuff for optimizing embedding potential.
opt_embed | ... |
Definition at line 856 of file optimize_embedding_potential.F.
subroutine, public optimize_embedding_potential::coulomb_guess | ( | type(pw_r3d_rs_type) | v_rspace, |
real(kind=dp), dimension(:), pointer | rhs, | ||
type(section_vals_type), pointer | mapping_section, | ||
type(qs_environment_type), pointer | qs_env, | ||
integer | nforce_eval, | ||
integer | iforce_eval, | ||
real(kind=dp) | eta | ||
) |
Calculates subsystem Coulomb potential from the RESP charges of the total system.
v_rspace | ... |
rhs | ... |
mapping_section | ... |
qs_env | ... |
nforce_eval | ... |
iforce_eval | ... |
eta | ... |
Definition at line 933 of file optimize_embedding_potential.F.
subroutine, public optimize_embedding_potential::make_subsys_embed_pot | ( | type(qs_environment_type), pointer | qs_env, |
type(pw_r3d_rs_type), intent(in) | embed_pot, | ||
type(pw_r3d_rs_type), pointer | embed_pot_subsys, | ||
type(pw_r3d_rs_type), intent(in), pointer | spin_embed_pot, | ||
type(pw_r3d_rs_type), pointer | spin_embed_pot_subsys, | ||
logical | open_shell_embed, | ||
logical | change_spin_sign | ||
) |
Creates a subsystem embedding potential.
qs_env | ... |
embed_pot | ... |
embed_pot_subsys | ... |
spin_embed_pot | ... |
spin_embed_pot_subsys | ... |
open_shell_embed | ... |
change_spin_sign | ... |
Definition at line 1022 of file optimize_embedding_potential.F.
subroutine, public optimize_embedding_potential::calculate_embed_pot_grad | ( | type(qs_environment_type), pointer | qs_env, |
type(pw_r3d_rs_type), intent(in) | diff_rho_r, | ||
type(pw_r3d_rs_type), intent(in) | diff_rho_spin, | ||
type(opt_embed_pot_type) | opt_embed | ||
) |
Calculates the derivative of the embedding potential wrt to the expansion coefficients.
qs_env | ... |
diff_rho_r | ... |
diff_rho_spin | ... |
opt_embed | ... |
Definition at line 1072 of file optimize_embedding_potential.F.
subroutine, public optimize_embedding_potential::opt_embed_step | ( | type(pw_r3d_rs_type), intent(inout) | diff_rho_r, |
type(pw_r3d_rs_type), intent(inout) | diff_rho_spin, | ||
type(opt_embed_pot_type) | opt_embed, | ||
type(pw_r3d_rs_type), intent(inout) | embed_pot, | ||
type(pw_r3d_rs_type), intent(in), pointer | spin_embed_pot, | ||
type(pw_r3d_rs_type), dimension(:), pointer | rho_r_ref, | ||
type(qs_environment_type), pointer | qs_env | ||
) |
Takes maximization step in embedding potential optimization.
diff_rho_r | ... |
diff_rho_spin | ... |
opt_embed | ... |
embed_pot | ... |
spin_embed_pot | ... |
rho_r_ref | ... |
qs_env | ... |
Definition at line 1467 of file optimize_embedding_potential.F.
subroutine, public optimize_embedding_potential::step_control | ( | type(opt_embed_pot_type) | opt_embed | ) |
Controls the step, changes the trust radius if needed in maximization of the V_emb.
opt_embed | ... |
Definition at line 2170 of file optimize_embedding_potential.F.
real(kind=dp) function, public optimize_embedding_potential::max_dens_diff | ( | type(pw_r3d_rs_type), intent(in) | diff_rho_r | ) |
...
diff_rho_r | ... |
Definition at line 2974 of file optimize_embedding_potential.F.
subroutine, public optimize_embedding_potential::print_rho_diff | ( | type(pw_r3d_rs_type), intent(in) | diff_rho_r, |
integer, intent(in) | i_iter, | ||
type(qs_environment_type), intent(in), pointer | qs_env, | ||
logical, intent(in) | final_one | ||
) |
Prints a cube for the (rho_A + rho_B - rho_ref) to be minimized in embedding.
diff_rho_r | ... |
i_iter | ... |
qs_env | ... |
final_one | ... |
Definition at line 3013 of file optimize_embedding_potential.F.
subroutine, public optimize_embedding_potential::print_rho_spin_diff | ( | type(pw_r3d_rs_type), intent(in) | spin_diff_rho_r, |
integer, intent(in) | i_iter, | ||
type(qs_environment_type), intent(in), pointer | qs_env, | ||
logical, intent(in) | final_one | ||
) |
Prints a cube for the (spin_rho_A + spin_rho_B - spin_rho_ref) to be minimized in embedding.
spin_diff_rho_r | ... |
i_iter | ... |
qs_env | ... |
final_one | ... |
Definition at line 3064 of file optimize_embedding_potential.F.
subroutine, public optimize_embedding_potential::print_embed_restart | ( | type(qs_environment_type), pointer | qs_env, |
integer | dimen_aux, | ||
type(cp_fm_type), intent(in), pointer | embed_pot_coef, | ||
type(pw_r3d_rs_type), intent(in) | embed_pot, | ||
integer | i_iter, | ||
type(pw_r3d_rs_type), intent(in), pointer | embed_pot_spin, | ||
logical | open_shell_embed, | ||
logical | grid_opt, | ||
logical | final_one | ||
) |
Print embedding potential as a cube and as a binary (for restarting)
qs_env | ... |
dimen_aux | ... |
embed_pot_coef | ... |
embed_pot | ... |
i_iter | ... |
embed_pot_spin | ... |
open_shell_embed | ... |
grid_opt | ... |
final_one | ... |
Definition at line 3118 of file optimize_embedding_potential.F.
subroutine, public optimize_embedding_potential::print_pot_simple_grid | ( | type(qs_environment_type), pointer | qs_env, |
type(pw_r3d_rs_type), intent(in) | embed_pot, | ||
type(pw_r3d_rs_type), intent(in), pointer | embed_pot_spin, | ||
integer | i_iter, | ||
logical | open_shell_embed, | ||
logical | final_one, | ||
type(qs_environment_type), pointer | qs_env_cluster | ||
) |
Prints a volumetric file: X Y Z value for interfacing with external programs.
qs_env | ... |
embed_pot | ... |
embed_pot_spin | ... |
i_iter | ... |
open_shell_embed | ... |
final_one | ... |
qs_env_cluster | ... |
Definition at line 3216 of file optimize_embedding_potential.F.
subroutine, public optimize_embedding_potential::print_emb_opt_info | ( | integer | output_unit, |
integer | step_num, | ||
type(opt_embed_pot_type) | opt_embed | ||
) |
...
output_unit | ... |
step_num | ... |
opt_embed | ... |
Definition at line 3383 of file optimize_embedding_potential.F.
subroutine, public optimize_embedding_potential::get_prev_density | ( | type(opt_embed_pot_type) | opt_embed, |
type(force_env_type), pointer | force_env, | ||
integer | subsys_num | ||
) |
...
opt_embed | ... |
force_env | ... |
subsys_num | ... |
Definition at line 3416 of file optimize_embedding_potential.F.
subroutine, public optimize_embedding_potential::get_max_subsys_diff | ( | type(opt_embed_pot_type) | opt_embed, |
type(force_env_type), pointer | force_env, | ||
integer | subsys_num | ||
) |
...
opt_embed | ... |
force_env | ... |
subsys_num | ... |
Definition at line 3446 of file optimize_embedding_potential.F.
subroutine, public optimize_embedding_potential::conv_check_embed | ( | type(opt_embed_pot_type) | opt_embed, |
type(pw_r3d_rs_type), intent(in) | diff_rho_r, | ||
type(pw_r3d_rs_type), intent(in) | diff_rho_spin, | ||
integer | output_unit | ||
) |
...
opt_embed | ... |
diff_rho_r | ... |
diff_rho_spin | ... |
output_unit | ... |
Definition at line 3479 of file optimize_embedding_potential.F.