test_SI_geomgrad_num Program

Uses

  • program~~test_si_geomgrad_num~~UsesGraph program~test_si_geomgrad_num test_SI_geomgrad_num module~test_geomgrad test_geomgrad program~test_si_geomgrad_num->module~test_geomgrad iso_c_binding iso_c_binding program~test_si_geomgrad_num->iso_c_binding module~ommp_interface ommp_interface program~test_si_geomgrad_num->module~ommp_interface module~test_geomgrad->module~ommp_interface module~mod_electrostatics mod_electrostatics module~ommp_interface->module~mod_electrostatics module~mod_memory mod_memory module~ommp_interface->module~mod_memory module~mod_constants mod_constants module~ommp_interface->module~mod_constants module~mod_io mod_io module~ommp_interface->module~mod_io module~mod_topology mod_topology module~ommp_interface->module~mod_topology module~mod_profiling mod_profiling module~ommp_interface->module~mod_profiling module~mod_mmpol mod_mmpol module~ommp_interface->module~mod_mmpol module~mod_qm_helper mod_qm_helper module~ommp_interface->module~mod_qm_helper module~mod_electrostatics->module~mod_memory module~mod_electrostatics->module~mod_constants module~mod_electrostatics->module~mod_io module~mod_electrostatics->module~mod_topology module~mod_electrostatics->module~mod_profiling module~mod_adjacency_mat mod_adjacency_mat module~mod_electrostatics->module~mod_adjacency_mat module~mod_memory->iso_c_binding module~mod_memory->module~mod_constants module~mod_memory->module~mod_io module~mod_constants->iso_c_binding module~mod_io->module~mod_constants module~mod_topology->module~mod_memory module~mod_topology->module~mod_adjacency_mat module~mod_profiling->module~mod_memory module~mod_profiling->module~mod_constants module~mod_profiling->module~mod_io module~mod_mmpol->module~mod_electrostatics module~mod_mmpol->module~mod_memory module~mod_mmpol->module~mod_constants module~mod_mmpol->module~mod_io module~mod_mmpol->module~mod_topology module~mod_mmpol->module~mod_adjacency_mat module~mod_link_atom mod_link_atom module~mod_mmpol->module~mod_link_atom module~mod_nonbonded mod_nonbonded module~mod_mmpol->module~mod_nonbonded module~mod_bonded mod_bonded module~mod_mmpol->module~mod_bonded module~mod_qm_helper->module~mod_memory module~mod_qm_helper->module~mod_topology module~mod_qm_helper->module~mod_mmpol module~mod_qm_helper->module~mod_nonbonded module~mod_adjacency_mat->module~mod_memory module~mod_link_atom->module~mod_memory module~mod_link_atom->module~mod_constants module~mod_link_atom->module~mod_io module~mod_link_atom->module~mod_topology module~mod_link_atom->module~mod_nonbonded module~mod_link_atom->module~mod_bonded module~mod_utils mod_utils module~mod_link_atom->module~mod_utils 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_bonded->module~mod_memory module~mod_bonded->module~mod_io module~mod_bonded->module~mod_topology module~mod_utils->module~mod_memory module~mod_utils->module~mod_constants module~mod_neighbor_list->module~mod_memory module~mod_neighbor_list->module~mod_io module~mod_neighbor_list->module~mod_adjacency_mat

Calls

