mod_memory Module

This module is used to handle the memory, the variable kinds, the dynamic allocation and the optional soft memory limit of the openMMPol library.


Uses

  • module~~mod_memory~~UsesGraph module~mod_memory mod_memory module~mod_io mod_io module~mod_memory->module~mod_io module~mod_constants mod_constants module~mod_memory->module~mod_constants iso_c_binding iso_c_binding module~mod_memory->iso_c_binding module~mod_io->module~mod_constants module~mod_constants->iso_c_binding

Used by

  • module~~mod_memory~~UsedByGraph module~mod_memory mod_memory proc~reverse_grp_tab reverse_grp_tab proc~reverse_grp_tab->module~mod_memory proc~tortor_init tortor_init proc~tortor_init->module~mod_memory proc~vdw_init vdw_init proc~vdw_init->module~mod_memory module~mod_neighbor_list mod_neighbor_list proc~vdw_init->module~mod_neighbor_list module~mod_adjacency_mat mod_adjacency_mat module~mod_adjacency_mat->module~mod_memory proc~compress_list compress_list proc~compress_list->module~mod_memory proc~vdw_terminate vdw_terminate proc~vdw_terminate->module~mod_memory proc~vdw_terminate->module~mod_adjacency_mat proc~vdw_terminate->module~mod_neighbor_list proc~assign_torsion assign_torsion proc~assign_torsion->module~mod_memory module~mod_bonded mod_bonded proc~assign_torsion->module~mod_bonded proc~i1_hdf5_read_array i1_hdf5_read_array proc~i1_hdf5_read_array->module~mod_memory module~mod_mmpol mod_mmpol proc~i1_hdf5_read_array->module~mod_mmpol proc~opb_terminate opb_terminate proc~opb_terminate->module~mod_memory proc~angtor_terminate angtor_terminate proc~angtor_terminate->module~mod_memory proc~polarization polarization proc~polarization->module~mod_memory module~mod_profiling mod_profiling proc~polarization->module~mod_profiling module~mod_solvers mod_solvers proc~polarization->module~mod_solvers module~mod_topology mod_topology module~mod_topology->module~mod_memory module~mod_topology->module~mod_adjacency_mat module~mod_electrostatics mod_electrostatics module~mod_electrostatics->module~mod_memory module~mod_electrostatics->module~mod_adjacency_mat module~mod_electrostatics->module~mod_topology module~mod_electrostatics->module~mod_profiling module~fmmlib_interface fmmlib_interface module~mod_electrostatics->module~fmmlib_interface module~mod_iohdf5 mod_iohdf5 module~mod_iohdf5->module~mod_memory module~mod_iohdf5->module~mod_topology module~mod_iohdf5->module~mod_electrostatics module~mod_iohdf5->module~mod_bonded module~mod_iohdf5->module~mod_mmpol module~mod_nonbonded mod_nonbonded module~mod_iohdf5->module~mod_nonbonded proc~bond_init bond_init proc~bond_init->module~mod_memory proc~sort_ivec sort_ivec proc~sort_ivec->module~mod_memory proc~torsion_terminate torsion_terminate proc~torsion_terminate->module~mod_memory proc~tortor_terminate tortor_terminate proc~tortor_terminate->module~mod_memory proc~strbnd_init strbnd_init proc~strbnd_init->module~mod_memory proc~imptorsion_init imptorsion_init proc~imptorsion_init->module~mod_memory proc~check_keyword check_keyword proc~check_keyword->module~mod_memory module~mod_utils mod_utils proc~check_keyword->module~mod_utils proc~r3_hdf5_read_array r3_hdf5_read_array proc~r3_hdf5_read_array->module~mod_memory proc~r3_hdf5_read_array->module~mod_mmpol proc~l1_hdf5_read_array l1_hdf5_read_array proc~l1_hdf5_read_array->module~mod_memory proc~l1_hdf5_read_array->module~mod_mmpol proc~tokenize tokenize proc~tokenize->module~mod_memory proc~compress_data compress_data proc~compress_data->module~mod_memory proc~mmpol_init_from_xyz mmpol_init_from_xyz proc~mmpol_init_from_xyz->module~mod_memory proc~mmpol_init_from_xyz->module~mod_adjacency_mat proc~mmpol_init_from_xyz->module~mod_topology proc~mmpol_init_from_xyz->module~mod_electrostatics module~mod_prm mod_prm proc~mmpol_init_from_xyz->module~mod_prm proc~mmpol_init_from_xyz->module~mod_utils proc~mmpol_init_from_xyz->module~mod_mmpol proc~energy_mm_pol energy_MM_pol proc~energy_mm_pol->module~mod_memory proc~assign_strbnd assign_strbnd proc~assign_strbnd->module~mod_memory proc~assign_strbnd->module~mod_bonded proc~sort_ivec_inplace sort_ivec_inplace proc~sort_ivec_inplace->module~mod_memory module~mod_bonded->module~mod_memory module~mod_bonded->module~mod_topology module~mod_profiling->module~mod_memory proc~qm_helper_init qm_helper_init proc~qm_helper_init->module~mod_memory proc~qm_helper_init->module~mod_topology module~mod_qm_helper mod_qm_helper 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 proc~inversion_solver inversion_solver proc~inversion_solver->module~mod_memory proc~cyclic_spline cyclic_spline proc~cyclic_spline->module~mod_memory proc~tokenize_pure tokenize_pure proc~tokenize_pure->module~mod_memory proc~assign_urey assign_urey proc~assign_urey->module~mod_memory proc~assign_urey->module~mod_bonded proc~opb_init opb_init proc~opb_init->module~mod_memory proc~assign_imptorsion assign_imptorsion proc~assign_imptorsion->module~mod_memory proc~assign_imptorsion->module~mod_bonded proc~save_electrostatics_as_hdf5 save_electrostatics_as_hdf5 proc~save_electrostatics_as_hdf5->module~mod_memory proc~skip_lines skip_lines proc~skip_lines->module~mod_memory proc~vdw_geomgrad vdw_geomgrad proc~vdw_geomgrad->module~mod_memory proc~vdw_geomgrad->module~mod_profiling module~mod_jacobian_mat mod_jacobian_mat proc~vdw_geomgrad->module~mod_jacobian_mat proc~vdw_geomgrad->module~mod_neighbor_list proc~r2_hdf5_read_array r2_hdf5_read_array proc~r2_hdf5_read_array->module~mod_memory proc~r2_hdf5_read_array->module~mod_mmpol module~mod_jacobian_mat->module~mod_memory proc~pitors_terminate pitors_terminate proc~pitors_terminate->module~mod_memory proc~strtor_terminate strtor_terminate proc~strtor_terminate->module~mod_memory proc~assign_pol assign_pol proc~assign_pol->module~mod_memory proc~assign_pol->module~mod_electrostatics proc~topology_init topology_init proc~topology_init->module~mod_memory proc~ommp_full_geomgrad ommp_full_geomgrad proc~ommp_full_geomgrad->module~mod_memory proc~ommp_full_geomgrad->module~mod_nonbonded module~mod_geomgrad mod_geomgrad proc~ommp_full_geomgrad->module~mod_geomgrad proc~rotation_matrix rotation_matrix proc~rotation_matrix->module~mod_memory module~mod_polarization mod_polarization module~mod_polarization->module~mod_memory module~mod_polarization->module~mod_electrostatics module~mod_polarization->module~mod_mmpol module~mod_neighbor_list->module~mod_memory module~mod_neighbor_list->module~mod_adjacency_mat proc~rotation_geomgrad rotation_geomgrad proc~rotation_geomgrad->module~mod_memory proc~rotation_geomgrad->module~mod_electrostatics proc~qm_helper_link_atom_geomgrad qm_helper_link_atom_geomgrad proc~qm_helper_link_atom_geomgrad->module~mod_memory proc~qm_helper_link_atom_geomgrad->module~mod_mmpol module~mod_link_atom mod_link_atom proc~qm_helper_link_atom_geomgrad->module~mod_link_atom proc~ommp_set_external_field ommp_set_external_field proc~ommp_set_external_field->module~mod_memory proc~ommp_set_external_field->module~mod_electrostatics proc~ommp_set_external_field->module~mod_polarization proc~strbnd_terminate strbnd_terminate proc~strbnd_terminate->module~mod_memory proc~diis diis proc~diis->module~mod_memory proc~electrostatic_for_ene electrostatic_for_ene proc~electrostatic_for_ene->module~mod_memory proc~electrostatic_for_ene->module~mod_electrostatics proc~assign_mpoles assign_mpoles proc~assign_mpoles->module~mod_memory proc~assign_mpoles->module~mod_electrostatics proc~r1_hdf5_read_array r1_hdf5_read_array proc~r1_hdf5_read_array->module~mod_memory proc~r1_hdf5_read_array->module~mod_mmpol proc~polarization_terminate polarization_terminate proc~polarization_terminate->module~mod_memory module~mod_prm->module~mod_memory module~mod_prm->module~mod_topology module~mod_prm->module~mod_electrostatics module~mod_prm->module~mod_bonded module~mod_prm->module~mod_utils proc~cross_product cross_product proc~cross_product->module~mod_memory proc~electrostatics_terminate electrostatics_terminate proc~electrostatics_terminate->module~mod_memory proc~electrostatics_terminate->module~mod_adjacency_mat module~mod_utils->module~mod_memory proc~polgroup11_to_mm2pg polgroup11_to_mm2pg proc~polgroup11_to_mm2pg->module~mod_memory proc~prepare_fmm_ext_ipd prepare_fmm_ext_ipd proc~prepare_fmm_ext_ipd->module~mod_memory proc~electrostatic_for_grad electrostatic_for_grad proc~electrostatic_for_grad->module~mod_memory proc~electrostatic_for_grad->module~mod_electrostatics proc~i2_hdf5_read_array i2_hdf5_read_array proc~i2_hdf5_read_array->module~mod_memory proc~i2_hdf5_read_array->module~mod_mmpol module~mod_mmpol->module~mod_memory module~mod_mmpol->module~mod_adjacency_mat module~mod_mmpol->module~mod_topology module~mod_mmpol->module~mod_electrostatics module~mod_mmpol->module~mod_bonded module~mod_mmpol->module~mod_link_atom module~mod_mmpol->module~mod_nonbonded proc~init_eel_for_link_atom init_eel_for_link_atom proc~init_eel_for_link_atom->module~mod_memory proc~init_eel_for_link_atom->module~mod_electrostatics proc~init_eel_for_link_atom->module~mod_prm proc~read_atom_cards read_atom_cards proc~read_atom_cards->module~mod_memory proc~assign_opb assign_opb proc~assign_opb->module~mod_memory proc~assign_opb->module~mod_bonded proc~ommp_create_link_atom ommp_create_link_atom proc~ommp_create_link_atom->module~mod_memory proc~ommp_create_link_atom->module~mod_topology proc~ommp_create_link_atom->module~mod_qm_helper proc~ommp_create_link_atom->module~mod_mmpol proc~ommp_create_link_atom->module~mod_link_atom proc~ommp_create_link_atom->module~mod_nonbonded proc~c_ommp_get_polar_mm C_ommp_get_polar_mm proc~c_ommp_get_polar_mm->module~mod_memory proc~preapare_fmm_static preapare_fmm_static proc~preapare_fmm_static->module~mod_memory proc~bond_terminate bond_terminate proc~bond_terminate->module~mod_memory proc~fmm_make_neigh_list fmm_make_neigh_list proc~fmm_make_neigh_list->module~mod_memory proc~fmm_make_neigh_list->module~mod_adjacency_mat proc~angtor_init angtor_init proc~angtor_init->module~mod_memory proc~energy_mm_mm energy_MM_MM proc~energy_mm_mm->module~mod_memory proc~assign_pitors assign_pitors proc~assign_pitors->module~mod_memory proc~assign_pitors->module~mod_bonded proc~update_coordinates update_coordinates proc~update_coordinates->module~mod_memory proc~update_coordinates->module~mod_electrostatics proc~update_coordinates->module~mod_link_atom proc~prepare_fixedelec prepare_fixedelec proc~prepare_fixedelec->module~mod_memory proc~electrostatics_init electrostatics_init proc~electrostatics_init->module~mod_memory proc~angle_init angle_init proc~angle_init->module~mod_memory proc~l2_hdf5_read_array l2_hdf5_read_array proc~l2_hdf5_read_array->module~mod_memory proc~l2_hdf5_read_array->module~mod_mmpol proc~strtor_init strtor_init proc~strtor_init->module~mod_memory proc~imptorsion_terminate imptorsion_terminate proc~imptorsion_terminate->module~mod_memory proc~assign_angle assign_angle proc~assign_angle->module~mod_memory proc~assign_angle->module~mod_bonded proc~urey_terminate urey_terminate proc~urey_terminate->module~mod_memory proc~tortor_newmap tortor_newmap proc~tortor_newmap->module~mod_memory proc~tortor_newmap->module~mod_utils proc~prepare_fmm_ipd prepare_fmm_ipd proc~prepare_fmm_ipd->module~mod_memory proc~i3_hdf5_read_array i3_hdf5_read_array proc~i3_hdf5_read_array->module~mod_memory proc~i3_hdf5_read_array->module~mod_mmpol proc~compute_bicubic_interp compute_bicubic_interp proc~compute_bicubic_interp->module~mod_memory proc~versor_der versor_der proc~versor_der->module~mod_memory proc~urey_init urey_init proc~urey_init->module~mod_memory proc~mmpol_init_from_hdf5 mmpol_init_from_hdf5 proc~mmpol_init_from_hdf5->module~mod_memory proc~mmpol_init_from_hdf5->module~mod_adjacency_mat proc~mmpol_init_from_hdf5->module~mod_electrostatics proc~mmpol_init_from_hdf5->module~mod_bonded proc~mmpol_init_from_hdf5->module~mod_mmpol proc~mmpol_init_from_hdf5->module~mod_nonbonded proc~vec_skw vec_skw proc~vec_skw->module~mod_memory proc~damped_coulomb_kernel damped_coulomb_kernel proc~damped_coulomb_kernel->module~mod_memory proc~mmpol_init_from_mmp mmpol_init_from_mmp proc~mmpol_init_from_mmp->module~mod_memory proc~mmpol_init_from_mmp->module~mod_adjacency_mat proc~mmpol_init_from_mmp->module~mod_electrostatics proc~mmpol_init_from_mmp->module~mod_utils proc~mmpol_init_from_mmp->module~mod_mmpol proc~make_screening_lists make_screening_lists proc~make_screening_lists->module~mod_memory proc~make_screening_lists->module~mod_adjacency_mat proc~coulomb_kernel coulomb_kernel proc~coulomb_kernel->module~mod_memory proc~check_keyword~2 check_keyword proc~check_keyword~2->module~mod_memory proc~check_keyword~2->module~mod_utils proc~conjugate_gradient_solver conjugate_gradient_solver proc~conjugate_gradient_solver->module~mod_memory proc~rotate_multipoles rotate_multipoles proc~rotate_multipoles->module~mod_memory proc~rotate_multipoles->module~mod_electrostatics module~mod_link_atom->module~mod_memory module~mod_link_atom->module~mod_topology module~mod_link_atom->module~mod_bonded module~mod_link_atom->module~mod_utils module~mod_link_atom->module~mod_nonbonded proc~assign_bond assign_bond proc~assign_bond->module~mod_memory proc~assign_bond->module~mod_bonded proc~torsion_init torsion_init proc~torsion_init->module~mod_memory module~mod_solvers->module~mod_memory module~mod_solvers->module~mod_electrostatics module~mod_nonbonded->module~mod_memory module~mod_nonbonded->module~mod_adjacency_mat module~mod_nonbonded->module~mod_topology module~mod_nonbonded->module~mod_neighbor_list proc~pitors_init pitors_init proc~pitors_init->module~mod_memory proc~guess_connectivity guess_connectivity proc~guess_connectivity->module~mod_memory proc~guess_connectivity->module~mod_adjacency_mat proc~jacobi_diis_solver jacobi_diis_solver proc~jacobi_diis_solver->module~mod_memory proc~adj_mat_from_conn adj_mat_from_conn proc~adj_mat_from_conn->module~mod_memory proc~adj_mat_from_conn->module~mod_utils proc~vdw_potential vdw_potential proc~vdw_potential->module~mod_memory proc~vdw_potential->module~mod_profiling proc~vdw_potential->module~mod_neighbor_list proc~assign_tortors assign_tortors proc~assign_tortors->module~mod_memory proc~assign_tortors->module~mod_bonded proc~mmpol_terminate mmpol_terminate proc~mmpol_terminate->module~mod_memory proc~mmpol_terminate->module~mod_electrostatics proc~mmpol_terminate->module~mod_bonded proc~mmpol_terminate->module~mod_nonbonded module~ommp_interface ommp_interface module~ommp_interface->module~mod_memory module~ommp_interface->module~mod_topology module~ommp_interface->module~mod_electrostatics module~ommp_interface->module~mod_iohdf5 module~ommp_interface->module~mod_profiling module~ommp_interface->module~mod_qm_helper module~ommp_interface->module~mod_mmpol module~mod_geomgrad->module~mod_memory module~mod_geomgrad->module~mod_topology module~mod_geomgrad->module~mod_profiling module~mod_geomgrad->module~mod_mmpol proc~topology_terminate topology_terminate proc~topology_terminate->module~mod_memory proc~topology_terminate->module~mod_adjacency_mat proc~tmatvec_offdiag TMatVec_offdiag proc~tmatvec_offdiag->module~mod_memory proc~assign_angtor assign_angtor proc~assign_angtor->module~mod_memory proc~assign_angtor->module~mod_bonded proc~assign_strtor assign_strtor proc~assign_strtor->module~mod_memory proc~assign_strtor->module~mod_bonded proc~assign_vdw assign_vdw proc~assign_vdw->module~mod_memory proc~assign_vdw->module~mod_nonbonded proc~angle_terminate angle_terminate proc~angle_terminate->module~mod_memory proc~mmpol_ommp_print_summary mmpol_ommp_print_summary proc~mmpol_ommp_print_summary->module~mod_memory proc~mmpol_ommp_print_summary->module~mod_utils proc~qm_helper_init_vdw qm_helper_init_vdw proc~qm_helper_init_vdw->module~mod_memory proc~qm_helper_init_vdw->module~mod_nonbonded proc~remove_null_pol remove_null_pol proc~remove_null_pol->module~mod_memory proc~prepare_polelec prepare_polelec proc~prepare_polelec->module~mod_memory proc~qm_helper_terminate qm_helper_terminate proc~qm_helper_terminate->module~mod_memory proc~qm_helper_terminate->module~mod_topology proc~qm_helper_terminate->module~mod_nonbonded proc~vdw_set_pair vdw_set_pair proc~vdw_set_pair->module~mod_memory proc~c_ommp_qm_helper_get_e_p2n C_ommp_qm_helper_get_E_p2n proc~c_ommp_qm_helper_get_e_p2n->module~mod_qm_helper proc~ommp_qm_helper_set_frozen_atoms ommp_qm_helper_set_frozen_atoms proc~ommp_qm_helper_set_frozen_atoms->module~mod_topology proc~build_pg_adjacency_matrix build_pg_adjacency_matrix proc~build_pg_adjacency_matrix->module~mod_adjacency_mat proc~init_as_octatree init_as_octatree proc~init_as_octatree->module~mod_adjacency_mat proc~init_as_ribtree init_as_ribtree proc~init_as_ribtree->module~mod_adjacency_mat proc~ommp_potential_mm2ext ommp_potential_mm2ext proc~ommp_potential_mm2ext->module~mod_electrostatics proc~c_ommp_qm_helper_get_cqm C_ommp_qm_helper_get_cqm proc~c_ommp_qm_helper_get_cqm->module~mod_qm_helper proc~ommp_get_tortor_energy ommp_get_tortor_energy proc~ommp_get_tortor_energy->module~mod_bonded proc~ommp_get_urey_energy ommp_get_urey_energy proc~ommp_get_urey_energy->module~mod_bonded proc~ommp_qm_helper_vdw_energy ommp_qm_helper_vdw_energy proc~ommp_qm_helper_vdw_energy->module~mod_qm_helper proc~ommp_vdw_geomgrad ommp_vdw_geomgrad proc~ommp_vdw_geomgrad->module~mod_nonbonded proc~c_ommp_qm_helper_use_frozen C_ommp_qm_helper_use_frozen proc~c_ommp_qm_helper_use_frozen->module~mod_qm_helper proc~strtor_geomgrad strtor_geomgrad proc~strtor_geomgrad->module~mod_jacobian_mat proc~inplane_angle_jacobian inplane_angle_jacobian proc~inplane_angle_jacobian->module~mod_utils proc~ommp_init_qm_helper ommp_init_qm_helper proc~ommp_init_qm_helper->module~mod_qm_helper proc~ommp_set_vdw_cutoff ommp_set_vdw_cutoff proc~ommp_set_vdw_cutoff->module~mod_nonbonded proc~ommp_turn_pol_off ommp_turn_pol_off proc~ommp_turn_pol_off->module~mod_electrostatics proc~ommp_angtor_geomgrad ommp_angtor_geomgrad proc~ommp_angtor_geomgrad->module~mod_bonded proc~ommp_get_opb_energy ommp_get_opb_energy proc~ommp_get_opb_energy->module~mod_bonded proc~init_bonded_for_link_atom init_bonded_for_link_atom proc~init_bonded_for_link_atom->module~mod_topology proc~init_bonded_for_link_atom->module~mod_bonded proc~init_bonded_for_link_atom->module~mod_prm proc~ommp_field_pol2ext ommp_field_pol2ext proc~ommp_field_pol2ext->module~mod_electrostatics proc~nl_update nl_update proc~nl_update->module~mod_adjacency_mat proc~nl_update->module~mod_profiling proc~add_link_atom add_link_atom proc~add_link_atom->module~mod_topology proc~init_vdw_for_link_atom init_vdw_for_link_atom proc~init_vdw_for_link_atom->module~mod_topology proc~link_atom_angle_geomgrad link_atom_angle_geomgrad proc~link_atom_angle_geomgrad->module~mod_bonded proc~c_ommp_set_fmm_min_cell_size C_ommp_set_fmm_min_cell_size proc~c_ommp_set_fmm_min_cell_size->module~mod_electrostatics proc~c_ommp_update_coordinates C_ommp_update_coordinates proc~c_ommp_update_coordinates->module~mod_mmpol proc~c_ommp_qm_helper_get_e_m2n C_ommp_qm_helper_get_E_m2n proc~c_ommp_qm_helper_get_e_m2n->module~mod_qm_helper proc~strbnd_geomgrad strbnd_geomgrad proc~strbnd_geomgrad->module~mod_jacobian_mat proc~tortor_potential tortor_potential proc~tortor_potential->module~mod_utils proc~ommp_terminate ommp_terminate proc~ommp_terminate->module~mod_mmpol proc~dipole_t dipole_T proc~dipole_t->module~mod_electrostatics proc~c_ommp_terminate_qm_helper C_ommp_terminate_qm_helper proc~c_ommp_terminate_qm_helper->module~mod_qm_helper proc~ommp_terminate_qm_helper ommp_terminate_qm_helper proc~ommp_terminate_qm_helper->module~mod_qm_helper proc~vdw_set_cutoff vdw_set_cutoff proc~vdw_set_cutoff->module~mod_neighbor_list proc~ommp_fixedelec_geomgrad ommp_fixedelec_geomgrad proc~ommp_fixedelec_geomgrad->module~mod_geomgrad proc~torsion_geomgrad torsion_geomgrad proc~torsion_geomgrad->module~mod_jacobian_mat proc~tree_populate_farnear_lists tree_populate_farnear_lists proc~tree_populate_farnear_lists->module~mod_adjacency_mat proc~link_atom_torsion_geomgrad link_atom_torsion_geomgrad proc~link_atom_torsion_geomgrad->module~mod_bonded proc~ommp_get_full_bnd_energy ommp_get_full_bnd_energy proc~ommp_get_full_bnd_energy->module~mod_bonded proc~ommp_get_full_bnd_energy->module~mod_link_atom proc~ommp_bond_geomgrad ommp_bond_geomgrad proc~ommp_bond_geomgrad->module~mod_bonded proc~ommp_bond_geomgrad->module~mod_link_atom proc~ommp_opb_geomgrad ommp_opb_geomgrad proc~ommp_opb_geomgrad->module~mod_bonded proc~ommp_potential_pol2ext ommp_potential_pol2ext proc~ommp_potential_pol2ext->module~mod_electrostatics proc~ommp_pitors_geomgrad ommp_pitors_geomgrad proc~ommp_pitors_geomgrad->module~mod_bonded proc~ommp_get_torsion_energy ommp_get_torsion_energy proc~ommp_get_torsion_energy->module~mod_bonded proc~ommp_get_torsion_energy->module~mod_link_atom proc~c_ommp_get_opb_energy C_ommp_get_opb_energy proc~c_ommp_get_opb_energy->module~mod_bonded proc~tortor_geomgrad tortor_geomgrad proc~tortor_geomgrad->module~mod_jacobian_mat proc~tortor_geomgrad->module~mod_utils proc~qm_helper_init_vdw_prm qm_helper_init_vdw_prm proc~qm_helper_init_vdw_prm->module~mod_prm proc~qm_helper_init_vdw_prm->module~mod_utils proc~link_atom_project_grd link_atom_project_grd proc~link_atom_project_grd->module~mod_utils proc~c_ommp_qm_helper_use_nonbonded C_ommp_qm_helper_use_nonbonded proc~c_ommp_qm_helper_use_nonbonded->module~mod_qm_helper proc~ommp_strtor_geomgrad ommp_strtor_geomgrad proc~ommp_strtor_geomgrad->module~mod_bonded proc~ommp_set_default_matv ommp_set_default_matv proc~ommp_set_default_matv->module~mod_electrostatics proc~c_ommp_field_mm2ext C_ommp_field_mm2ext proc~c_ommp_field_mm2ext->module~mod_electrostatics proc~ommp_get_pitors_energy ommp_get_pitors_energy proc~ommp_get_pitors_energy->module~mod_bonded proc~ommp_set_frozen_atoms ommp_set_frozen_atoms proc~ommp_set_frozen_atoms->module~mod_topology proc~tree_populate_farnear_lists_safe tree_populate_farnear_lists_safe proc~tree_populate_farnear_lists_safe->module~mod_adjacency_mat proc~free_tree free_tree proc~free_tree->module~mod_adjacency_mat proc~check_conn_matrix check_conn_matrix proc~check_conn_matrix->module~mod_adjacency_mat proc~ommp_set_default_solver ommp_set_default_solver proc~ommp_set_default_solver->module~mod_electrostatics proc~ommp_get_vdw_energy ommp_get_vdw_energy proc~ommp_get_vdw_energy->module~mod_nonbonded proc~qm_helper_vdw_energy qm_helper_vdw_energy proc~qm_helper_vdw_energy->module~mod_mmpol proc~qm_helper_vdw_energy->module~mod_link_atom proc~qm_helper_vdw_energy->module~mod_nonbonded proc~c_ommp_qm_helper_get_qm_atoms C_ommp_qm_helper_get_qm_atoms proc~c_ommp_qm_helper_get_qm_atoms->module~mod_qm_helper proc~vdw_geomgrad_inter_restricted vdw_geomgrad_inter_restricted proc~vdw_geomgrad_inter_restricted->module~mod_jacobian_mat proc~c_ommp_qm_helper_get_npol C_ommp_qm_helper_get_npol proc~c_ommp_qm_helper_get_npol->module~mod_qm_helper proc~angle_geomgrad angle_geomgrad proc~angle_geomgrad->module~mod_jacobian_mat proc~ommp_urey_geomgrad ommp_urey_geomgrad proc~ommp_urey_geomgrad->module~mod_bonded proc~opb_angle_jacobian opb_angle_jacobian proc~opb_angle_jacobian->module~mod_utils module~mod_ommp_c_interface mod_ommp_C_interface module~mod_ommp_c_interface->module~ommp_interface proc~ommp_system_from_qm_helper ommp_system_from_qm_helper proc~ommp_system_from_qm_helper->module~mod_adjacency_mat proc~ommp_system_from_qm_helper->module~mod_topology proc~ommp_system_from_qm_helper->module~mod_prm proc~ommp_system_from_qm_helper->module~mod_utils proc~ommp_system_from_qm_helper->module~mod_mmpol proc~populate_level_list populate_level_list proc~populate_level_list->module~mod_adjacency_mat proc~nl_terminate nl_terminate proc~nl_terminate->module~mod_adjacency_mat proc~ommp_get_polelec_energy ommp_get_polelec_energy proc~ommp_get_polelec_energy->module~mod_electrostatics proc~ommp_get_polelec_energy->module~mod_polarization proc~ommp_angle_geomgrad ommp_angle_geomgrad proc~ommp_angle_geomgrad->module~mod_bonded proc~ommp_angle_geomgrad->module~mod_link_atom proc~c_ommp_set_fmm_distance C_ommp_set_fmm_distance proc~c_ommp_set_fmm_distance->module~mod_electrostatics proc~ommp_torsion_geomgrad ommp_torsion_geomgrad proc~ommp_torsion_geomgrad->module~mod_bonded proc~ommp_torsion_geomgrad->module~mod_link_atom proc~ommp_get_bond_energy ommp_get_bond_energy proc~ommp_get_bond_energy->module~mod_bonded proc~ommp_get_bond_energy->module~mod_link_atom module~mod_inputloader mod_inputloader module~mod_inputloader->module~mod_profiling module~mod_inputloader->module~mod_mmpol proc~ommp_tortor_geomgrad ommp_tortor_geomgrad proc~ommp_tortor_geomgrad->module~mod_bonded proc~ommp_update_link_atoms_position ommp_update_link_atoms_position proc~ommp_update_link_atoms_position->module~mod_qm_helper proc~ommp_update_link_atoms_position->module~mod_link_atom proc~bond_geomgrad bond_geomgrad proc~bond_geomgrad->module~mod_jacobian_mat proc~urey_geomgrad urey_geomgrad proc~urey_geomgrad->module~mod_jacobian_mat proc~pitors_angle_jacobian pitors_angle_jacobian proc~pitors_angle_jacobian->module~mod_utils proc~c_ommp_full_geomgrad C_ommp_full_geomgrad proc~c_ommp_full_geomgrad->module~ommp_interface proc~pitors_geomgrad pitors_geomgrad proc~pitors_geomgrad->module~mod_jacobian_mat proc~opb_geomgrad opb_geomgrad proc~opb_geomgrad->module~mod_jacobian_mat proc~c_ommp_field_pol2ext C_ommp_field_pol2ext proc~c_ommp_field_pol2ext->module~mod_electrostatics proc~ommp_full_bnd_geomgrad ommp_full_bnd_geomgrad proc~ommp_full_bnd_geomgrad->module~mod_bonded proc~ommp_full_bnd_geomgrad->module~mod_link_atom proc~ommp_potential_mmpol2ext ommp_potential_mmpol2ext proc~ommp_potential_mmpol2ext->module~mod_electrostatics proc~link_atom_bond_geomgrad link_atom_bond_geomgrad proc~link_atom_bond_geomgrad->module~mod_bonded proc~qm_helper_update_coord qm_helper_update_coord proc~qm_helper_update_coord->module~mod_adjacency_mat proc~qm_helper_update_coord->module~mod_topology proc~create_new_bond create_new_bond proc~create_new_bond->module~mod_adjacency_mat proc~ommp_get_fixedelec_energy ommp_get_fixedelec_energy proc~ommp_get_fixedelec_energy->module~mod_electrostatics proc~ommp_field_mmpol2ext ommp_field_mmpol2ext proc~ommp_field_mmpol2ext->module~mod_electrostatics proc~c_ommp_qm_helper_get_e_n2m C_ommp_qm_helper_get_E_n2m proc~c_ommp_qm_helper_get_e_n2m->module~mod_qm_helper proc~c_ommp_qm_helper_get_nmm C_ommp_qm_helper_get_nmm proc~c_ommp_qm_helper_get_nmm->module~mod_qm_helper proc~ommp_get_link_atom_coordinates ommp_get_link_atom_coordinates proc~ommp_get_link_atom_coordinates->module~mod_link_atom proc~ommp_qm_helper_vdw_geomgrad ommp_qm_helper_vdw_geomgrad proc~ommp_qm_helper_vdw_geomgrad->module~mod_qm_helper proc~ommp_qm_helper_link_atom_geomgrad ommp_qm_helper_link_atom_geomgrad proc~ommp_qm_helper_link_atom_geomgrad->module~mod_qm_helper proc~vdw_geomgrad_inter vdw_geomgrad_inter proc~vdw_geomgrad_inter->module~mod_jacobian_mat module~mod_octatree mod_octatree module~mod_octatree->module~mod_profiling module~mod_tree mod_tree module~mod_octatree->module~mod_tree proc~ommp_strbnd_geomgrad ommp_strbnd_geomgrad proc~ommp_strbnd_geomgrad->module~mod_bonded proc~ommp_get_angtor_energy ommp_get_angtor_energy proc~ommp_get_angtor_energy->module~mod_bonded proc~c_ommp_qm_helper_get_v_p2n C_ommp_qm_helper_get_V_p2n proc~c_ommp_qm_helper_get_v_p2n->module~mod_qm_helper proc~polelec_geomgrad polelec_geomgrad proc~polelec_geomgrad->module~mod_electrostatics proc~polelec_geomgrad->module~mod_polarization proc~init_link_atom init_link_atom proc~init_link_atom->module~mod_topology module~mod_tree->module~mod_adjacency_mat proc~ommp_get_strtor_energy ommp_get_strtor_energy proc~ommp_get_strtor_energy->module~mod_bonded proc~c_ommp_qm_helper_get_v_m2n C_ommp_qm_helper_get_V_m2n proc~c_ommp_qm_helper_get_v_m2n->module~mod_qm_helper proc~ommp_get_strbnd_energy ommp_get_strbnd_energy proc~ommp_get_strbnd_energy->module~mod_bonded proc~ommp_get_angle_energy ommp_get_angle_energy proc~ommp_get_angle_energy->module~mod_bonded proc~ommp_get_angle_energy->module~mod_link_atom proc~allocate_tree allocate_tree proc~allocate_tree->module~mod_adjacency_mat proc~c_ommp_qm_helper_get_h_n2m C_ommp_qm_helper_get_H_n2m proc~c_ommp_qm_helper_get_h_n2m->module~mod_qm_helper proc~c_ommp_qm_helper_get_e_n2p C_ommp_qm_helper_get_E_n2p proc~c_ommp_qm_helper_get_e_n2p->module~mod_qm_helper proc~imptorsion_geomgrad imptorsion_geomgrad proc~imptorsion_geomgrad->module~mod_jacobian_mat proc~qm_helper_vdw_geomgrad qm_helper_vdw_geomgrad proc~qm_helper_vdw_geomgrad->module~mod_mmpol proc~qm_helper_vdw_geomgrad->module~mod_link_atom proc~qm_helper_vdw_geomgrad->module~mod_nonbonded proc~c_ommp_qm_helper_get_frozen C_ommp_qm_helper_get_frozen proc~c_ommp_qm_helper_get_frozen->module~mod_qm_helper proc~angtor_geomgrad angtor_geomgrad proc~angtor_geomgrad->module~mod_jacobian_mat proc~torsion_angle_jacobian torsion_angle_jacobian proc~torsion_angle_jacobian->module~mod_utils proc~ommp_polelec_geomgrad ommp_polelec_geomgrad proc~ommp_polelec_geomgrad->module~mod_geomgrad proc~mmpol_init mmpol_init proc~mmpol_init->module~mod_electrostatics proc~mmpol_init->module~mod_profiling proc~ommp_get_imptorsion_energy ommp_get_imptorsion_energy proc~ommp_get_imptorsion_energy->module~mod_bonded proc~ommp_field_mm2ext ommp_field_mm2ext proc~ommp_field_mm2ext->module~mod_electrostatics proc~tmatvec_otf TMatVec_otf proc~tmatvec_otf->module~mod_electrostatics proc~ommp_imptorsion_geomgrad ommp_imptorsion_geomgrad proc~ommp_imptorsion_geomgrad->module~mod_bonded module~mod_ribtree mod_ribtree module~mod_ribtree->module~mod_profiling module~mod_ribtree->module~mod_tree proc~mmpol_prepare mmpol_prepare proc~mmpol_prepare->module~mod_adjacency_mat proc~mmpol_prepare->module~mod_electrostatics proc~mmpol_prepare->module~mod_profiling proc~fixedelec_geomgrad fixedelec_geomgrad proc~fixedelec_geomgrad->module~mod_electrostatics proc~c_ommp_qm_helper_get_g_n2m C_ommp_qm_helper_get_G_n2m proc~c_ommp_qm_helper_get_g_n2m->module~mod_qm_helper proc~ommp_qm_helper_update_coord ommp_qm_helper_update_coord proc~ommp_qm_helper_update_coord->module~mod_qm_helper proc~c_ommp_qm_helper_get_g_n2p C_ommp_qm_helper_get_G_n2p proc~c_ommp_qm_helper_get_g_n2p->module~mod_qm_helper proc~ommp_init_mmp ommp_init_mmp proc~ommp_init_mmp->module~mod_inputloader module~fmmlib_interface->module~mod_octatree module~fmmlib_interface->module~mod_tree module~fmmlib_interface->module~mod_ribtree module~mod_fmm mod_fmm module~fmmlib_interface->module~mod_fmm module~mod_fmm->module~mod_tree proc~free_fmm free_fmm proc~free_fmm->module~mod_tree proc~ommp_init_xyz ommp_init_xyz proc~ommp_init_xyz->module~mod_inputloader

