mod_ommp_C_interface Module

The interface of the library, basically all the operation performed by an external code should be done through the routines of this module. The interface is conceived to work naturally with C and Fortran; the C interface is also used to build the interface for Python. In a fortran code, this module can be imported and it should expose directly all the vector and scalar quantities needed. In a C code, routines are provided to get the pointer or the values of vector and scalar quantites respectively.

Internal utilities for Fortran -> C interface


Uses

  • module~~mod_ommp_c_interface~~UsesGraph module~mod_ommp_c_interface mod_ommp_C_interface module~ommp_interface ommp_interface module~mod_ommp_c_interface->module~ommp_interface module~mod_constants mod_constants module~mod_ommp_c_interface->module~mod_constants iso_c_binding iso_c_binding module~mod_ommp_c_interface->iso_c_binding module~ommp_interface->module~mod_constants module~mod_profiling mod_profiling module~ommp_interface->module~mod_profiling module~mod_iohdf5 mod_iohdf5 module~ommp_interface->module~mod_iohdf5 module~mod_topology mod_topology module~ommp_interface->module~mod_topology module~mod_qm_helper mod_qm_helper module~ommp_interface->module~mod_qm_helper module~mod_io mod_io module~ommp_interface->module~mod_io module~mod_memory mod_memory module~ommp_interface->module~mod_memory module~mod_electrostatics mod_electrostatics module~ommp_interface->module~mod_electrostatics module~mod_mmpol mod_mmpol module~ommp_interface->module~mod_mmpol module~mod_constants->iso_c_binding module~mod_profiling->module~mod_constants module~mod_profiling->module~mod_io module~mod_profiling->module~mod_memory module~mod_iohdf5->module~mod_constants module~mod_iohdf5->module~mod_topology module~mod_iohdf5->module~mod_io module~mod_iohdf5->module~mod_memory module~mod_iohdf5->module~mod_electrostatics module~mod_iohdf5->module~mod_mmpol module~mod_bonded mod_bonded module~mod_iohdf5->module~mod_bonded module~mod_nonbonded mod_nonbonded module~mod_iohdf5->module~mod_nonbonded module~mod_topology->module~mod_memory module~mod_adjacency_mat mod_adjacency_mat module~mod_topology->module~mod_adjacency_mat module~mod_qm_helper->module~mod_topology module~mod_qm_helper->module~mod_memory module~mod_qm_helper->module~mod_mmpol module~mod_qm_helper->module~mod_nonbonded module~mod_io->module~mod_constants module~mod_memory->module~mod_constants module~mod_memory->iso_c_binding module~mod_memory->module~mod_io module~mod_electrostatics->module~mod_constants module~mod_electrostatics->module~mod_profiling module~mod_electrostatics->module~mod_topology module~mod_electrostatics->module~mod_io module~mod_electrostatics->module~mod_memory module~mod_electrostatics->module~mod_adjacency_mat module~fmmlib_interface fmmlib_interface module~mod_electrostatics->module~fmmlib_interface module~mod_mmpol->module~mod_constants module~mod_mmpol->module~mod_topology module~mod_mmpol->module~mod_io module~mod_mmpol->module~mod_memory module~mod_mmpol->module~mod_electrostatics module~mod_mmpol->module~mod_bonded module~mod_mmpol->module~mod_adjacency_mat module~mod_link_atom mod_link_atom module~mod_mmpol->module~mod_link_atom module~mod_mmpol->module~mod_nonbonded module~mod_bonded->module~mod_topology module~mod_bonded->module~mod_io module~mod_bonded->module~mod_memory module~mod_adjacency_mat->module~mod_memory module~mod_link_atom->module~mod_constants module~mod_link_atom->module~mod_topology module~mod_link_atom->module~mod_io module~mod_link_atom->module~mod_memory module~mod_link_atom->module~mod_bonded module~mod_link_atom->module~mod_nonbonded module~mod_utils mod_utils module~mod_link_atom->module~mod_utils module~fmmlib_interface->module~mod_constants module~mod_ribtree mod_ribtree module~fmmlib_interface->module~mod_ribtree module~mod_harmonics mod_harmonics module~fmmlib_interface->module~mod_harmonics module~mod_tree mod_tree module~fmmlib_interface->module~mod_tree module~mod_fmm mod_fmm module~fmmlib_interface->module~mod_fmm module~mod_fmm_utils mod_fmm_utils module~fmmlib_interface->module~mod_fmm_utils module~mod_octatree mod_octatree module~fmmlib_interface->module~mod_octatree module~mod_nonbonded->module~mod_constants module~mod_nonbonded->module~mod_topology module~mod_nonbonded->module~mod_memory module~mod_nonbonded->module~mod_adjacency_mat module~mod_neighbor_list mod_neighbor_list module~mod_nonbonded->module~mod_neighbor_list module~mod_utils->module~mod_constants module~mod_utils->module~mod_memory module~mod_ribtree->module~mod_constants module~mod_ribtree->module~mod_profiling module~mod_ribtree->module~mod_tree module~mod_ribtree->module~mod_fmm_utils module~mod_harmonics->module~mod_constants module~mod_harmonics->module~mod_fmm_utils module~mod_tree->module~mod_constants module~mod_tree->module~mod_adjacency_mat module~mod_tree->module~mod_fmm_utils module~mod_fmm->module~mod_constants module~mod_fmm->module~mod_harmonics module~mod_fmm->module~mod_tree module~mod_fmm->module~mod_fmm_utils module~mod_fmm_utils->module~mod_constants module~mod_octatree->module~mod_constants module~mod_octatree->module~mod_profiling module~mod_octatree->module~mod_tree module~mod_octatree->module~mod_fmm_utils module~mod_neighbor_list->module~mod_io module~mod_neighbor_list->module~mod_memory module~mod_neighbor_list->module~mod_adjacency_mat

