qm_helper_link_atom_geomgrad Subroutine

public subroutine qm_helper_link_atom_geomgrad(qm, mm, qmg, mmg, original_qmg)

Uses

  • proc~~qm_helper_link_atom_geomgrad~~UsesGraph proc~qm_helper_link_atom_geomgrad qm_helper_link_atom_geomgrad module~mod_link_atom mod_link_atom proc~qm_helper_link_atom_geomgrad->module~mod_link_atom module~mod_mmpol mod_mmpol proc~qm_helper_link_atom_geomgrad->module~mod_mmpol module~mod_memory mod_memory proc~qm_helper_link_atom_geomgrad->module~mod_memory module~mod_link_atom->module~mod_memory module~mod_constants mod_constants module~mod_link_atom->module~mod_constants module~mod_utils mod_utils module~mod_link_atom->module~mod_utils module~mod_topology mod_topology module~mod_link_atom->module~mod_topology module~mod_io mod_io module~mod_link_atom->module~mod_io module~mod_bonded mod_bonded module~mod_link_atom->module~mod_bonded module~mod_nonbonded mod_nonbonded module~mod_link_atom->module~mod_nonbonded module~mod_mmpol->module~mod_link_atom module~mod_mmpol->module~mod_memory module~mod_mmpol->module~mod_constants module~mod_mmpol->module~mod_topology module~mod_mmpol->module~mod_io module~mod_mmpol->module~mod_bonded module~mod_mmpol->module~mod_nonbonded module~mod_adjacency_mat mod_adjacency_mat module~mod_mmpol->module~mod_adjacency_mat module~mod_electrostatics mod_electrostatics module~mod_mmpol->module~mod_electrostatics module~mod_memory->module~mod_constants module~mod_memory->module~mod_io iso_c_binding iso_c_binding module~mod_memory->iso_c_binding module~mod_constants->iso_c_binding module~mod_utils->module~mod_memory module~mod_utils->module~mod_constants module~mod_topology->module~mod_memory module~mod_topology->module~mod_adjacency_mat module~mod_io->module~mod_constants module~mod_bonded->module~mod_memory module~mod_bonded->module~mod_topology module~mod_bonded->module~mod_io module~mod_nonbonded->module~mod_memory module~mod_nonbonded->module~mod_constants module~mod_nonbonded->module~mod_topology module~mod_nonbonded->module~mod_adjacency_mat module~mod_neighbor_list mod_neighbor_list module~mod_nonbonded->module~mod_neighbor_list module~mod_adjacency_mat->module~mod_memory module~mod_electrostatics->module~mod_memory module~mod_electrostatics->module~mod_constants module~mod_electrostatics->module~mod_topology module~mod_electrostatics->module~mod_io module~mod_electrostatics->module~mod_adjacency_mat module~fmmlib_interface fmmlib_interface module~mod_electrostatics->module~fmmlib_interface module~mod_profiling mod_profiling module~mod_electrostatics->module~mod_profiling module~mod_neighbor_list->module~mod_memory module~mod_neighbor_list->module~mod_io module~mod_neighbor_list->module~mod_adjacency_mat module~fmmlib_interface->module~mod_constants module~mod_tree mod_tree module~fmmlib_interface->module~mod_tree module~mod_ribtree mod_ribtree module~fmmlib_interface->module~mod_ribtree module~mod_harmonics mod_harmonics module~fmmlib_interface->module~mod_harmonics module~mod_fmm_utils mod_fmm_utils module~fmmlib_interface->module~mod_fmm_utils module~mod_fmm mod_fmm module~fmmlib_interface->module~mod_fmm module~mod_octatree mod_octatree module~fmmlib_interface->module~mod_octatree module~mod_profiling->module~mod_memory module~mod_profiling->module~mod_constants module~mod_profiling->module~mod_io module~mod_tree->module~mod_constants module~mod_tree->module~mod_adjacency_mat module~mod_tree->module~mod_fmm_utils module~mod_ribtree->module~mod_constants module~mod_ribtree->module~mod_profiling module~mod_ribtree->module~mod_tree module~mod_ribtree->module~mod_fmm_utils module~mod_harmonics->module~mod_constants module~mod_harmonics->module~mod_fmm_utils module~mod_fmm_utils->module~mod_constants module~mod_fmm->module~mod_constants module~mod_fmm->module~mod_tree module~mod_fmm->module~mod_harmonics module~mod_fmm->module~mod_fmm_utils module~mod_octatree->module~mod_constants module~mod_octatree->module~mod_profiling module~mod_octatree->module~mod_tree module~mod_octatree->module~mod_fmm_utils

Computes the missing gradients for QM/MM linkatoms that is bonded terms on QM atoms, LA forces projection on QM and MM atoms. To obtain the correct forces in output, qmg should already contain the QM forces, so that LA forces could be projected on QM and MM force vectors

Arguments

Type IntentOptional Attributes Name
type(ommp_qm_helper), intent(in) :: qm
type(ommp_system), intent(inout) :: mm
real(kind=rp), intent(inout) :: qmg(3,qm%qm_top%mm_atoms)
real(kind=rp), intent(inout) :: mmg(3,mm%top%mm_atoms)
real(kind=rp), intent(in) :: original_qmg(3,qm%qm_top%mm_atoms)

Calls

