memory_init Subroutine

public subroutine memory_init(do_chk, max_Gbytes)

Routine used to initialize the memory module. It should be called during the module initialization.

Arguments

Type IntentOptional Attributes Name
logical :: do_chk

Switch for memory soft limit

real(kind=rp), intent(in) :: max_Gbytes

Amount of memory available in bytes


Called by

proc~~memory_init~~CalledByGraph proc~memory_init memory_init proc~mem_stat mem_stat proc~mem_stat->proc~memory_init proc~r_alloc1 r_alloc1 proc~r_alloc1->proc~memory_init proc~r_alloc3 r_alloc3 proc~r_alloc3->proc~memory_init proc~i_alloc1 i_alloc1 proc~i_alloc1->proc~memory_init proc~r_alloc2 r_alloc2 proc~r_alloc2->proc~memory_init proc~i_alloc2 i_alloc2 proc~i_alloc2->proc~memory_init proc~i_alloc3 i_alloc3 proc~i_alloc3->proc~memory_init proc~l_alloc1 l_alloc1 proc~l_alloc1->proc~memory_init proc~l_alloc2 l_alloc2 proc~l_alloc2->proc~memory_init proc~mmpol_init_from_mmp mmpol_init_from_mmp proc~mmpol_init_from_mmp->proc~memory_init proc~time_push time_push proc~mmpol_init_from_mmp->proc~time_push interface~mallocate mallocate proc~mmpol_init_from_mmp->interface~mallocate proc~time_pull time_pull proc~mmpol_init_from_mmp->proc~time_pull proc~adj_mat_from_conn adj_mat_from_conn proc~mmpol_init_from_mmp->proc~adj_mat_from_conn proc~mmpol_init mmpol_init proc~mmpol_init_from_mmp->proc~mmpol_init proc~mmpol_prepare mmpol_prepare proc~mmpol_init_from_mmp->proc~mmpol_prepare proc~time_push->proc~mem_stat interface~mallocate->proc~r_alloc1 interface~mallocate->proc~r_alloc3 interface~mallocate->proc~i_alloc1 interface~mallocate->proc~r_alloc2 interface~mallocate->proc~i_alloc2 interface~mallocate->proc~i_alloc3 interface~mallocate->proc~l_alloc1 interface~mallocate->proc~l_alloc2 proc~time_pull->proc~mem_stat proc~ommp_init_mmp ommp_init_mmp proc~ommp_init_mmp->proc~mmpol_init_from_mmp proc~vdw_init vdw_init proc~vdw_init->interface~mallocate proc~nl_init nl_init proc~vdw_init->proc~nl_init proc~tortor_init tortor_init proc~tortor_init->interface~mallocate proc~ommp_get_tortor_energy ommp_get_tortor_energy proc~ommp_get_tortor_energy->proc~time_push proc~ommp_get_tortor_energy->proc~time_pull proc~ommp_get_urey_energy ommp_get_urey_energy proc~ommp_get_urey_energy->proc~time_push proc~ommp_get_urey_energy->proc~time_pull proc~assign_torsion assign_torsion proc~assign_torsion->interface~mallocate proc~read_atom_cards read_atom_cards proc~assign_torsion->proc~read_atom_cards proc~torsion_init torsion_init proc~assign_torsion->proc~torsion_init proc~guess_connectivity guess_connectivity proc~guess_connectivity->interface~mallocate proc~guess_connectivity->proc~adj_mat_from_conn proc~polarization polarization proc~polarization->proc~time_push proc~polarization->interface~mallocate proc~polarization->proc~time_pull proc~inversion_solver inversion_solver proc~polarization->proc~inversion_solver proc~jacobi_diis_solver jacobi_diis_solver proc~polarization->proc~jacobi_diis_solver proc~conjugate_gradient_solver conjugate_gradient_solver proc~polarization->proc~conjugate_gradient_solver proc~ommp_rotation_geomgrad ommp_rotation_geomgrad proc~ommp_rotation_geomgrad->proc~time_push proc~ommp_rotation_geomgrad->proc~time_pull proc~compress_list compress_list proc~compress_list->interface~mallocate proc~adj_mat_from_conn->interface~mallocate proc~adj_mat_from_conn->proc~compress_list proc~sort_ivec_inplace sort_ivec_inplace proc~adj_mat_from_conn->proc~sort_ivec_inplace proc~assign_imptorsion assign_imptorsion proc~assign_imptorsion->interface~mallocate proc~imptorsion_init imptorsion_init proc~assign_imptorsion->proc~imptorsion_init proc~assign_imptorsion->proc~read_atom_cards proc~nl_update nl_update proc~nl_update->proc~time_push proc~nl_update->proc~time_pull proc~reverse_grp_tab reverse_grp_tab proc~nl_update->proc~reverse_grp_tab proc~sort_ivec sort_ivec proc~sort_ivec->interface~mallocate proc~ommp_get_opb_energy ommp_get_opb_energy proc~ommp_get_opb_energy->proc~time_push proc~ommp_get_opb_energy->proc~time_pull proc~imptorsion_init->interface~mallocate proc~ommp_angtor_geomgrad ommp_angtor_geomgrad proc~ommp_angtor_geomgrad->proc~time_push proc~ommp_angtor_geomgrad->proc~time_pull proc~ommp_urey_geomgrad ommp_urey_geomgrad proc~ommp_urey_geomgrad->proc~time_push proc~ommp_urey_geomgrad->proc~time_pull proc~strbnd_init strbnd_init proc~strbnd_init->interface~mallocate proc~bond_init bond_init proc~bond_init->interface~mallocate proc~nl_init->interface~mallocate proc~nl_init->proc~nl_update proc~add_link_atom add_link_atom proc~add_link_atom->interface~mallocate proc~compress_data compress_data proc~compress_data->interface~mallocate proc~c_ommp_time_pull C_ommp_time_pull proc~c_ommp_time_pull->proc~time_pull proc~mmpol_init_from_xyz mmpol_init_from_xyz proc~mmpol_init_from_xyz->proc~time_push proc~mmpol_init_from_xyz->interface~mallocate proc~mmpol_init_from_xyz->proc~time_pull proc~mmpol_init_from_xyz->proc~assign_torsion proc~mmpol_init_from_xyz->proc~adj_mat_from_conn proc~mmpol_init_from_xyz->proc~assign_imptorsion proc~assign_strbnd assign_strbnd proc~mmpol_init_from_xyz->proc~assign_strbnd proc~assign_urey assign_urey proc~mmpol_init_from_xyz->proc~assign_urey proc~assign_opb assign_opb proc~mmpol_init_from_xyz->proc~assign_opb proc~assign_mpoles assign_mpoles proc~mmpol_init_from_xyz->proc~assign_mpoles proc~assign_pol assign_pol proc~mmpol_init_from_xyz->proc~assign_pol proc~assign_pitors assign_pitors proc~mmpol_init_from_xyz->proc~assign_pitors proc~assign_angle assign_angle proc~mmpol_init_from_xyz->proc~assign_angle proc~assign_angtor assign_angtor proc~mmpol_init_from_xyz->proc~assign_angtor proc~assign_strtor assign_strtor proc~mmpol_init_from_xyz->proc~assign_strtor proc~assign_bond assign_bond proc~mmpol_init_from_xyz->proc~assign_bond proc~mmpol_init_from_xyz->proc~mmpol_init proc~assign_tortors assign_tortors proc~mmpol_init_from_xyz->proc~assign_tortors proc~assign_vdw assign_vdw proc~mmpol_init_from_xyz->proc~assign_vdw proc~mmpol_init_from_xyz->proc~mmpol_prepare proc~assign_strbnd->interface~mallocate proc~assign_strbnd->proc~strbnd_init proc~assign_strbnd->proc~read_atom_cards proc~electrostatics_init electrostatics_init proc~electrostatics_init->interface~mallocate proc~qm_helper_init qm_helper_init proc~qm_helper_init->interface~mallocate proc~qm_helper_init->proc~guess_connectivity proc~topology_init topology_init proc~qm_helper_init->proc~topology_init proc~ommp_get_full_bnd_energy ommp_get_full_bnd_energy proc~ommp_get_full_bnd_energy->proc~time_push proc~ommp_get_full_bnd_energy->proc~time_pull proc~ommp_vdw_geomgrad ommp_vdw_geomgrad proc~ommp_vdw_geomgrad->proc~time_push proc~ommp_vdw_geomgrad->proc~time_pull proc~vdw_geomgrad vdw_geomgrad proc~ommp_vdw_geomgrad->proc~vdw_geomgrad proc~link_atom_torsion_geomgrad link_atom_torsion_geomgrad proc~link_atom_torsion_geomgrad->interface~mallocate proc~inversion_solver->interface~mallocate proc~ommp_bond_geomgrad ommp_bond_geomgrad proc~ommp_bond_geomgrad->proc~time_push proc~ommp_bond_geomgrad->proc~time_pull proc~link_atom_bond_geomgrad link_atom_bond_geomgrad proc~ommp_bond_geomgrad->proc~link_atom_bond_geomgrad proc~cyclic_spline cyclic_spline proc~cyclic_spline->interface~mallocate proc~assign_urey->interface~mallocate proc~assign_urey->proc~read_atom_cards proc~urey_init urey_init proc~assign_urey->proc~urey_init proc~ommp_opb_geomgrad ommp_opb_geomgrad proc~ommp_opb_geomgrad->proc~time_push proc~ommp_opb_geomgrad->proc~time_pull proc~ommp_get_vdw_energy ommp_get_vdw_energy proc~ommp_get_vdw_energy->proc~time_push proc~ommp_get_vdw_energy->proc~time_pull proc~vdw_potential vdw_potential proc~ommp_get_vdw_energy->proc~vdw_potential proc~angle_init angle_init proc~angle_init->interface~mallocate proc~opb_init opb_init proc~opb_init->interface~mallocate proc~assign_opb->interface~mallocate proc~assign_opb->proc~opb_init proc~assign_opb->proc~read_atom_cards proc~ommp_strbnd_geomgrad ommp_strbnd_geomgrad proc~ommp_strbnd_geomgrad->proc~time_push proc~ommp_strbnd_geomgrad->proc~time_pull proc~ommp_strtor_geomgrad ommp_strtor_geomgrad proc~ommp_strtor_geomgrad->proc~time_push proc~ommp_strtor_geomgrad->proc~time_pull proc~c_ommp_time_push C_ommp_time_push proc~c_ommp_time_push->proc~time_push proc~ommp_get_full_energy ommp_get_full_energy proc~ommp_get_full_energy->proc~time_push proc~ommp_get_full_energy->proc~time_pull proc~ommp_get_full_energy->proc~ommp_get_full_bnd_energy proc~ommp_get_full_energy->proc~ommp_get_vdw_energy proc~ommp_get_full_ele_energy ommp_get_full_ele_energy proc~ommp_get_full_energy->proc~ommp_get_full_ele_energy proc~ommp_get_pitors_energy ommp_get_pitors_energy proc~ommp_get_pitors_energy->proc~time_push proc~ommp_get_pitors_energy->proc~time_pull proc~ommp_full_geomgrad ommp_full_geomgrad proc~ommp_full_geomgrad->proc~time_push proc~ommp_full_geomgrad->proc~time_pull proc~ommp_full_geomgrad->proc~vdw_geomgrad proc~ommp_full_bnd_geomgrad ommp_full_bnd_geomgrad proc~ommp_full_geomgrad->proc~ommp_full_bnd_geomgrad proc~fixedelec_geomgrad fixedelec_geomgrad proc~ommp_full_geomgrad->proc~fixedelec_geomgrad proc~polelec_geomgrad polelec_geomgrad proc~ommp_full_geomgrad->proc~polelec_geomgrad proc~fmm_coordinates_update fmm_coordinates_update proc~fmm_coordinates_update->proc~time_push proc~fmm_coordinates_update->proc~time_pull proc~fmm_make_neigh_list fmm_make_neigh_list proc~fmm_coordinates_update->proc~fmm_make_neigh_list proc~init_as_octatree init_as_octatree proc~fmm_coordinates_update->proc~init_as_octatree proc~topology_init->interface~mallocate proc~link_atom_angle_geomgrad link_atom_angle_geomgrad proc~link_atom_angle_geomgrad->interface~mallocate proc~ommp_set_external_field ommp_set_external_field proc~ommp_set_external_field->interface~mallocate proc~ommp_set_external_field->proc~polarization proc~prepare_polelec prepare_polelec proc~ommp_set_external_field->proc~prepare_polelec proc~qm_helper_link_atom_geomgrad qm_helper_link_atom_geomgrad proc~qm_helper_link_atom_geomgrad->interface~mallocate proc~qm_helper_link_atom_geomgrad->proc~link_atom_torsion_geomgrad proc~qm_helper_link_atom_geomgrad->proc~link_atom_angle_geomgrad proc~qm_helper_link_atom_geomgrad->proc~link_atom_bond_geomgrad proc~c_ommp_init_mmp C_ommp_init_mmp proc~c_ommp_init_mmp->proc~ommp_init_mmp proc~check_vdw_pairs check_vdw_pairs proc~check_vdw_pairs->interface~mallocate proc~diis diis proc~diis->interface~mallocate proc~electrostatic_for_ene electrostatic_for_ene proc~electrostatic_for_ene->interface~mallocate proc~assign_mpoles->interface~mallocate proc~ommp_get_torsion_energy ommp_get_torsion_energy proc~ommp_get_torsion_energy->proc~time_push proc~ommp_get_torsion_energy->proc~time_pull proc~assign_pol->interface~mallocate proc~ommp_angle_geomgrad ommp_angle_geomgrad proc~ommp_angle_geomgrad->proc~time_push proc~ommp_angle_geomgrad->proc~time_pull proc~ommp_angle_geomgrad->proc~link_atom_angle_geomgrad proc~ommp_fixedelec_geomgrad ommp_fixedelec_geomgrad proc~ommp_fixedelec_geomgrad->proc~time_push proc~ommp_fixedelec_geomgrad->proc~time_pull proc~ommp_fixedelec_geomgrad->proc~fixedelec_geomgrad proc~ommp_get_polelec_energy ommp_get_polelec_energy proc~ommp_get_polelec_energy->proc~time_push proc~ommp_get_polelec_energy->proc~time_pull proc~ommp_get_polelec_energy->proc~polarization proc~ommp_get_polelec_energy->proc~prepare_polelec proc~energy_mm_pol energy_MM_pol proc~ommp_get_polelec_energy->proc~energy_mm_pol proc~ommp_get_bond_energy ommp_get_bond_energy proc~ommp_get_bond_energy->proc~time_push proc~ommp_get_bond_energy->proc~time_pull proc~vdw_potential->proc~time_push proc~vdw_potential->interface~mallocate proc~vdw_potential->proc~time_pull proc~prepare_fmm_ext_ipd prepare_fmm_ext_ipd proc~prepare_fmm_ext_ipd->interface~mallocate proc~fmm_solve_for_multipoles fmm_solve_for_multipoles proc~prepare_fmm_ext_ipd->proc~fmm_solve_for_multipoles proc~electrostatic_for_grad electrostatic_for_grad proc~electrostatic_for_grad->interface~mallocate proc~c_ommp_get_polar_mm C_ommp_get_polar_mm proc~c_ommp_get_polar_mm->interface~mallocate proc~ommp_torsion_geomgrad ommp_torsion_geomgrad proc~ommp_torsion_geomgrad->proc~time_push proc~ommp_torsion_geomgrad->proc~time_pull proc~ommp_torsion_geomgrad->proc~link_atom_torsion_geomgrad proc~read_atom_cards->interface~mallocate proc~init_eel_for_link_atom init_eel_for_link_atom proc~init_eel_for_link_atom->interface~mallocate proc~init_eel_for_link_atom->proc~electrostatics_init proc~init_eel_for_link_atom->proc~assign_mpoles proc~remove_null_pol remove_null_pol proc~init_eel_for_link_atom->proc~remove_null_pol proc~preapare_fmm_static preapare_fmm_static proc~preapare_fmm_static->interface~mallocate proc~preapare_fmm_static->proc~fmm_solve_for_multipoles proc~fmm_make_neigh_list->interface~mallocate proc~fmm_make_neigh_list->proc~compress_list proc~link_atom_bond_geomgrad->interface~mallocate proc~make_screening_lists make_screening_lists proc~make_screening_lists->interface~mallocate proc~make_screening_lists->proc~compress_list proc~make_screening_lists->proc~compress_data proc~make_screening_lists->proc~fmm_make_neigh_list proc~assign_pitors->interface~mallocate proc~assign_pitors->proc~read_atom_cards proc~pitors_init pitors_init proc~assign_pitors->proc~pitors_init proc~fmm_solve_for_multipoles->proc~time_push proc~fmm_solve_for_multipoles->proc~time_pull proc~vdw_geomgrad->proc~time_push proc~vdw_geomgrad->interface~mallocate proc~vdw_geomgrad->proc~time_pull proc~strtor_init strtor_init proc~strtor_init->interface~mallocate proc~jacobi_diis_solver->interface~mallocate proc~jacobi_diis_solver->proc~diis proc~ommp_polelec_geomgrad ommp_polelec_geomgrad proc~ommp_polelec_geomgrad->proc~time_push proc~ommp_polelec_geomgrad->proc~time_pull proc~ommp_polelec_geomgrad->proc~polelec_geomgrad proc~ommp_full_bnd_geomgrad->proc~time_push proc~ommp_full_bnd_geomgrad->proc~time_pull proc~ommp_full_bnd_geomgrad->proc~link_atom_torsion_geomgrad proc~ommp_full_bnd_geomgrad->proc~link_atom_angle_geomgrad proc~ommp_full_bnd_geomgrad->proc~link_atom_bond_geomgrad proc~prepare_fixedelec prepare_fixedelec proc~prepare_fixedelec->proc~time_push proc~prepare_fixedelec->interface~mallocate proc~prepare_fixedelec->proc~time_pull proc~elec_prop_m2m elec_prop_M2M proc~prepare_fixedelec->proc~elec_prop_m2m proc~ommp_get_fixedelec_energy ommp_get_fixedelec_energy proc~ommp_get_fixedelec_energy->proc~time_push proc~ommp_get_fixedelec_energy->proc~time_pull proc~energy_mm_mm energy_MM_MM proc~ommp_get_fixedelec_energy->proc~energy_mm_mm proc~assign_angle->interface~mallocate proc~assign_angle->proc~angle_init proc~assign_angle->proc~read_atom_cards proc~tortor_newmap tortor_newmap proc~tortor_newmap->interface~mallocate proc~tortor_newmap->proc~cyclic_spline proc~ommp_pitors_geomgrad ommp_pitors_geomgrad proc~ommp_pitors_geomgrad->proc~time_push proc~ommp_pitors_geomgrad->proc~time_pull proc~assign_angtor->interface~mallocate proc~assign_angtor->proc~read_atom_cards proc~angtor_init angtor_init proc~assign_angtor->proc~angtor_init proc~ommp_get_angtor_energy ommp_get_angtor_energy proc~ommp_get_angtor_energy->proc~time_push proc~ommp_get_angtor_energy->proc~time_pull proc~assign_strtor->interface~mallocate proc~assign_strtor->proc~read_atom_cards proc~assign_strtor->proc~strtor_init proc~init_link_atom init_link_atom proc~init_link_atom->interface~mallocate proc~merge_top merge_top proc~init_link_atom->proc~merge_top proc~ommp_get_angle_energy ommp_get_angle_energy proc~ommp_get_angle_energy->proc~time_push proc~ommp_get_angle_energy->proc~time_pull proc~ommp_get_strbnd_energy ommp_get_strbnd_energy proc~ommp_get_strbnd_energy->proc~time_push proc~ommp_get_strbnd_energy->proc~time_pull proc~assign_bond->interface~mallocate proc~assign_bond->proc~bond_init proc~assign_bond->proc~read_atom_cards proc~torsion_init->interface~mallocate proc~ommp_get_strtor_energy ommp_get_strtor_energy proc~ommp_get_strtor_energy->proc~time_push proc~ommp_get_strtor_energy->proc~time_pull proc~pitors_init->interface~mallocate proc~urey_init->interface~mallocate proc~conjugate_gradient_solver->interface~mallocate proc~mmpol_init->proc~time_push proc~mmpol_init->proc~time_pull proc~mmpol_init->proc~electrostatics_init proc~mmpol_init->proc~topology_init proc~assign_tortors->interface~mallocate proc~assign_tortors->proc~tortor_init proc~assign_tortors->proc~read_atom_cards proc~assign_tortors->proc~tortor_newmap proc~assign_vdw->interface~mallocate proc~assign_vdw->proc~vdw_init proc~assign_vdw->proc~read_atom_cards proc~vdw_set_pair vdw_set_pair proc~assign_vdw->proc~vdw_set_pair proc~ommp_get_imptorsion_energy ommp_get_imptorsion_energy proc~ommp_get_imptorsion_energy->proc~time_push proc~ommp_get_imptorsion_energy->proc~time_pull proc~ommp_imptorsion_geomgrad ommp_imptorsion_geomgrad proc~ommp_imptorsion_geomgrad->proc~time_push proc~ommp_imptorsion_geomgrad->proc~time_pull proc~mmpol_prepare->proc~time_push proc~mmpol_prepare->proc~time_pull proc~mmpol_prepare->proc~fmm_coordinates_update proc~mmpol_prepare->proc~make_screening_lists proc~mmpol_prepare->proc~reverse_grp_tab proc~mmpol_prepare->proc~remove_null_pol proc~fixedelec_geomgrad->proc~time_push proc~fixedelec_geomgrad->proc~time_pull proc~fixedelec_geomgrad->proc~prepare_fixedelec proc~angtor_init->interface~mallocate proc~reverse_grp_tab->interface~mallocate proc~reverse_grp_tab->proc~compress_list proc~mmpol_ommp_print_summary mmpol_ommp_print_summary proc~mmpol_ommp_print_summary->interface~mallocate proc~mmpol_ommp_print_summary->proc~sort_ivec proc~remove_null_pol->interface~mallocate proc~prepare_polelec->interface~mallocate proc~elec_prop_m2d elec_prop_M2D proc~prepare_polelec->proc~elec_prop_m2d proc~elec_prop_d2m elec_prop_D2M proc~prepare_polelec->proc~elec_prop_d2m proc~elec_prop_d2d elec_prop_D2D proc~prepare_polelec->proc~elec_prop_d2d proc~ommp_tortor_geomgrad ommp_tortor_geomgrad proc~ommp_tortor_geomgrad->proc~time_push proc~ommp_tortor_geomgrad->proc~time_pull proc~vdw_set_pair->interface~mallocate proc~c_ommp_angle_geomgrad C_ommp_angle_geomgrad proc~c_ommp_angle_geomgrad->proc~ommp_angle_geomgrad proc~vdw_set_cutoff vdw_set_cutoff proc~vdw_set_cutoff->proc~nl_init proc~c_ommp_get_tortor_energy C_ommp_get_tortor_energy proc~c_ommp_get_tortor_energy->proc~ommp_get_tortor_energy proc~ommp_system_from_qm_helper ommp_system_from_qm_helper proc~ommp_system_from_qm_helper->proc~assign_torsion proc~ommp_system_from_qm_helper->proc~assign_imptorsion proc~ommp_system_from_qm_helper->proc~assign_strbnd proc~ommp_system_from_qm_helper->proc~assign_urey proc~ommp_system_from_qm_helper->proc~assign_opb proc~ommp_system_from_qm_helper->proc~assign_mpoles proc~ommp_system_from_qm_helper->proc~assign_pol proc~ommp_system_from_qm_helper->proc~assign_pitors proc~ommp_system_from_qm_helper->proc~assign_angle proc~ommp_system_from_qm_helper->proc~assign_angtor proc~ommp_system_from_qm_helper->proc~assign_strtor proc~ommp_system_from_qm_helper->proc~assign_bond proc~ommp_system_from_qm_helper->proc~mmpol_init proc~ommp_system_from_qm_helper->proc~assign_tortors proc~ommp_system_from_qm_helper->proc~assign_vdw proc~ommp_system_from_qm_helper->proc~mmpol_prepare proc~c_ommp_get_urey_energy C_ommp_get_urey_energy proc~c_ommp_get_urey_energy->proc~ommp_get_urey_energy proc~polelec_geomgrad->proc~polarization proc~polelec_geomgrad->proc~prepare_polelec proc~c_ommp_rotation_geomgrad C_ommp_rotation_geomgrad proc~c_ommp_rotation_geomgrad->proc~ommp_rotation_geomgrad proc~populate_level_list populate_level_list proc~populate_level_list->proc~compress_list proc~tree_populate_farnear_lists tree_populate_farnear_lists proc~tree_populate_farnear_lists->proc~compress_list proc~c_ommp_get_opb_energy C_ommp_get_opb_energy proc~c_ommp_get_opb_energy->proc~ommp_get_opb_energy proc~c_ommp_vdw_geomgrad C_ommp_vdw_geomgrad proc~c_ommp_vdw_geomgrad->proc~ommp_vdw_geomgrad proc~c_ommp_prepare_qm_ele_ene C_ommp_prepare_qm_ele_ene proc~c_ommp_prepare_qm_ele_ene->proc~electrostatic_for_ene proc~c_ommp_get_torsion_energy C_ommp_get_torsion_energy proc~c_ommp_get_torsion_energy->proc~ommp_get_torsion_energy proc~ommp_get_full_ele_energy->proc~ommp_get_polelec_energy proc~ommp_get_full_ele_energy->proc~ommp_get_fixedelec_energy proc~c_ommp_prepare_qm_ele_grd C_ommp_prepare_qm_ele_grd proc~c_ommp_prepare_qm_ele_grd->proc~electrostatic_for_grad proc~energy_mm_mm->proc~prepare_fixedelec proc~c_ommp_opb_geomgrad C_ommp_opb_geomgrad proc~c_ommp_opb_geomgrad->proc~ommp_opb_geomgrad proc~c_ommp_pitors_geomgrad C_ommp_pitors_geomgrad proc~c_ommp_pitors_geomgrad->proc~ommp_pitors_geomgrad proc~c_ommp_get_strtor_energy C_ommp_get_strtor_energy proc~c_ommp_get_strtor_energy->proc~ommp_get_strtor_energy proc~qm_helper_init_vdw_prm qm_helper_init_vdw_prm proc~qm_helper_init_vdw_prm->proc~assign_vdw proc~c_ommp_get_pitors_energy C_ommp_get_pitors_energy proc~c_ommp_get_pitors_energy->proc~ommp_get_pitors_energy proc~c_ommp_full_bnd_geomgrad C_ommp_full_bnd_geomgrad proc~c_ommp_full_bnd_geomgrad->proc~ommp_full_bnd_geomgrad proc~c_ommp_get_imptorsion_energy C_ommp_get_imptorsion_energy proc~c_ommp_get_imptorsion_energy->proc~ommp_get_imptorsion_energy proc~c_ommp_print_summary_to_file C_ommp_print_summary_to_file proc~c_ommp_print_summary_to_file->proc~mmpol_ommp_print_summary proc~c_ommp_get_full_energy C_ommp_get_full_energy proc~c_ommp_get_full_energy->proc~ommp_get_full_energy proc~c_ommp_full_geomgrad C_ommp_full_geomgrad proc~c_ommp_full_geomgrad->proc~ommp_full_geomgrad proc~c_ommp_set_fmm_distance C_ommp_set_fmm_distance proc~c_ommp_set_fmm_distance->proc~fmm_coordinates_update proc~c_ommp_get_angle_energy C_ommp_get_angle_energy proc~c_ommp_get_angle_energy->proc~ommp_get_angle_energy proc~c_ommp_get_full_bnd_energy C_ommp_get_full_bnd_energy proc~c_ommp_get_full_bnd_energy->proc~ommp_get_full_bnd_energy proc~ommp_set_external_field_nomm ommp_set_external_field_nomm proc~ommp_set_external_field_nomm->proc~ommp_set_external_field proc~c_ommp_get_strbnd_energy C_ommp_get_strbnd_energy proc~c_ommp_get_strbnd_energy->proc~ommp_get_strbnd_energy proc~c_ommp_get_vdw_energy C_ommp_get_vdw_energy proc~c_ommp_get_vdw_energy->proc~ommp_get_vdw_energy proc~c_ommp_bond_geomgrad C_ommp_bond_geomgrad proc~c_ommp_bond_geomgrad->proc~ommp_bond_geomgrad proc~elec_prop_m2d->proc~preapare_fmm_static proc~add_screening_pair add_screening_pair proc~add_screening_pair->proc~check_vdw_pairs proc~ommp_init_qm_helper ommp_init_qm_helper proc~ommp_init_qm_helper->proc~qm_helper_init proc~tree_populate_farnear_lists_safe tree_populate_farnear_lists_safe proc~tree_populate_farnear_lists_safe->proc~compress_list proc~ommp_create_link_atom ommp_create_link_atom proc~ommp_create_link_atom->proc~add_link_atom proc~ommp_create_link_atom->proc~init_eel_for_link_atom proc~ommp_create_link_atom->proc~init_link_atom proc~ommp_create_link_atom->proc~qm_helper_init_vdw_prm proc~init_bonded_for_link_atom init_bonded_for_link_atom proc~ommp_create_link_atom->proc~init_bonded_for_link_atom proc~qm_helper_update_coord qm_helper_update_coord proc~ommp_create_link_atom->proc~qm_helper_update_coord proc~init_vdw_for_link_atom init_vdw_for_link_atom proc~ommp_create_link_atom->proc~init_vdw_for_link_atom proc~ommp_init_xyz ommp_init_xyz proc~ommp_init_xyz->proc~mmpol_init_from_xyz proc~qm_helper_init_vdw qm_helper_init_vdw proc~qm_helper_init_vdw->proc~vdw_init proc~init_bonded_for_link_atom->proc~assign_torsion proc~init_bonded_for_link_atom->proc~bond_init proc~init_bonded_for_link_atom->proc~angle_init proc~init_bonded_for_link_atom->proc~assign_angle proc~init_bonded_for_link_atom->proc~assign_bond proc~init_bonded_for_link_atom->proc~torsion_init proc~qm_helper_update_coord->proc~guess_connectivity proc~c_ommp_angtor_geomgrad C_ommp_angtor_geomgrad proc~c_ommp_angtor_geomgrad->proc~ommp_angtor_geomgrad proc~c_ommp_urey_geomgrad C_ommp_urey_geomgrad proc~c_ommp_urey_geomgrad->proc~ommp_urey_geomgrad proc~sort_ivec_inplace->proc~sort_ivec proc~c_ommp_strbnd_geomgrad C_ommp_strbnd_geomgrad proc~c_ommp_strbnd_geomgrad->proc~ommp_strbnd_geomgrad proc~update_coordinates update_coordinates proc~update_coordinates->proc~fmm_coordinates_update proc~c_ommp_get_bond_energy C_ommp_get_bond_energy proc~c_ommp_get_bond_energy->proc~ommp_get_bond_energy proc~c_ommp_torsion_geomgrad C_ommp_torsion_geomgrad proc~c_ommp_torsion_geomgrad->proc~ommp_torsion_geomgrad proc~c_ommp_get_angtor_energy C_ommp_get_angtor_energy proc~c_ommp_get_angtor_energy->proc~ommp_get_angtor_energy proc~c_ommp_imptorsion_geomgrad C_ommp_imptorsion_geomgrad proc~c_ommp_imptorsion_geomgrad->proc~ommp_imptorsion_geomgrad proc~c_ommp_set_external_field_nomm C_ommp_set_external_field_nomm proc~c_ommp_set_external_field_nomm->proc~ommp_set_external_field proc~prepare_fmm_ipd prepare_fmm_ipd proc~prepare_fmm_ipd->proc~prepare_fmm_ext_ipd 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_tortor_geomgrad C_ommp_tortor_geomgrad proc~c_ommp_tortor_geomgrad->proc~ommp_tortor_geomgrad proc~c_ommp_strtor_geomgrad C_ommp_strtor_geomgrad proc~c_ommp_strtor_geomgrad->proc~ommp_strtor_geomgrad proc~c_ommp_set_external_field C_ommp_set_external_field proc~c_ommp_set_external_field->proc~ommp_set_external_field proc~c_ommp_get_fixedelec_energy C_ommp_get_fixedelec_energy proc~c_ommp_get_fixedelec_energy->proc~ommp_get_fixedelec_energy proc~c_ommp_get_polelec_energy C_ommp_get_polelec_energy proc~c_ommp_get_polelec_energy->proc~ommp_get_polelec_energy proc~c_ommp_polelec_geomgrad C_ommp_polelec_geomgrad proc~c_ommp_polelec_geomgrad->proc~ommp_polelec_geomgrad proc~field_extd2d field_extD2D proc~field_extd2d->proc~prepare_fmm_ext_ipd proc~c_ommp_fixedelec_geomgrad C_ommp_fixedelec_geomgrad proc~c_ommp_fixedelec_geomgrad->proc~ommp_fixedelec_geomgrad proc~c_ommp_set_fmm_min_cell_size C_ommp_set_fmm_min_cell_size proc~c_ommp_set_fmm_min_cell_size->proc~fmm_coordinates_update proc~merge_top->proc~topology_init proc~init_vdw_for_link_atom->proc~check_vdw_pairs proc~init_vdw_for_link_atom->proc~add_screening_pair proc~elec_prop_m2m->proc~preapare_fmm_static proc~energy_mm_pol->proc~prepare_polelec proc~ommp_turn_pol_off ommp_turn_pol_off proc~ommp_turn_pol_off->proc~remove_null_pol proc~elec_prop_d2m->proc~prepare_fmm_ipd proc~c_ommp_turn_pol_off C_ommp_turn_pol_off proc~c_ommp_turn_pol_off->proc~ommp_turn_pol_off 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 proc~ommp_set_vdw_cutoff ommp_set_vdw_cutoff proc~ommp_set_vdw_cutoff->proc~vdw_set_cutoff proc~init_as_octatree->proc~populate_level_list proc~init_as_octatree->proc~tree_populate_farnear_lists proc~init_as_ribtree init_as_ribtree proc~init_as_ribtree->proc~populate_level_list proc~init_as_ribtree->proc~tree_populate_farnear_lists proc~c_ommp_system_from_qm_helper C_ommp_system_from_qm_helper proc~c_ommp_system_from_qm_helper->proc~ommp_system_from_qm_helper proc~c_ommp_get_full_ele_energy C_ommp_get_full_ele_energy proc~c_ommp_get_full_ele_energy->proc~ommp_get_full_ele_energy proc~c_ommp_qm_helper_init_vdw_prm C_ommp_qm_helper_init_vdw_prm proc~c_ommp_qm_helper_init_vdw_prm->proc~qm_helper_init_vdw_prm proc~c_ommp_init_qm_helper C_ommp_init_qm_helper proc~c_ommp_init_qm_helper->proc~ommp_init_qm_helper proc~c_ommp_create_link_atom C_ommp_create_link_atom proc~c_ommp_create_link_atom->proc~ommp_create_link_atom proc~c_ommp_init_xyz C_ommp_init_xyz proc~c_ommp_init_xyz->proc~ommp_init_xyz proc~c_ommp_qm_helper_init_vdw C_ommp_qm_helper_init_vdw proc~c_ommp_qm_helper_init_vdw->proc~qm_helper_init_vdw proc~ommp_update_link_atoms_position ommp_update_link_atoms_position proc~ommp_update_link_atoms_position->proc~qm_helper_update_coord proc~c_ommp_update_coordinates C_ommp_update_coordinates proc~c_ommp_update_coordinates->proc~update_coordinates proc~elec_prop_d2d->proc~prepare_fmm_ipd proc~tmatvec_otf TMatVec_otf proc~tmatvec_otf->proc~field_extd2d proc~ommp_qm_helper_update_coord ommp_qm_helper_update_coord proc~ommp_qm_helper_update_coord->proc~qm_helper_update_coord proc~c_ommp_set_vdw_cutoff C_ommp_set_vdw_cutoff proc~c_ommp_set_vdw_cutoff->proc~ommp_set_vdw_cutoff proc~c_ommp_update_link_atoms_position C_ommp_update_link_atoms_position proc~c_ommp_update_link_atoms_position->proc~ommp_update_link_atoms_position proc~c_ommp_qm_helper_update_coord C_ommp_qm_helper_update_coord proc~c_ommp_qm_helper_update_coord->proc~ommp_qm_helper_update_coord

Contents

Source Code


Source Code

    subroutine memory_init(do_chk, max_Gbytes)
        !! Routine used to initialize the memory module. It should
        !! be called during the module initialization.
        implicit none

        logical :: do_chk !! Switch for memory soft limit 
        real(rp), intent(in) :: max_Gbytes !! Amount of memory available in bytes
        integer(ip) :: my_int !! Integer used only as target for sizeof
        real(rp) :: my_real !! Real used only as target for sizeof
        logical(lp) :: my_bool
        intrinsic :: sizeof

        if(.not. is_init) then
            do_chk_limit = do_chk
            maxmem = max_Gbytes
            usedmem = 0.0
            max_used = 0.0
            size_of_real = sizeof(my_real)
            size_of_int = sizeof(my_int)
            size_of_logical = sizeof(my_bool)
            is_init = .true.
        end if
    end subroutine memory_init