Contents


Variables

Type Visibility Attributes Name Initial
integer(kind=ip), private, parameter :: iof_memory = 6

Unit file for memory errors, warning and debug

real(kind=rp), private :: maxmem

Max memory that can be allocated in GB

real(kind=rp), private :: usedmem

Memory that is currently used by the code in GB

real(kind=rp), private :: max_used

Maximum memory used since last reset through mem_stat

integer(kind=ip), private :: size_of_int

Number of bytes for an integer

integer(kind=ip), private :: size_of_real

Number of bytes for a real

integer(kind=ip), private :: size_of_logical

Number of bytes for a logical (?)

logical(kind=lp), private :: is_init = .false.
logical, private :: do_chk_limit

Decide if the soft memory limit is on


Interfaces

public interface mallocate

Interface to perform memory allocation within the openMMPol library, it can be called for 1,2 and 3-dimensional arrays of either integer or real

  • private subroutine r_alloc1(string, len1, v)

    Allocate a 1-dimensional array of reals

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: string

    Human-readable description string of the allocation operation, just for output purpose.

    integer(kind=ip), intent(in) :: len1

    Dimension of the vector

    real(kind=rp), intent(inout), allocatable :: v(:)

    Vector to allocate

  • private subroutine r_alloc2(string, len1, len2, v)

    Allocate a 2-dimensional array of reals

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: string

    Human-readable description string of the allocation operation, just for output purpose.

    integer(kind=ip), intent(in) :: len1

    Dimensions of the vector

    integer(kind=ip), intent(in) :: len2

    Dimensions of the vector

    real(kind=rp), intent(inout), allocatable :: v(:,:)

    Vector to allocate

  • private subroutine r_alloc3(string, len1, len2, len3, v)

    Allocate a 3-dimensional array of reals

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: string

    Human-readable description string of the allocation operation, just for output purpose.

    integer(kind=ip), intent(in) :: len1

    Dimensions of the vector

    integer(kind=ip), intent(in) :: len2

    Dimensions of the vector

    integer(kind=ip), intent(in) :: len3

    Dimensions of the vector

    real(kind=rp), intent(inout), allocatable :: v(:,:,:)

    Vector to allocate

  • private subroutine i_alloc1(string, len1, v)

    Allocate a 1-dimensional array of integers

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: string

    Human-readable description string of the allocation operation, just for output purpose.

    integer(kind=ip), intent(in) :: len1

    Dimension of the vector

    integer(kind=ip), intent(inout), allocatable :: v(:)

    Vector to allocate

  • private subroutine i_alloc2(string, len1, len2, v)

    Allocate a 2-dimensional array of integers

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: string

    Human-readable description string of the allocation operation, just for output purpose.

    integer(kind=ip), intent(in) :: len1

    Dimensions of the vector

    integer(kind=ip), intent(in) :: len2

    Dimensions of the vector

    integer(kind=ip), intent(inout), allocatable :: v(:,:)

    Vector to allocate

  • private subroutine i_alloc3(string, len1, len2, len3, v)

    Allocate a 3-dimensional array of integers

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: string

    Human-readable description string of the allocation operation, just for output purpose.

    integer(kind=ip), intent(in) :: len1

    Dimensions of the vector

    integer(kind=ip), intent(in) :: len2

    Dimensions of the vector

    integer(kind=ip), intent(in) :: len3

    Dimensions of the vector

    integer(kind=ip), intent(inout), allocatable :: v(:,:,:)

    Vector to allocate

  • private subroutine l_alloc1(string, len1, v)

    Allocate a 1-dimensional array of reals

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: string

    Human-readable description string of the allocation operation, just for output purpose.

    integer(kind=ip), intent(in) :: len1

    Dimension of the vector

    logical(kind=lp), intent(inout), allocatable :: v(:)

    Vector to allocate

  • private subroutine l_alloc2(string, len1, len2, v)

    Allocate a 2-dimensional array of reals

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: string

    Human-readable description string of the allocation operation, just for output purpose.

    integer(kind=ip), intent(in) :: len1

    Dimensions of the vector

    integer(kind=ip), intent(in) :: len2

    Dimensions of the vector

    logical(kind=lp), intent(inout), allocatable :: v(:,:)

    Vector to allocate