program~~test_si_geomgrad_num~~CallsGraph program~test_si_geomgrad_num test_SI_geomgrad_num proc~ommp_smartinput ommp_smartinput program~test_si_geomgrad_num->proc~ommp_smartinput proc~ommp_smartinput_cpstr ommp_smartinput_cpstr program~test_si_geomgrad_num->proc~ommp_smartinput_cpstr proc~ommp_system_from_qm_helper ommp_system_from_qm_helper program~test_si_geomgrad_num->proc~ommp_system_from_qm_helper proc~set_iof_mmpol set_iof_mmpol program~test_si_geomgrad_num->proc~set_iof_mmpol proc~ommp_turn_pol_off ommp_turn_pol_off program~test_si_geomgrad_num->proc~ommp_turn_pol_off proc~num_grd_print num_grd_print program~test_si_geomgrad_num->proc~num_grd_print proc~ommp_terminate ommp_terminate program~test_si_geomgrad_num->proc~ommp_terminate proc~ommp_terminate_qm_helper ommp_terminate_qm_helper program~test_si_geomgrad_num->proc~ommp_terminate_qm_helper proc~assign_angle assign_angle proc~ommp_system_from_qm_helper->proc~assign_angle proc~assign_strbnd assign_strbnd proc~ommp_system_from_qm_helper->proc~assign_strbnd proc~assign_mpoles assign_mpoles proc~ommp_system_from_qm_helper->proc~assign_mpoles proc~mmpol_init_bonded mmpol_init_bonded proc~ommp_system_from_qm_helper->proc~mmpol_init_bonded proc~str_uncomment str_uncomment proc~ommp_system_from_qm_helper->proc~str_uncomment proc~get_prm_ff_type get_prm_ff_type proc~ommp_system_from_qm_helper->proc~get_prm_ff_type proc~build_conn_upto_n build_conn_upto_n proc~ommp_system_from_qm_helper->proc~build_conn_upto_n proc~ommp_message ommp_message proc~ommp_system_from_qm_helper->proc~ommp_message proc~mmpol_init_nonbonded mmpol_init_nonbonded proc~ommp_system_from_qm_helper->proc~mmpol_init_nonbonded proc~assign_vdw assign_vdw proc~ommp_system_from_qm_helper->proc~assign_vdw proc~assign_bond assign_bond proc~ommp_system_from_qm_helper->proc~assign_bond proc~assign_imptorsion assign_imptorsion proc~ommp_system_from_qm_helper->proc~assign_imptorsion proc~fatal_error fatal_error proc~ommp_system_from_qm_helper->proc~fatal_error proc~check_keyword~2 check_keyword proc~ommp_system_from_qm_helper->proc~check_keyword~2 proc~str_to_lower str_to_lower proc~ommp_system_from_qm_helper->proc~str_to_lower proc~assign_urey assign_urey proc~ommp_system_from_qm_helper->proc~assign_urey proc~large_file_read large_file_read proc~ommp_system_from_qm_helper->proc~large_file_read proc~assign_torsion assign_torsion proc~ommp_system_from_qm_helper->proc~assign_torsion proc~mmpol_init mmpol_init proc~ommp_system_from_qm_helper->proc~mmpol_init proc~assign_strtor assign_strtor proc~ommp_system_from_qm_helper->proc~assign_strtor proc~assign_pol assign_pol proc~ommp_system_from_qm_helper->proc~assign_pol proc~check_conn_matrix check_conn_matrix proc~ommp_system_from_qm_helper->proc~check_conn_matrix proc~assign_pitors assign_pitors proc~ommp_system_from_qm_helper->proc~assign_pitors proc~assign_tortors assign_tortors proc~ommp_system_from_qm_helper->proc~assign_tortors proc~assign_angtor assign_angtor proc~ommp_system_from_qm_helper->proc~assign_angtor proc~mmpol_prepare mmpol_prepare proc~ommp_system_from_qm_helper->proc~mmpol_prepare proc~assign_opb assign_opb proc~ommp_system_from_qm_helper->proc~assign_opb proc~set_iof_mmpol->proc~ommp_message proc~set_iof_mmpol->proc~fatal_error proc~ommp_turn_pol_off->proc~ommp_message proc~remove_null_pol remove_null_pol proc~ommp_turn_pol_off->proc~remove_null_pol proc~ommp_turn_pol_off->proc~fatal_error proc~numerical_geomgrad numerical_geomgrad proc~num_grd_print->proc~numerical_geomgrad proc~print_qmmm_grad print_qmmm_grad proc~num_grd_print->proc~print_qmmm_grad proc~mmpol_terminate mmpol_terminate proc~ommp_terminate->proc~mmpol_terminate proc~qm_helper_terminate qm_helper_terminate proc~ommp_terminate_qm_helper->proc~qm_helper_terminate proc~assign_angle->proc~ommp_message proc~assign_angle->proc~fatal_error proc~angle_init angle_init proc~assign_angle->proc~angle_init proc~tokenize tokenize proc~assign_angle->proc~tokenize proc~isreal isreal proc~assign_angle->proc~isreal proc~read_atom_cards read_atom_cards proc~assign_angle->proc~read_atom_cards interface~mallocate mallocate proc~assign_angle->interface~mallocate proc~isint isint proc~assign_angle->proc~isint interface~mfree mfree proc~assign_angle->interface~mfree proc~assign_strbnd->proc~fatal_error proc~assign_strbnd->proc~tokenize proc~assign_strbnd->proc~isreal proc~assign_strbnd->proc~read_atom_cards proc~assign_strbnd->interface~mallocate proc~assign_strbnd->proc~isint proc~assign_strbnd->interface~mfree proc~strbnd_init strbnd_init proc~assign_strbnd->proc~strbnd_init proc~assign_mpoles->proc~ommp_message proc~assign_mpoles->proc~fatal_error proc~assign_mpoles->proc~tokenize proc~assign_mpoles->proc~isreal proc~set_screening_parameters set_screening_parameters proc~assign_mpoles->proc~set_screening_parameters proc~assign_mpoles->interface~mallocate proc~assign_mpoles->proc~isint proc~assign_mpoles->interface~mfree proc~get_prm_ff_type->proc~tokenize proc~matfree matfree proc~build_conn_upto_n->proc~matfree proc~mat_mult mat_mult proc~build_conn_upto_n->proc~mat_mult proc~mat_andnot mat_andnot proc~build_conn_upto_n->proc~mat_andnot proc~sparse_identity sparse_identity proc~build_conn_upto_n->proc~sparse_identity proc~matcpy matcpy proc~build_conn_upto_n->proc~matcpy proc~assign_vdw->proc~fatal_error proc~assign_vdw->proc~tokenize proc~assign_vdw->proc~isreal proc~vdw_init vdw_init proc~assign_vdw->proc~vdw_init proc~vdw_set_pair vdw_set_pair proc~assign_vdw->proc~vdw_set_pair proc~assign_vdw->proc~read_atom_cards proc~assign_vdw->interface~mallocate proc~assign_vdw->proc~isint proc~assign_vdw->interface~mfree proc~remove_null_pol->proc~ommp_message proc~remove_null_pol->interface~mallocate proc~remove_null_pol->interface~mfree proc~topology_terminate topology_terminate proc~mmpol_terminate->proc~topology_terminate proc~bonded_terminate bonded_terminate proc~mmpol_terminate->proc~bonded_terminate proc~vdw_terminate vdw_terminate proc~mmpol_terminate->proc~vdw_terminate proc~electrostatics_terminate electrostatics_terminate proc~mmpol_terminate->proc~electrostatics_terminate proc~update_coordinates update_coordinates proc~numerical_geomgrad->proc~update_coordinates proc~assign_bond->proc~ommp_message proc~assign_bond->proc~fatal_error proc~assign_bond->proc~tokenize proc~assign_bond->proc~isreal proc~assign_bond->proc~read_atom_cards proc~assign_bond->interface~mallocate proc~assign_bond->proc~isint proc~assign_bond->interface~mfree proc~bond_init bond_init proc~assign_bond->proc~bond_init proc~assign_imptorsion->proc~fatal_error proc~assign_imptorsion->proc~tokenize proc~assign_imptorsion->proc~isreal proc~assign_imptorsion->proc~read_atom_cards proc~assign_imptorsion->interface~mallocate proc~assign_imptorsion->proc~isint proc~assign_imptorsion->interface~mfree proc~imptorsion_init imptorsion_init proc~assign_imptorsion->proc~imptorsion_init proc~fatal_error->proc~ommp_message proc~close_output close_output proc~fatal_error->proc~close_output proc~check_keyword~2->proc~ommp_message proc~check_keyword~2->proc~str_to_lower proc~starts_with_alpha starts_with_alpha proc~check_keyword~2->proc~starts_with_alpha proc~check_keyword~2->proc~tokenize proc~keyword_is_ignored~2 keyword_is_ignored proc~check_keyword~2->proc~keyword_is_ignored~2 proc~keyword_is_recognized~2 keyword_is_recognized proc~check_keyword~2->proc~keyword_is_recognized~2 proc~keyword_is_implemented~2 keyword_is_implemented proc~check_keyword~2->proc~keyword_is_implemented~2 proc~assign_urey->proc~fatal_error proc~assign_urey->proc~tokenize proc~assign_urey->proc~isreal proc~urey_init urey_init proc~assign_urey->proc~urey_init proc~assign_urey->proc~read_atom_cards proc~assign_urey->interface~mallocate proc~assign_urey->proc~isint proc~assign_urey->interface~mfree proc~large_file_read->proc~fatal_error proc~assign_torsion->proc~fatal_error proc~assign_torsion->proc~tokenize proc~assign_torsion->proc~isreal proc~assign_torsion->proc~read_atom_cards proc~assign_torsion->interface~mallocate proc~assign_torsion->proc~isint proc~assign_torsion->interface~mfree proc~torsion_init torsion_init proc~assign_torsion->proc~torsion_init proc~mmpol_init->proc~fatal_error proc~time_pull time_pull proc~mmpol_init->proc~time_pull proc~topology_init topology_init proc~mmpol_init->proc~topology_init proc~time_push time_push proc~mmpol_init->proc~time_push proc~electrostatics_init electrostatics_init proc~mmpol_init->proc~electrostatics_init proc~assign_strtor->proc~fatal_error proc~assign_strtor->proc~tokenize proc~assign_strtor->proc~isreal proc~assign_strtor->proc~read_atom_cards proc~assign_strtor->interface~mallocate proc~assign_strtor->proc~isint proc~assign_strtor->interface~mfree proc~strtor_init strtor_init proc~assign_strtor->proc~strtor_init proc~assign_pol->proc~fatal_error proc~assign_pol->proc~tokenize proc~assign_pol->proc~isreal proc~assign_pol->proc~set_screening_parameters proc~assign_pol->interface~mallocate proc~assign_pol->proc~isint proc~assign_pol->interface~mfree proc~check_conn_matrix->proc~build_conn_upto_n proc~check_conn_matrix->proc~fatal_error proc~check_conn_matrix->proc~matfree proc~check_conn_matrix->proc~matcpy proc~qm_helper_terminate->proc~topology_terminate proc~qm_helper_terminate->proc~vdw_terminate proc~qm_helper_terminate->interface~mfree proc~assign_pitors->proc~fatal_error proc~assign_pitors->proc~tokenize proc~assign_pitors->proc~isreal proc~pitors_init pitors_init proc~assign_pitors->proc~pitors_init proc~assign_pitors->proc~read_atom_cards proc~assign_pitors->interface~mallocate proc~assign_pitors->proc~isint proc~assign_pitors->interface~mfree proc~assign_tortors->proc~fatal_error proc~tortor_init tortor_init proc~assign_tortors->proc~tortor_init proc~assign_tortors->proc~tokenize proc~assign_tortors->proc~isreal proc~tortor_newmap tortor_newmap proc~assign_tortors->proc~tortor_newmap proc~assign_tortors->proc~read_atom_cards proc~assign_tortors->interface~mallocate proc~assign_tortors->proc~isint proc~assign_tortors->interface~mfree proc~assign_angtor->proc~fatal_error proc~assign_angtor->proc~tokenize proc~assign_angtor->proc~isreal proc~assign_angtor->proc~read_atom_cards proc~assign_angtor->interface~mallocate proc~assign_angtor->proc~isint proc~assign_angtor->interface~mfree proc~angtor_init angtor_init proc~assign_angtor->proc~angtor_init proc~mmpol_prepare->proc~build_conn_upto_n proc~mmpol_prepare->proc~ommp_message proc~mmpol_prepare->proc~remove_null_pol proc~build_pg_adjacency_matrix build_pg_adjacency_matrix proc~mmpol_prepare->proc~build_pg_adjacency_matrix proc~mmpol_prepare->proc~time_pull proc~thole_init thole_init proc~mmpol_prepare->proc~thole_init proc~rotate_multipoles rotate_multipoles proc~mmpol_prepare->proc~rotate_multipoles proc~mmpol_prepare->proc~time_push proc~mmpol_prepare->proc~matcpy proc~make_screening_lists make_screening_lists proc~mmpol_prepare->proc~make_screening_lists proc~reverse_grp_tab reverse_grp_tab proc~mmpol_prepare->proc~reverse_grp_tab proc~assign_opb->proc~fatal_error proc~assign_opb->proc~tokenize proc~assign_opb->proc~isreal proc~opb_init opb_init proc~assign_opb->proc~opb_init proc~assign_opb->proc~read_atom_cards proc~assign_opb->interface~mallocate proc~assign_opb->proc~isint proc~assign_opb->interface~mfree proc~print_qmmm_grad->proc~ommp_message proc~tortor_init->interface~mallocate proc~topology_terminate->proc~matfree proc~topology_terminate->interface~mfree proc~strtor_terminate strtor_terminate proc~bonded_terminate->proc~strtor_terminate proc~angle_terminate angle_terminate proc~bonded_terminate->proc~angle_terminate proc~bond_terminate bond_terminate proc~bonded_terminate->proc~bond_terminate proc~opb_terminate opb_terminate proc~bonded_terminate->proc~opb_terminate proc~pitors_terminate pitors_terminate proc~bonded_terminate->proc~pitors_terminate proc~imptorsion_terminate imptorsion_terminate proc~bonded_terminate->proc~imptorsion_terminate proc~strbnd_terminate strbnd_terminate proc~bonded_terminate->proc~strbnd_terminate proc~urey_terminate urey_terminate proc~bonded_terminate->proc~urey_terminate proc~torsion_terminate torsion_terminate proc~bonded_terminate->proc~torsion_terminate proc~tortor_terminate tortor_terminate proc~bonded_terminate->proc~tortor_terminate proc~angtor_terminate angtor_terminate proc~bonded_terminate->proc~angtor_terminate proc~reallocate_mat reallocate_mat proc~mat_mult->proc~reallocate_mat proc~angle_init->interface~mallocate proc~set_screening_parameters->proc~fatal_error proc~vdw_init->proc~fatal_error proc~vdw_init->interface~mallocate proc~nl_init nl_init proc~vdw_init->proc~nl_init proc~vdw_set_pair->interface~mallocate proc~vdw_set_pair->interface~mfree proc~urey_init->interface~mallocate proc~opb_init->proc~ommp_message proc~opb_init->proc~fatal_error proc~opb_init->interface~mallocate proc~vdw_terminate->interface~mfree proc~nl_terminate nl_terminate proc~vdw_terminate->proc~nl_terminate proc~build_pg_adjacency_matrix->proc~reallocate_mat proc~time_pull->proc~ommp_message proc~time_pull->proc~fatal_error proc~mem_stat mem_stat proc~time_pull->proc~mem_stat proc~pitors_init->interface~mallocate proc~tortor_newmap->interface~mallocate proc~tortor_newmap->interface~mfree proc~cyclic_spline cyclic_spline proc~tortor_newmap->proc~cyclic_spline proc~topology_init->interface~mallocate proc~thole_init->proc~ommp_message proc~thole_init->proc~fatal_error proc~rotation_matrix rotation_matrix proc~rotate_multipoles->proc~rotation_matrix proc~time_push->proc~fatal_error proc~time_push->proc~mem_stat proc~mat_andnot->proc~reallocate_mat proc~electrostatics_terminate->proc~matfree proc~electrostatics_terminate->interface~mfree proc~read_atom_cards->proc~fatal_error proc~read_atom_cards->proc~tokenize proc~read_atom_cards->interface~mallocate proc~read_atom_cards->proc~isint proc~read_atom_cards->interface~mfree proc~count_substr_occurence count_substr_occurence proc~read_atom_cards->proc~count_substr_occurence proc~l_alloc2 l_alloc2 interface~mallocate->proc~l_alloc2 proc~r_alloc1 r_alloc1 interface~mallocate->proc~r_alloc1 proc~i_alloc3 i_alloc3 interface~mallocate->proc~i_alloc3 proc~i_alloc1 i_alloc1 interface~mallocate->proc~i_alloc1 proc~r_alloc2 r_alloc2 interface~mallocate->proc~r_alloc2 proc~r_alloc3 r_alloc3 interface~mallocate->proc~r_alloc3 proc~i_alloc2 i_alloc2 interface~mallocate->proc~i_alloc2 proc~l_alloc1 l_alloc1 interface~mallocate->proc~l_alloc1 proc~r_free1 r_free1 interface~mfree->proc~r_free1 proc~i_free2 i_free2 interface~mfree->proc~i_free2 proc~i_free3 i_free3 interface~mfree->proc~i_free3 proc~l_free2 l_free2 interface~mfree->proc~l_free2 proc~i_free1 i_free1 interface~mfree->proc~i_free1 proc~l_free1 l_free1 interface~mfree->proc~l_free1 proc~r_free3 r_free3 interface~mfree->proc~r_free3 proc~r_free2 r_free2 interface~mfree->proc~r_free2 proc~strbnd_init->interface~mallocate proc~update_coordinates->proc~rotate_multipoles proc~update_coordinates->interface~mfree proc~link_atom_update_merged_topology link_atom_update_merged_topology proc~update_coordinates->proc~link_atom_update_merged_topology proc~close_output->proc~ommp_message proc~make_screening_lists->interface~mallocate proc~make_screening_lists->interface~mfree proc~screening_rules screening_rules proc~make_screening_lists->proc~screening_rules proc~compress_list compress_list proc~make_screening_lists->proc~compress_list proc~compress_data compress_data proc~make_screening_lists->proc~compress_data proc~imptorsion_init->interface~mallocate proc~reverse_grp_tab->interface~mallocate proc~reverse_grp_tab->interface~mfree proc~reverse_grp_tab->proc~compress_list proc~electrostatics_init->interface~mallocate proc~torsion_init->interface~mallocate proc~strtor_init->interface~mallocate proc~angtor_init->interface~mallocate proc~bond_init->interface~mallocate proc~chk_free chk_free proc~r_free1->proc~chk_free proc~i_free2->proc~chk_free proc~screening_rules->proc~fatal_error proc~chk_alloc chk_alloc proc~l_alloc2->proc~chk_alloc proc~memory_init memory_init proc~l_alloc2->proc~memory_init proc~r_alloc1->proc~chk_alloc proc~r_alloc1->proc~memory_init proc~nl_init->proc~fatal_error proc~nl_init->interface~mallocate proc~nl_update nl_update proc~nl_init->proc~nl_update proc~strtor_terminate->interface~mfree proc~angle_terminate->interface~mfree proc~bond_terminate->interface~mfree proc~opb_terminate->interface~mfree proc~pitors_terminate->interface~mfree proc~imptorsion_terminate->interface~mfree proc~cyclic_spline->interface~mallocate proc~cyclic_spline->interface~mfree dgetrf dgetrf proc~cyclic_spline->dgetrf dgetri dgetri proc~cyclic_spline->dgetri dgemm dgemm proc~cyclic_spline->dgemm proc~i_free3->proc~chk_free proc~i_alloc3->proc~chk_alloc proc~i_alloc3->proc~memory_init proc~l_free2->proc~chk_free proc~i_free1->proc~chk_free proc~compress_list->interface~mallocate proc~compress_list->interface~mfree proc~compress_data->interface~mallocate proc~mem_stat->proc~memory_init proc~strbnd_terminate->interface~mfree proc~urey_terminate->interface~mfree proc~torsion_terminate->interface~mfree proc~tortor_terminate->interface~mfree proc~nl_terminate->proc~matfree proc~nl_terminate->interface~mfree proc~angtor_terminate->interface~mfree proc~rotation_matrix->proc~fatal_error proc~i_alloc1->proc~chk_alloc proc~i_alloc1->proc~memory_init proc~r_alloc2->proc~chk_alloc proc~r_alloc2->proc~memory_init proc~l_free1->proc~chk_free proc~r_free3->proc~chk_free proc~r_free2->proc~chk_free 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~l_alloc1->proc~chk_alloc proc~l_alloc1->proc~memory_init proc~chk_free->proc~fatal_error proc~nl_update->proc~ommp_message proc~nl_update->proc~time_pull proc~nl_update->proc~time_push proc~nl_update->interface~mfree proc~nl_update->proc~reverse_grp_tab proc~chk_alloc->proc~fatal_error

Contents


Variables

Type Attributes Name Initial
character(kind=c_char, len=120), dimension(3) :: args
character(len=OMMP_STR_CHAR_MAX) :: prm_file
integer :: narg
type(ommp_system), pointer :: my_system
type(ommp_system), pointer :: fake_qm
type(ommp_qm_helper), pointer :: my_qmh
logical :: use_qm = .false.
logical :: use_fake_qm = .false.
procedure(energy_term), pointer :: gt