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.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character, | public, | parameter | :: | ommp_version_string | = | _OMMP_VERSION |
Solve the polarization equation for a certain external field and compute the interaction energy of the induced dipoles with themselves and fixed multipoles.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | sys_obj |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | sys_obj |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | sys_obj |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | sys_obj |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | sys_obj |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | sys_obj |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | sys_obj |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | sys_obj |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | sys_obj |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | sys_obj |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | sys_obj |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | sys_obj |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | sys_obj |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | sys_obj |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | sys_obj |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | sys_obj |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | sys_obj |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_qm_helper), | intent(in) | :: | qm | |||
type(ommp_system), | intent(inout) | :: | s |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_qm_helper), | intent(inout) | :: | qm | |||
type(ommp_system), | intent(inout) | :: | s | |||
integer(kind=ommp_integer), | intent(in) | :: | imm | |||
integer(kind=ommp_integer), | intent(in) | :: | iqm | |||
integer(kind=ommp_integer), | intent(in) | :: | ila | |||
character(len=*), | intent(in) | :: | prmfile | |||
real(kind=ommp_real), | intent(in), | optional | :: | la_dist_in | ||
integer(kind=ommp_integer), | intent(in), | optional | :: | n_eel_remove_in |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | pointer | :: | s | |||
integer(kind=ommp_integer), | intent(in), | value | :: | solver |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | pointer | :: | s | |||
integer(kind=ommp_integer), | intent(in), | value | :: | matv |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | pointer | :: | s | ||
character(len=*) | :: | filename |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | pointer | :: | s | ||
character(len=*) | :: | xyzfile | ||||
character(len=*) | :: | prmfile |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | pointer | :: | s |
OpenMMPol system |
|
integer(kind=ommp_integer), | intent(in) | :: | n |
Atoms to freeze |
||
integer(kind=ommp_integer), | intent(in) | :: | frozen(n) |
Atoms to freeze |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | pointer | :: | s |
OpenMMPol system |
|
integer(kind=ommp_integer), | intent(in) | :: | n |
Atoms to freeze in MM indexing |
||
integer(kind=ommp_integer), | intent(in) | :: | nopol(n) |
Atoms to freeze in MM indexing |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | pointer | :: | s |
This function get an external field and solve the polarization system in the presence of the provided external field.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | sys_obj | ||
real(kind=ommp_real), | intent(in) | :: | ext_field(3,sys_obj%eel%pol_atoms) | |||
integer(kind=ommp_integer), | intent(in), | value | :: | solver | ||
integer(kind=ommp_integer), | intent(in), | value | :: | matv | ||
logical, | intent(in), | optional, | value | :: | add_mm_field |
This is just the same as ommp_set_external_field but implicitly assuming ommp_set_external_field as false, mainly here for interface consistency with C
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | sys_obj | ||
real(kind=ommp_real), | intent(in) | :: | ext_field(3,sys_obj%eel%pol_atoms) | |||
integer(kind=ommp_integer), | intent(in), | value | :: | solver | ||
integer(kind=ommp_integer), | intent(in), | value | :: | matv |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | s | ||
integer(kind=ommp_integer), | intent(in) | :: | n | |||
real(kind=ommp_real), | intent(in) | :: | cext(3,n) | |||
real(kind=ommp_real), | intent(inout) | :: | v(n) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | s | ||
integer(kind=ommp_integer), | intent(in) | :: | n | |||
real(kind=ommp_real), | intent(in) | :: | cext(3,n) | |||
real(kind=ommp_real), | intent(inout) | :: | v(n) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | s | ||
integer(kind=ommp_integer), | intent(in) | :: | n | |||
real(kind=ommp_real), | intent(in) | :: | cext(3,n) | |||
real(kind=ommp_real), | intent(inout) | :: | v(n) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(in), | target | :: | s | ||
integer(kind=ommp_integer), | intent(in), | value | :: | n | ||
real(kind=ommp_real), | intent(in) | :: | cext(3,n) | |||
real(kind=ommp_real), | intent(out) | :: | E(3,n) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(in), | target | :: | s | ||
integer(kind=ommp_integer), | intent(in), | value | :: | n | ||
real(kind=ommp_real), | intent(in) | :: | cext(3,n) | |||
real(kind=ommp_real), | intent(out) | :: | E(3,n) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(in), | target | :: | s | ||
integer(kind=ommp_integer), | intent(in), | value | :: | n | ||
real(kind=ommp_real), | intent(in) | :: | cext(3,n) | |||
real(kind=ommp_real), | intent(out) | :: | E(3,n) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | s | ||
real(kind=ommp_real), | intent(out) | :: | grd(3,s%top%mm_atoms) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | s | ||
real(kind=ommp_real), | intent(out) | :: | grd(3,s%top%mm_atoms) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | s | ||
real(kind=ommp_real), | intent(out) | :: | grd(3,s%top%mm_atoms) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | s | ||
real(kind=ommp_real), | intent(in) | :: | E(:,:) | |||
real(kind=ommp_real), | intent(in) | :: | Egrd(:,:) | |||
real(kind=ommp_real), | intent(out) | :: | grd(:,:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | s | ||
real(kind=ommp_real), | intent(out) | :: | grd(3,s%top%mm_atoms) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | s | ||
real(kind=ommp_real), | intent(out) | :: | grd(3,s%top%mm_atoms) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | s | ||
real(kind=ommp_real), | intent(out) | :: | grd(3,s%top%mm_atoms) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | s | ||
real(kind=ommp_real), | intent(out) | :: | grd(3,s%top%mm_atoms) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | s | ||
real(kind=ommp_real), | intent(out) | :: | grd(3,s%top%mm_atoms) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | s | ||
real(kind=ommp_real), | intent(out) | :: | grd(3,s%top%mm_atoms) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | s | ||
real(kind=ommp_real), | intent(out) | :: | grd(3,s%top%mm_atoms) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | s | ||
real(kind=ommp_real), | intent(out) | :: | grd(3,s%top%mm_atoms) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | s | ||
real(kind=ommp_real), | intent(out) | :: | grd(3,s%top%mm_atoms) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | s | ||
real(kind=ommp_real), | intent(out) | :: | grd(3,s%top%mm_atoms) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | s | ||
real(kind=ommp_real), | intent(out) | :: | grd(3,s%top%mm_atoms) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | s | ||
real(kind=ommp_real), | intent(out) | :: | grd(3,s%top%mm_atoms) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout), | target | :: | s | ||
real(kind=ommp_real), | intent(out) | :: | grd(3,s%top%mm_atoms) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | pointer | :: | s | |||
character(len=*) | :: | filename | ||||
character(len=*) | :: | namespace |
This function is an interface for saving an HDF5 file with all the data contained in mmpol module using mod_io
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | pointer | :: | s | |||
character(len=*) | :: | filename | ||||
character(len=*) | :: | namespace |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | pointer | :: | s | |||
character(len=*) | :: | filename | ||||
character(len=*) | :: | namespace |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_qm_helper), | intent(inout), | pointer | :: | s | ||
integer(kind=ommp_integer) | :: | n | ||||
real(kind=ommp_real), | intent(in) | :: | cqm(:,:) | |||
real(kind=ommp_real), | intent(in) | :: | qqm(:) | |||
integer(kind=ommp_integer), | intent(in) | :: | zqm(:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_qm_helper), | intent(inout), | pointer | :: | s |
OpenMMPol system |
|
integer(kind=ommp_integer), | intent(in) | :: | n |
Atoms to freeze |
||
integer(kind=ommp_integer), | intent(in) | :: | frozen(n) |
Atoms to freeze |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_qm_helper), | intent(inout), | pointer | :: | s |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_qm_helper), | intent(inout) | :: | s | |||
real(kind=ommp_real), | intent(in) | :: | cqm(:,:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_qm_helper), | intent(in) | :: | qm | |||
type(ommp_system), | intent(inout) | :: | s | |||
real(kind=ommp_real), | intent(out) | :: | qmg(:,:) | |||
real(kind=ommp_real), | intent(out) | :: | mmg(:,:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_qm_helper), | intent(in) | :: | qm | |||
type(ommp_system), | intent(inout) | :: | s | |||
real(kind=ommp_real), | intent(out) | :: | qmg(:,:) | |||
real(kind=ommp_real), | intent(out) | :: | mmg(:,:) | |||
real(kind=ommp_real), | intent(in) | :: | old_qmg(:,:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(in) | :: | s | |||
integer(kind=ommp_integer), | intent(in) | :: | la_idx | |||
real(kind=ommp_real), | intent(out), | dimension(3) | :: | crd |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_qm_helper), | intent(inout) | :: | qm | |||
type(ommp_system), | intent(inout) | :: | s |
External interface for smartinput function
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | json_filename | |||
type(ommp_system), | intent(inout), | pointer | :: | system | ||
type(ommp_qm_helper), | intent(inout), | pointer | :: | qmhelp |
External interface for smartinput function
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | json_filename | |||
character(len=*), | intent(in) | :: | path | |||
character(len=*), | intent(inout) | :: | outs |
Takes in input a QM Helper object, with initialized atom types, and using a parameter file, it generates a OMMP System object that corresponds to the QM system. It is used for internal testing pourpose but other creative things are always possible.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_qm_helper), | intent(in) | :: | qmh | |||
character(len=*), | intent(in) | :: | prm_file | |||
type(ommp_system), | intent(inout), | pointer | :: | sys |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_system), | intent(inout) | :: | s | |||
real(kind=ommp_real), | intent(in) | :: | cutoff |