public interface mfree

Interface to perform memory deallocation within the openMMPol library, it can be called for 1,2 and 3-dimensional arrays of either integer or real

  • private subroutine r_free1(string, v)

    Free a 1-dimensional array of reals

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: string

    Human-readable description string of the deallocation operation, just for output purpose.

    real(kind=rp), intent(inout), allocatable :: v(:)

    Array to free

  • private subroutine r_free2(string, v)

    Free a 2-dimensional array of reals

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: string

    Human-readable description string of the deallocation operation, just for output purpose.

    real(kind=rp), intent(inout), allocatable :: v(:,:)

    Array to free

  • private subroutine r_free3(string, v)

    Free a 3-dimensional array of reals

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: string

    Human-readable description string of the deallocation operation, just for output purpose.

    real(kind=rp), intent(inout), allocatable :: v(:,:,:)

    Array to free

  • private subroutine i_free1(string, v)

    Free a 1-dimensional array of integers

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: string

    Human-readable description string of the deallocation operation, just for output purpose.

    integer(kind=ip), intent(inout), allocatable :: v(:)

    Array to free

  • private subroutine i_free2(string, v)

    Free a 2-dimensional array of integers

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: string

    Human-readable description string of the deallocation operation, just for output purpose.

    integer(kind=ip), intent(inout), allocatable :: v(:,:)

    Array to free

  • private subroutine i_free3(string, v)

    Free a 3-dimensional array of integers

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: string

    Human-readable description string of the deallocation operation, just for output purpose.

    integer(kind=ip), intent(inout), allocatable :: v(:,:,:)

    Array to free

  • private subroutine l_free1(string, v)

    Free a 1-dimensional array of integers

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: string

    Human-readable description string of the deallocation operation, just for output purpose.

    logical(kind=lp), intent(inout), allocatable :: v(:)

    Array to free

  • private subroutine l_free2(string, v)

    Free a 2-dimensional array of integers

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: string

    Human-readable description string of the deallocation operation, just for output purpose.

    logical(kind=lp), intent(inout), allocatable :: v(:,:)

    Array to free