Contents


Functions

public function C_ommp_init_mmp(filename) result(c_prt) bind(c, name='ommp_init_mmp')

Initalize OMMP System Object from .mmp file

Arguments

Type IntentOptional Attributes Name
character(kind=c_char), intent(in) :: filename(OMMP_STR_CHAR_MAX)

Return Value type(c_ptr)

public function C_ommp_init_xyz(xyzfile, prmfile) result(c_prt) bind(c, name='ommp_init_xyz')

Initialize the library using a Tinker xyz and a Tinker prm

Arguments

Type IntentOptional Attributes Name
character(kind=c_char), intent(in) :: xyzfile(OMMP_STR_CHAR_MAX)
character(kind=c_char), intent(in) :: prmfile(OMMP_STR_CHAR_MAX)

Return Value type(c_ptr)

public function C_ommp_get_polelec_energy(s_prt) result(epol) bind(c, name='ommp_get_polelec_energy')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt

Return Value real(kind=ommp_real)

public function C_ommp_get_fixedelec_energy(s_prt) result(emm) bind(c, name='ommp_get_fixedelec_energy')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt

Return Value real(kind=ommp_real)

public function C_ommp_get_full_ele_energy(s_prt) result(ene) bind(c, name='ommp_get_full_ele_energy')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt

Return Value real(kind=ommp_real)

public function C_ommp_get_vdw_energy(s_prt) result(evdw) bind(c, name='ommp_get_vdw_energy')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt

Return Value real(kind=ommp_real)

public function C_ommp_get_bond_energy(s_prt) result(ebnd) bind(c, name='ommp_get_bond_energy')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt

Return Value real(kind=ommp_real)

public function C_ommp_get_angle_energy(s_prt) result(eang) bind(c, name='ommp_get_angle_energy')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt

Return Value real(kind=ommp_real)

public function C_ommp_get_strbnd_energy(s_prt) result(eba) bind(c, name='ommp_get_strbnd_energy')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt

Return Value real(kind=ommp_real)

public function C_ommp_get_urey_energy(s_prt) result(eub) bind(c, name='ommp_get_urey_energy')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt

Return Value real(kind=ommp_real)

public function C_ommp_get_opb_energy(s_prt) result(eopb) bind(c, name='ommp_get_opb_energy')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt

Return Value real(kind=ommp_real)

public function C_ommp_get_imptorsion_energy(s_prt) result(et) bind(c, name='ommp_get_imptorsion_energy')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt

Return Value real(kind=ommp_real)

public function C_ommp_get_torsion_energy(s_prt) result(et) bind(c, name='ommp_get_torsion_energy')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt

Return Value real(kind=ommp_real)