proc~~qm_helper_link_atom_geomgrad~~CallsGraph proc~qm_helper_link_atom_geomgrad qm_helper_link_atom_geomgrad proc~link_atom_update_merged_topology link_atom_update_merged_topology proc~qm_helper_link_atom_geomgrad->proc~link_atom_update_merged_topology interface~mallocate mallocate proc~qm_helper_link_atom_geomgrad->interface~mallocate proc~link_atom_project_grd link_atom_project_grd proc~qm_helper_link_atom_geomgrad->proc~link_atom_project_grd proc~link_atom_bond_geomgrad link_atom_bond_geomgrad proc~qm_helper_link_atom_geomgrad->proc~link_atom_bond_geomgrad interface~mfree mfree proc~qm_helper_link_atom_geomgrad->interface~mfree proc~link_atom_angle_geomgrad link_atom_angle_geomgrad proc~qm_helper_link_atom_geomgrad->proc~link_atom_angle_geomgrad proc~link_atom_torsion_geomgrad link_atom_torsion_geomgrad proc~qm_helper_link_atom_geomgrad->proc~link_atom_torsion_geomgrad proc~i_alloc1 i_alloc1 interface~mallocate->proc~i_alloc1 proc~i_alloc3 i_alloc3 interface~mallocate->proc~i_alloc3 proc~l_alloc2 l_alloc2 interface~mallocate->proc~l_alloc2 proc~r_alloc1 r_alloc1 interface~mallocate->proc~r_alloc1 proc~r_alloc3 r_alloc3 interface~mallocate->proc~r_alloc3 proc~i_alloc2 i_alloc2 interface~mallocate->proc~i_alloc2 proc~r_alloc2 r_alloc2 interface~mallocate->proc~r_alloc2 proc~l_alloc1 l_alloc1 interface~mallocate->proc~l_alloc1 proc~versor_der versor_der proc~link_atom_project_grd->proc~versor_der proc~link_atom_bond_geomgrad->interface~mallocate proc~link_atom_bond_geomgrad->interface~mfree proc~bond_geomgrad bond_geomgrad proc~link_atom_bond_geomgrad->proc~bond_geomgrad proc~l_free1 l_free1 interface~mfree->proc~l_free1 proc~i_free2 i_free2 interface~mfree->proc~i_free2 proc~r_free3 r_free3 interface~mfree->proc~r_free3 proc~r_free2 r_free2 interface~mfree->proc~r_free2 proc~i_free3 i_free3 interface~mfree->proc~i_free3 proc~i_free1 i_free1 interface~mfree->proc~i_free1 proc~r_free1 r_free1 interface~mfree->proc~r_free1 proc~l_free2 l_free2 interface~mfree->proc~l_free2 proc~link_atom_angle_geomgrad->interface~mallocate proc~link_atom_angle_geomgrad->interface~mfree proc~angle_geomgrad angle_geomgrad proc~link_atom_angle_geomgrad->proc~angle_geomgrad proc~link_atom_torsion_geomgrad->interface~mallocate proc~link_atom_torsion_geomgrad->interface~mfree proc~torsion_geomgrad torsion_geomgrad proc~link_atom_torsion_geomgrad->proc~torsion_geomgrad proc~torsion_angle_jacobian torsion_angle_jacobian proc~torsion_geomgrad->proc~torsion_angle_jacobian proc~chk_free chk_free proc~l_free1->proc~chk_free proc~i_free2->proc~chk_free proc~r_free3->proc~chk_free proc~chk_alloc chk_alloc proc~i_alloc1->proc~chk_alloc proc~memory_init memory_init proc~i_alloc1->proc~memory_init proc~i_alloc3->proc~chk_alloc proc~i_alloc3->proc~memory_init proc~l_alloc2->proc~chk_alloc proc~l_alloc2->proc~memory_init proc~r_free2->proc~chk_free proc~i_free3->proc~chk_free proc~i_free1->proc~chk_free proc~simple_angle_jacobian simple_angle_jacobian proc~angle_geomgrad->proc~simple_angle_jacobian proc~inplane_angle_jacobian inplane_angle_jacobian proc~angle_geomgrad->proc~inplane_angle_jacobian proc~r_free1->proc~chk_free proc~r_alloc1->proc~chk_alloc proc~r_alloc1->proc~memory_init proc~r_alloc3->proc~chk_alloc proc~r_alloc3->proc~memory_init proc~i_alloc2->proc~chk_alloc proc~i_alloc2->proc~memory_init proc~r_alloc2->proc~chk_alloc proc~r_alloc2->proc~memory_init proc~l_alloc1->proc~chk_alloc proc~l_alloc1->proc~memory_init proc~rij_jacobian Rij_jacobian proc~bond_geomgrad->proc~rij_jacobian proc~l_free2->proc~chk_free proc~torsion_angle_jacobian->proc~versor_der proc~cross_product cross_product proc~torsion_angle_jacobian->proc~cross_product proc~vec_skw vec_skw proc~torsion_angle_jacobian->proc~vec_skw proc~fatal_error fatal_error proc~chk_free->proc~fatal_error proc~chk_alloc->proc~fatal_error proc~inplane_angle_jacobian->proc~versor_der proc~inplane_angle_jacobian->proc~simple_angle_jacobian proc~inplane_angle_jacobian->proc~cross_product proc~inplane_angle_jacobian->proc~vec_skw proc~ommp_message ommp_message proc~fatal_error->proc~ommp_message proc~close_output close_output proc~fatal_error->proc~close_output proc~close_output->proc~ommp_message

Called by

proc~~qm_helper_link_atom_geomgrad~~CalledByGraph proc~qm_helper_link_atom_geomgrad qm_helper_link_atom_geomgrad proc~ommp_qm_helper_link_atom_geomgrad ommp_qm_helper_link_atom_geomgrad proc~ommp_qm_helper_link_atom_geomgrad->proc~qm_helper_link_atom_geomgrad proc~c_ommp_qm_helper_link_atom_geomgrad C_ommp_qm_helper_link_atom_geomgrad proc~c_ommp_qm_helper_link_atom_geomgrad->proc~ommp_qm_helper_link_atom_geomgrad

Contents