Functions

public function use_8bytes_int() bind(c, name='__use_8bytes_int')

This function is used to know if the library is compiled using integer 8 or 4 bytes long.

Arguments

None

Return Value logical(kind=c_bool)

public function mem_stat(pv) result(mm)

Return the current value of maximum used memory, if an argument is present set max_used to that value, otherwise max_used is reset to -1

Arguments

Type IntentOptional Attributes Name
real(kind=rp), intent(in), optional :: pv

Return Value real(kind=rp)


Subroutines

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

private subroutine r_alloc1(string, len1, v)

Allocate a 1-dimensional array of reals

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: string

Human-readable description string of the allocation operation, just for output purpose.

integer(kind=ip), intent(in) :: len1

Dimension of the vector

real(kind=rp), intent(inout), allocatable :: v(:)

Vector to allocate

private subroutine r_alloc2(string, len1, len2, v)

Allocate a 2-dimensional array of reals

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: string

Human-readable description string of the allocation operation, just for output purpose.

integer(kind=ip), intent(in) :: len1

Dimensions of the vector

integer(kind=ip), intent(in) :: len2

Dimensions of the vector

real(kind=rp), intent(inout), allocatable :: v(:,:)

Vector to allocate

private subroutine r_alloc3(string, len1, len2, len3, v)