public function C_ommp_get_pitors_energy(s_prt) result(epitors) bind(c, name='ommp_get_pitors_energy')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt

Return Value real(kind=ommp_real)

public function C_ommp_get_strtor_energy(s_prt) result(ebt) bind(c, name='ommp_get_strtor_energy')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt

Return Value real(kind=ommp_real)

public function C_ommp_get_angtor_energy(s_prt) result(eat) bind(c, name='ommp_get_angtor_energy')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt

Return Value real(kind=ommp_real)

public function C_ommp_get_tortor_energy(s_prt) result(ett) bind(c, name='ommp_get_tortor_energy')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt

Return Value real(kind=ommp_real)

public function C_ommp_get_full_bnd_energy(s_prt) result(ene) bind(c, name='ommp_get_full_bnd_energy')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt

Return Value real(kind=ommp_real)

public function C_ommp_get_full_energy(s_prt) result(ene) bind(c, name='ommp_get_full_energy')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt

Return Value real(kind=ommp_real)

public function C_ommp_get_cmm(s_prt) bind(c, name='ommp_get_cmm')

Return the c-pointer to the array containing the coordinates of MM atoms.

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt

Return Value type(c_ptr)

public function C_ommp_get_zmm(s_prt) bind(c, name='ommp_get_zmm')

Return the c-pointer to the array containing the coordinates of MM atoms.

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt

Return Value type(c_ptr)

public function C_ommp_get_attypemm(s_prt) bind(c, name='ommp_get_attypemm')

Return the c-pointer to the array containing the coordinates of MM atoms.

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt

Return Value type(c_ptr)

public function C_ommp_get_cpol(s_prt) bind(c, name='ommp_get_cpol')

Return the c-pointer to the array containing the coordinates of polarizable atoms.

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt

Return Value type(c_ptr)

public function C_ommp_get_q(s_prt) bind(c, name='ommp_get_q')

Return the c-pointer to the array containing the static source of the electrostatic field.

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt

Return Value type(c_ptr)

public function C_ommp_get_ipd(s_prt) bind(c, name='ommp_get_ipd')

Return the c-pointer to the array containing the induced dipoles on polarizable sites.

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt

Return Value type(c_ptr)

public function C_ommp_get_polar_mm(s_prt) bind(c, name='ommp_get_polar_mm')

Return the c-pointer to the array containing the map from polarizable to MM atoms.

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt

Return Value type(c_ptr)

public function C_ommp_use_frozen(s_prt) bind(c, name='ommp_use_frozen')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt

Return Value logical(kind=c_bool)

public function C_ommp_get_frozen(s_prt) bind(c, name='ommp_get_frozen')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt

Return Value type(c_ptr)

public function C_ommp_get_mm_atoms(s_prt) bind(c, name='ommp_get_mm_atoms')

Return the number of MM atoms in the system.

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt

Return Value integer(kind=ommp_integer)

public function C_ommp_get_pol_atoms(s_prt) bind(c, name='ommp_get_pol_atoms')

Return the number of polarizable atoms in the system.

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt

Return Value integer(kind=ommp_integer)

public function C_ommp_get_n_ipd(s_prt) bind(c, name='ommp_get_n_ipd')

Return the number of dipole's set for the current Force-Field.

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt

Return Value integer(kind=ommp_integer)

public function C_ommp_get_ld_cart(s_prt) bind(c, name='ommp_get_ld_cart')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt

Return Value integer(kind=ommp_integer)

public function C_ommp_ff_is_amoeba(s_prt) bind(c, name='ommp_ff_is_amoeba')

Return true if the current forcefield is AMOEBA, and false in all other cases.

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt

Return Value logical(kind=c_bool)

public function C_ommp_use_linkatoms(s_ptr) result(u) bind(C, name='ommp_use_linkatoms')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_ptr

C pointer to system object

Return Value logical(kind=c_bool)

public function C_ommp_init_qm_helper(n, cqm, qqm, zqm) result(c_prt) bind(c, name='ommp_init_qm_helper')

Arguments

Type IntentOptional Attributes Name
integer(kind=ommp_integer), intent(in), value :: n
type(c_ptr), intent(in), value :: cqm
type(c_ptr), intent(in), value :: qqm
type(c_ptr), intent(in), value :: zqm

