Documentation for module qmmm_init

Initialize a QM/MM calculation

source: qmmm_init.F
Loading...

public Subroutines/Functions:

Assigns charges and radius to evaluate the MM electrostatic potential
this routine sets up all variables to treat qmmm links
Print info on image charges
Print info on charges generating the qmmm potential..
Print info on qm/mm links
...
...
...
this routine sets up the origin of the MM cell respect to the origin of the QM cell. The origin of the QM cell is assumed to be in (0.0,0.0,0.0)...
this routine sets up all variables to treat qmmm links
...
...

SUBROUTINEassign_mm_charges_and_radius(subsys, charges, mm_atom_chrg, mm_el_pot_radius, mm_el_pot_radius_corr, mm_atom_index, mm_link_atoms, mm_link_scale_factor, added_shells, shell_model)

Assigns charges and radius to evaluate the MM electrostatic potential

Arguments:
POINTER
:: subsys the subsys containing the MM charges
REAL(dp),
POINTER
:: charges(:) ...
REAL(dp),
POINTER
:: mm_atom_chrg(:) ...
REAL(dp),
POINTER
:: mm_el_pot_radius(:) ...
REAL(dp),
POINTER
:: mm_el_pot_radius_corr(:) ...
INTEGER,
POINTER
:: mm_atom_index(:) ...
INTEGER,
POINTER
:: mm_link_atoms(:) ...
REAL(dp),
POINTER
:: mm_link_scale_factor(:) ...
OPTIONAL, POINTER
:: added_shells ...
LOGICAL
:: shell_model ...

SUBROUTINEmove_or_add_atoms(qmmm_section, move_mm_charges, add_mm_charges, mm_atom_chrg, mm_el_pot_radius, mm_el_pot_radius_corr, added_charges, mm_atom_index)

this routine sets up all variables to treat qmmm links

Arguments:
POINTER
:: qmmm_section ...
LOGICAL,
INTENT(out)
:: move_mm_charges ...
LOGICAL,
INTENT(out)
:: add_mm_charges ...
REAL(dp),
POINTER
:: mm_atom_chrg(:) ...
REAL(dp),
POINTER
:: mm_el_pot_radius(:) ...
REAL(dp),
POINTER
:: mm_el_pot_radius_corr(:) ...
POINTER
:: added_charges ...
INTEGER,
POINTER
:: mm_atom_index(:) ...

SUBROUTINEqmmm_init_gaussian_type(qmmm_env_qm, para_env, mm_atom_chrg, qs_env, added_charges, added_shells, print_section, qmmm_section)

...

Arguments:
POINTER
:: qmmm_env_qm ...
POINTER
:: para_env ...
REAL(dp),
POINTER
:: mm_atom_chrg(:) ...
POINTER
:: qs_env ...
POINTER
:: added_charges ...
POINTER
:: added_shells ...
POINTER
:: print_section ...
POINTER
:: qmmm_section ...

SUBROUTINEqmmm_init_periodic_potential(qmmm_env_qm, qm_cell_small, mm_cell, para_env, qs_env, added_charges, added_shells, qmmm_periodic, print_section, mm_atom_chrg)

...

Arguments:
POINTER
:: qmmm_env_qm ...
TYPE(cell_type),
POINTER
:: qm_cell_small ...
TYPE(cell_type),
POINTER
:: mm_cell ...
POINTER
:: para_env ...
POINTER
:: qs_env ...
POINTER
:: added_charges ...
POINTER
:: added_shells ...
POINTER
:: qmmm_periodic ...
POINTER
:: print_section ...
REAL(dp),
POINTER
:: mm_atom_chrg(:) ...

SUBROUTINEqmmm_init_potential(qmmm_env_qm, mm_cell, added_charges, added_shells, print_section)

...

Arguments:
POINTER
:: qmmm_env_qm ...
TYPE(cell_type),
POINTER
:: mm_cell ...
POINTER
:: added_charges ...
POINTER
:: added_shells ...
POINTER
:: print_section ...

SUBROUTINEsetup_origin_mm_cell(qmmm_section, qmmm_env, qm_cell_small, dr)

this routine sets up the origin of the MM cell respect to the origin of the QM cell. The origin of the QM cell is assumed to be in (0.0,0.0,0.0)...

Arguments:
POINTER
:: qmmm_section ...
POINTER
:: qmmm_env ...
TYPE(cell_type),
POINTER
:: qm_cell_small ...
REAL(dp),
INTENT(in)
:: dr(3) ...

SUBROUTINEsetup_qmmm_vars_mm(qmmm_section, qmmm_env, qm_atom_index, mm_link_atoms, mm_link_scale_factor, fist_scale_charge_link, qmmm_coupl_type, qmmm_link)

...

Arguments:
POINTER
:: qmmm_section ...
POINTER
:: qmmm_env ...
INTEGER,
POINTER
:: qm_atom_index(:) ...
INTEGER,
POINTER
:: mm_link_atoms(:) ...
REAL(dp),
POINTER
:: mm_link_scale_factor(:) ...
REAL(dp),
POINTER
:: fist_scale_charge_link(:) ...
INTEGER,
INTENT(out)
:: qmmm_coupl_type ...
LOGICAL,
INTENT(out)
:: qmmm_link ...

SUBROUTINEsetup_qmmm_vars_qm(qmmm_section, qmmm_env, subsys_mm, qm_atom_type, qm_atom_index, mm_atom_index, qm_cell_small, qmmm_coupl_type, eps_mm_rspace, qmmm_link, para_env)

...

Arguments:
POINTER
:: qmmm_section ...
POINTER
:: qmmm_env ...
POINTER
:: subsys_mm ...
POINTER
:: qm_atom_type(:) ...
INTEGER,
POINTER
:: qm_atom_index(:) ...
INTEGER,
POINTER
:: mm_atom_index(:) ...
TYPE(cell_type),
POINTER
:: qm_cell_small ...
INTEGER,
INTENT(out)
:: qmmm_coupl_type ...
REAL(dp),
INTENT(out)
:: eps_mm_rspace ...
LOGICAL,
INTENT(out)
:: qmmm_link ...
POINTER
:: para_env ...