Allocate a 3-dimensional array of reals

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: string

Human-readable description string of the allocation operation, just for output purpose.

integer(kind=ip), intent(in) :: len1

Dimensions of the vector

integer(kind=ip), intent(in) :: len2

Dimensions of the vector

integer(kind=ip), intent(in) :: len3

Dimensions of the vector

real(kind=rp), intent(inout), allocatable :: v(:,:,:)

Vector to allocate

private subroutine i_alloc1(string, len1, v)

Allocate a 1-dimensional array of integers

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: string

Human-readable description string of the allocation operation, just for output purpose.

integer(kind=ip), intent(in) :: len1

Dimension of the vector

integer(kind=ip), intent(inout), allocatable :: v(:)

Vector to allocate

private subroutine i_alloc2(string, len1, len2, v)

Allocate a 2-dimensional array of integers

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: string

Human-readable description string of the allocation operation, just for output purpose.

integer(kind=ip), intent(in) :: len1

Dimensions of the vector

integer(kind=ip), intent(in) :: len2

Dimensions of the vector

integer(kind=ip), intent(inout), allocatable :: v(:,:)

Vector to allocate

private subroutine i_alloc3(string, len1, len2, len3, v)

Allocate a 3-dimensional array of integers

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: string

Human-readable description string of the allocation operation, just for output purpose.