Return Value type(c_ptr)

public function C_ommp_qm_helper_vdw_energy(qm_prt, s_prt) result(evdw) bind(c, name='ommp_qm_helper_vdw_energy')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: qm_prt
type(c_ptr), value :: s_prt

Return Value real(kind=ommp_real)

public function C_ommp_qm_helper_get_npol(qm_ptr) result(npol) bind(C, name='ommp_qm_helper_get_npol')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: qm_ptr

C pointer to qm_helper object

Return Value integer(kind=ommp_integer)

public function C_ommp_qm_helper_get_nmm(qm_ptr) result(nmm) bind(C, name='ommp_qm_helper_get_nmm')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: qm_ptr

C pointer to qm_helper object

Return Value integer(kind=ommp_integer)

public function C_ommp_qm_helper_get_cqm(qm_ptr) result(ptr) bind(C, name='ommp_qm_helper_get_cqm')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: qm_ptr

C pointer to qm_helper object

Return Value type(c_ptr)

public function C_ommp_qm_helper_get_E_n2p(qm_ptr) result(ptr) bind(C, name='ommp_qm_helper_get_E_n2p')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: qm_ptr

C pointer to qm_helper object

Return Value type(c_ptr)

public function C_ommp_qm_helper_get_G_n2p(qm_ptr) result(ptr) bind(C, name='ommp_qm_helper_get_G_n2p')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: qm_ptr

C pointer to qm_helper object

Return Value type(c_ptr)

public function C_ommp_qm_helper_get_E_n2m(qm_ptr) result(ptr) bind(C, name='ommp_qm_helper_get_E_n2m')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: qm_ptr

C pointer to qm_helper object

Return Value type(c_ptr)

public function C_ommp_qm_helper_get_G_n2m(qm_ptr) result(ptr) bind(C, name='ommp_qm_helper_get_G_n2m')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: qm_ptr

C pointer to qm_helper object

Return Value type(c_ptr)

public function C_ommp_qm_helper_get_H_n2m(qm_ptr) result(ptr) bind(C, name='ommp_qm_helper_get_H_n2m')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: qm_ptr

C pointer to qm_helper object

Return Value type(c_ptr)

public function C_ommp_qm_helper_get_E_m2n(qm_ptr) result(ptr) bind(C, name='ommp_qm_helper_get_E_m2n')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: qm_ptr

C pointer to qm_helper object

Return Value type(c_ptr)

public function C_ommp_qm_helper_get_E_p2n(qm_ptr) result(ptr) bind(C, name='ommp_qm_helper_get_E_p2n')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: qm_ptr

C pointer to qm_helper object

Return Value type(c_ptr)

public function C_ommp_qm_helper_get_V_m2n(qm_ptr) result(ptr) bind(C, name='ommp_qm_helper_get_V_m2n')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: qm_ptr

C pointer to qm_helper object

Return Value type(c_ptr)

public function C_ommp_qm_helper_get_V_p2n(qm_ptr) result(ptr) bind(C, name='ommp_qm_helper_get_V_p2n')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: qm_ptr

C pointer to qm_helper object

Return Value type(c_ptr)

public function C_ommp_qm_helper_get_qm_atoms(qm_ptr) result(n) bind(C, name='ommp_qm_helper_get_qm_atoms')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: qm_ptr

C pointer to qm_helper object

Return Value integer(kind=ommp_integer)

public function C_ommp_qm_helper_use_nonbonded(qm_ptr) result(u) bind(C, name='ommp_qm_helper_use_nonbonded')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: qm_ptr

C pointer to qm_helper object

Return Value logical(kind=c_bool)

public function C_ommp_qm_helper_use_frozen(s_prt) bind(c, name='ommp_qm_helper_use_frozen')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt

Return Value logical(kind=c_bool)

public function C_ommp_qm_helper_get_frozen(s_prt) bind(c, name='ommp_qm_helper_get_frozen')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt

Return Value type(c_ptr)

public function C_ommp_create_link_atom(qm_prt, s_prt, imm, iqm, ila, prmfile, ladist, neel_remove) result(la_idx) bind(c, name='ommp_create_link_atom')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: qm_prt
type(c_ptr), value :: s_prt
integer(kind=ommp_integer), value :: imm
integer(kind=ommp_integer), value :: iqm
integer(kind=ommp_integer), value :: ila
character(kind=c_char), intent(in) :: prmfile(OMMP_STR_CHAR_MAX)
real(kind=ommp_real), value :: ladist
integer(kind=ommp_integer), value :: neel_remove

Return Value integer(kind=ommp_integer)

public function C_ommp_system_from_qm_helper(cqmh, cprm_file) result(csys) bind(c, name='ommp_system_from_qm_helper')

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), value :: cqmh
character(kind=c_char), intent(in) :: cprm_file(OMMP_STR_CHAR_MAX)

Return Value type(c_ptr)

public function C_ommp_use_fmm(s_prt) bind(c, name='ommp_use_fmm')

Return true if the current forcefield is AMOEBA, and false in all other cases.

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt

Return Value logical(kind=c_bool)


Subroutines

private pure subroutine c2f_string(c_str, f_str)

Convert a string coming from C into a Fortran string

Arguments

Type IntentOptional Attributes Name
character(kind=c_char), intent(in) :: c_str(:)

Input string to be converted

character(len=*), intent(out) :: f_str

public subroutine C_ommp_set_verbose(verb) bind(c, name="0")

Set the verbosity level of the library to verb

Arguments

Type IntentOptional Attributes Name
integer(kind=ommp_integer), intent(in), value :: verb

Requested verbosityi of library

public subroutine C_ommp_set_default_solver(s_prt, solver) bind(c, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt
integer(kind=ommp_integer), intent(in), value :: solver

public subroutine C_ommp_set_default_matv(s_prt, matv) bind(c, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt
integer(kind=ommp_integer), intent(in), value :: matv

public subroutine C_ommp_fatal(c_msg) bind(c, name="0")

Arguments

Type IntentOptional Attributes Name
character(kind=c_char), intent(in) :: c_msg(OMMP_STR_CHAR_MAX)

public subroutine C_ommp_message(c_msg, level, c_pre) bind(c, name="0")

Arguments

Type IntentOptional Attributes Name
character(kind=c_char), intent(in) :: c_msg(OMMP_STR_CHAR_MAX)
integer(kind=ommp_integer), value :: level
character(kind=c_char), intent(in) :: c_pre(OMMP_STR_CHAR_MAX)

public subroutine C_ommp_time_pull(c_msg) bind(c, name="0")

Arguments

Type IntentOptional Attributes Name
character(kind=c_char), intent(in) :: c_msg(OMMP_STR_CHAR_MAX)

public subroutine C_ommp_time_push() bind(c, name="0")

Arguments

None

public subroutine C_ommp_set_outputfile(fname) bind(c, name="0")

Arguments

Type IntentOptional Attributes Name
character(kind=c_char), intent(in) :: fname(OMMP_STR_CHAR_MAX)

public subroutine C_ommp_close_outputfile() bind(c, name="0")

Arguments

None

public subroutine C_ommp_print_summary(s_prt) bind(c, name="0")

Print a summary of the system input on standard output.

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt

public subroutine C_ommp_print_summary_to_file(s_prt, filename) bind(c, name="0")

Print a summary of the system input on file.

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt
character(kind=c_char), intent(in) :: filename(OMMP_STR_CHAR_MAX)

File where the summary will be printed

public subroutine C_ommp_save_mmp(s_prt, filename, version) bind(c, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt
character(kind=c_char), intent(in) :: filename(OMMP_STR_CHAR_MAX)
integer(kind=ommp_integer), value :: version

public subroutine C_ommp_update_coordinates(s_prt, new_c_p) bind(C, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt
type(c_ptr), value :: new_c_p

public subroutine C_ommp_set_frozen_atoms(s_prt, n, frozen) bind(c, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt
integer(kind=ommp_integer), value :: n
type(c_ptr), value :: frozen

public subroutine C_ommp_turn_pol_off(s_prt, n, nopol) bind(c, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt
integer(kind=ommp_integer), value :: n
type(c_ptr), value :: nopol

public subroutine C_ommp_terminate(s_prt) bind(c, name="0")

Terminate a OMMP System Object

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt

public subroutine C_ommp_set_external_field(s_prt, ext_field_prt, solver, matv) bind(c, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt
type(c_ptr), value :: ext_field_prt
integer(kind=ommp_integer), intent(in), value :: solver
integer(kind=ommp_integer), intent(in), value :: matv

public subroutine C_ommp_set_external_field_nomm(s_prt, ext_field_prt, solver, matv) bind(c, name="0")

use mod_mmpol, only: pol_atoms

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt
type(c_ptr), value :: ext_field_prt
integer(kind=ommp_integer), intent(in), value :: solver
integer(kind=ommp_integer), intent(in), value :: matv

public subroutine C_ommp_potential_mmpol2ext(s_prt, n, cext, v) bind(c, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt
integer(kind=ommp_integer), intent(in), value :: n
type(c_ptr), value :: cext
type(c_ptr), value :: v

public subroutine C_ommp_potential_pol2ext(s_prt, n, cext, v) bind(c, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt
integer(kind=ommp_integer), intent(in), value :: n
type(c_ptr), value :: cext
type(c_ptr), value :: v

public subroutine C_ommp_potential_mm2ext(s_prt, n, cext, v) bind(c, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt
integer(kind=ommp_integer), intent(in), value :: n
type(c_ptr), value :: cext
type(c_ptr), value :: v

public subroutine C_ommp_vdw_geomgrad(s_prt, grd_prt) bind(C, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt
type(c_ptr), value :: grd_prt

public subroutine C_ommp_rotation_geomgrad(s_prt, pE, pE_grd, grd_prt) bind(C, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt
type(c_ptr), value :: pE
type(c_ptr), value :: pE_grd
type(c_ptr), value :: grd_prt

public subroutine C_ommp_bond_geomgrad(s_prt, grd_prt) bind(C, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt
type(c_ptr), value :: grd_prt

public subroutine C_ommp_angle_geomgrad(s_prt, grd_prt) bind(C, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt
type(c_ptr), value :: grd_prt

public subroutine C_ommp_strbnd_geomgrad(s_prt, grd_prt) bind(C, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt
type(c_ptr), value :: grd_prt

public subroutine C_ommp_urey_geomgrad(s_prt, grd_prt) bind(C, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt
type(c_ptr), value :: grd_prt

public subroutine C_ommp_torsion_geomgrad(s_prt, grd_prt) bind(C, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt
type(c_ptr), value :: grd_prt

public subroutine C_ommp_imptorsion_geomgrad(s_prt, grd_prt) bind(C, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt
type(c_ptr), value :: grd_prt

public subroutine C_ommp_angtor_geomgrad(s_prt, grd_prt) bind(C, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt
type(c_ptr), value :: grd_prt

public subroutine C_ommp_opb_geomgrad(s_prt, grd_prt) bind(C, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt
type(c_ptr), value :: grd_prt

public subroutine C_ommp_strtor_geomgrad(s_prt, grd_prt) bind(C, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt
type(c_ptr), value :: grd_prt

public subroutine C_ommp_tortor_geomgrad(s_prt, grd_prt) bind(C, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt
type(c_ptr), value :: grd_prt

public subroutine C_ommp_pitors_geomgrad(s_prt, grd_prt) bind(C, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt
type(c_ptr), value :: grd_prt

public subroutine C_ommp_full_bnd_geomgrad(s_prt, grd_prt) bind(C, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt
type(c_ptr), value :: grd_prt

public subroutine C_ommp_fixedelec_geomgrad(s_prt, grd_prt) bind(C, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt
type(c_ptr), value :: grd_prt

public subroutine C_ommp_polelec_geomgrad(s_prt, grd_prt) bind(C, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt
type(c_ptr), value :: grd_prt

public subroutine C_ommp_full_geomgrad(s_prt, grd_prt) bind(C, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt
type(c_ptr), value :: grd_prt

public subroutine C_ommp_field_mmpol2ext(s_prt, n, cext, E) bind(c, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt
integer(kind=ommp_integer), intent(in), value :: n
type(c_ptr), value :: cext
type(c_ptr), value :: E

public subroutine C_ommp_field_mm2ext(s_prt, n, cext, E) bind(c, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt
integer(kind=ommp_integer), intent(in), value :: n
type(c_ptr), value :: cext
type(c_ptr), value :: E

public subroutine C_ommp_field_pol2ext(s_prt, n, cext, E) bind(c, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt
integer(kind=ommp_integer), intent(in), value :: n
type(c_ptr), value :: cext
type(c_ptr), value :: E

public subroutine C_ommp_qm_helper_set_frozen_atoms(s_prt, n, frozen) bind(c, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_prt
integer(kind=ommp_integer), value :: n
type(c_ptr), value :: frozen

public subroutine C_ommp_terminate_qm_helper(s_ptr) bind(c, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_ptr

public subroutine C_ommp_qm_helper_update_coord(s_ptr, cqm) bind(c, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_ptr
type(c_ptr), intent(in), value :: cqm

public subroutine C_ommp_qm_helper_set_attype(pqm, pattype) bind(c, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), value :: pqm
type(c_ptr), intent(in), value :: pattype

public subroutine C_ommp_qm_helper_init_vdw_prm(pqm, cprmfile) bind(c, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), value :: pqm
character(kind=c_char), intent(in) :: cprmfile(OMMP_STR_CHAR_MAX)

public subroutine C_ommp_qm_helper_init_vdw(pqm, peps, prad, pfac, cvdw_type, cradius_rule, cradius_size, cradius_type, ceps_rule) bind(c, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), value :: pqm
type(c_ptr), intent(in), value :: peps
type(c_ptr), intent(in), value :: prad
type(c_ptr), intent(in), value :: pfac
character(kind=c_char), intent(in) :: cvdw_type(OMMP_STR_CHAR_MAX)
character(kind=c_char), intent(in) :: cradius_rule(OMMP_STR_CHAR_MAX)
character(kind=c_char), intent(in) :: cradius_size(OMMP_STR_CHAR_MAX)
character(kind=c_char), intent(in) :: cradius_type(OMMP_STR_CHAR_MAX)
character(kind=c_char), intent(in) :: ceps_rule(OMMP_STR_CHAR_MAX)

public subroutine C_ommp_qm_helper_vdw_geomgrad(qm_prt, s_prt, qmg_prt, mmg_prt) bind(c, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: qm_prt
type(c_ptr), value :: s_prt
type(c_ptr), value :: qmg_prt
type(c_ptr), value :: mmg_prt

public subroutine C_ommp_qm_helper_link_atom_geomgrad(qm_prt, s_prt, qmg_prt, mmg_prt, old_qmg_ptr) bind(c, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: qm_prt
type(c_ptr), value :: s_prt
type(c_ptr), value :: qmg_prt
type(c_ptr), value :: mmg_prt
type(c_ptr), value :: old_qmg_ptr

public subroutine C_ommp_prepare_qm_ele_ene(s_ptr, qm_ptr) bind(c, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_ptr

C pointer to system object

type(c_ptr), value :: qm_ptr

C pointer to qm_helper object

public subroutine C_ommp_prepare_qm_ele_grd(s_ptr, qm_ptr) bind(c, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_ptr

C pointer to system object

type(c_ptr), value :: qm_ptr

C pointer to qm_helper object

public subroutine C_ommp_get_link_atom_coordinates(s_p, la_idx, crd_p) bind(c, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: s_p
integer(kind=ommp_integer), value :: la_idx
type(c_ptr), value :: crd_p

public subroutine C_ommp_update_link_atoms_position(qm_prt, s_prt) bind(c, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: qm_prt
type(c_ptr), value :: s_prt

public subroutine C_ommp_set_vdw_cutoff(sp, cutoff) bind(c, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), value :: sp
real(kind=ommp_real), intent(in), value :: cutoff

public subroutine C_ommp_set_fmm_lmax_pol(sp, l) bind(c, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), value :: sp
integer(kind=ommp_integer), intent(in), value :: l

public subroutine C_ommp_set_fmm_lmax(sp, l) bind(c, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), value :: sp
integer(kind=ommp_integer), intent(in), value :: l

public subroutine C_ommp_set_fmm_distance(sp, d) bind(c, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), value :: sp
real(kind=ommp_real), intent(in), value :: d

public subroutine C_ommp_set_fmm_min_cell_size(sp, d) bind(c, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), value :: sp
real(kind=ommp_real), intent(in), value :: d

public subroutine C_ommp_enable_fmm(sp) bind(c, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), value :: sp

public subroutine C_ommp_disable_fmm(sp) bind(c, name="0")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), value :: sp