integer(kind=ip), intent(in) :: len1

Dimensions of the vector

integer(kind=ip), intent(in) :: len2

Dimensions of the vector

integer(kind=ip), intent(in) :: len3

Dimensions of the vector

integer(kind=ip), intent(inout), allocatable :: v(:,:,:)

Vector to allocate

private subroutine l_alloc1(string, len1, v)

Allocate a 1-dimensional array of reals

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: string

Human-readable description string of the allocation operation, just for output purpose.

integer(kind=ip), intent(in) :: len1

Dimension of the vector

logical(kind=lp), intent(inout), allocatable :: v(:)

Vector to allocate

private subroutine l_alloc2(string, len1, len2, v)

Allocate a 2-dimensional array of reals

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: string

Human-readable description string of the allocation operation, just for output purpose.

integer(kind=ip), intent(in) :: len1

Dimensions of the vector

integer(kind=ip), intent(in) :: len2

Dimensions of the vector

logical(kind=lp), intent(inout), allocatable :: v(:,:)

Vector to allocate

private subroutine chk_alloc(string, lall, istat)

Handles the memory errors (including soft limit) during memory allocation

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: string

Human-readable description string of the allocation operation, just for output purpose.

integer(kind=ip), intent(in) :: lall

Amount of allocated memory in bytes

integer(kind=ip), intent(in) :: istat

Status flag from allocate()

private subroutine r_free1(string, v)

Free a 1-dimensional array of reals

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: string

Human-readable description string of the deallocation operation, just for output purpose.

real(kind=rp), intent(inout), allocatable :: v(:)

Array to free

private subroutine r_free2(string, v)

Free a 2-dimensional array of reals

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: string

Human-readable description string of the deallocation operation, just for output purpose.

real(kind=rp), intent(inout), allocatable :: v(:,:)

Array to free

private subroutine r_free3(string, v)

Free a 3-dimensional array of reals

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: string

Human-readable description string of the deallocation operation, just for output purpose.

real(kind=rp), intent(inout), allocatable :: v(:,:,:)

Array to free

private subroutine i_free1(string, v)

Free a 1-dimensional array of integers

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: string

Human-readable description string of the deallocation operation, just for output purpose.

integer(kind=ip), intent(inout), allocatable :: v(:)

Array to free

private subroutine i_free2(string, v)

Free a 2-dimensional array of integers

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: string

Human-readable description string of the deallocation operation, just for output purpose.

integer(kind=ip), intent(inout), allocatable :: v(:,:)

Array to free

private subroutine i_free3(string, v)

Free a 3-dimensional array of integers

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: string

Human-readable description string of the deallocation operation, just for output purpose.

integer(kind=ip), intent(inout), allocatable :: v(:,:,:)

Array to free

private subroutine l_free1(string, v)

Free a 1-dimensional array of integers

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: string

Human-readable description string of the deallocation operation, just for output purpose.

logical(kind=lp), intent(inout), allocatable :: v(:)

Array to free

private subroutine l_free2(string, v)

Free a 2-dimensional array of integers

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: string

Human-readable description string of the deallocation operation, just for output purpose.

logical(kind=lp), intent(inout), allocatable :: v(:,:)

Array to free

private subroutine chk_free(string, lfree, istat)

Handles the memory errors (including soft limits) during the deallocation

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: string

Human-readable description string of the deallocation operation, just for output purpose.

integer(kind=ip), intent(in) :: lfree

amount of memory (in bytes) to free

integer(kind=ip), intent(in) :: istat

return flag of deallocate