Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer(kind=ip), | public | :: | mm_atoms |
number of MM atoms |
|||
real(kind=rp), | public, | allocatable | :: | cmm(:,:) |
Coordinates of MM atoms (3:mm_atoms) |
||
type(yale_sparse), | public, | allocatable | :: | conn(:) |
connectivity matrices listing atoms separetad by 1, 2, 3 (and 4 -- only for AMOEBA) bonds. 1st element is the adjacency matrix. |
||
logical(kind=lp), | public | :: | use_frozen | = | .false. |
Flag to use the frozen atom feature, if it is set to true frozen array is read/used otherwise all atoms are active |
|
logical(kind=lp), | public, | allocatable | :: | frozen(:) |
For each atom, if set to true, it will contribute to the total energy but its coordinates are locked to the initial value. |
||
integer(kind=ip), | public, | allocatable | :: | atz(:) |
The atomic number for each atom of the system, when it is not initialized, it contains only zeros. |
||
logical(kind=lp), | public | :: | atz_initialized | = | .false. |
Initialization flag for atz, when it is filled with actual values it should be set to true |
|
real(kind=rp), | public, | allocatable | :: | atmass(:) |
The atomic mass for each atom in the system, when it is not initialized it contains only zeros |
||
logical(kind=lp), | public | :: | atmass_initialized | = | .false. |
Initialization flag for atmass, when it is filled with actual values it should be set to true |
|
integer(kind=ip), | public, | allocatable | :: | attype(:) |
Atom class for each atom in the system. It is only used during certain parameters assignaments; when it is not initialized, it contains only zeros. |
||
logical(kind=lp), | public | :: | attype_initialized | = | .false. |
Initialization flag for attype, when it is filled with actual values it should be set to true |
|
integer(kind=ip), | public, | allocatable | :: | atclass(:) |
Atom class for each atom in the system. It is only used during certain parameters assignaments; when it is not initialized, it contains only zeros. |
||
logical(kind=lp), | public | :: | atclass_initialized | = | .false. |
Initialization flag for atclass, when it is filled with actual values it should be set to true |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_topology_type), | intent(out) | :: | top_obj | |||
integer(kind=ip), | intent(in) | :: | mm_atoms |
This subroutine guess the connectivity of the system from the coordinates and the atomic number of its atoms. It is based on distances and atomic radii, so it can easily fail on distorted geometries. It should be used only when the the bonds of the molecule are not availble in any other way; it is often used to assign connectivity to a QM part that does not have any. H B C N O F Si P S Cl As Se Br Te I
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_topology_type), | intent(inout) | :: | top |
Topology for which connectivity should be guessed. |
||
integer(kind=ip), | intent(in), | optional | :: | exclude_list(:) |
List of atoms that should not be connected when guessing the topology, this is used for LA that could have an ambiguous or not defined position. |
Set the frozen atoms in the current topology, if the the frozen atoms has already been set, it reinitialize the whole list, without taking into account the content of [[top_obj%frozen]]
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_topology_type), | intent(inout) | :: | top_obj |
Topology object to use |
||
integer(kind=ip), | intent(in) | :: | frozen_atoms(:) |
Indexes of atoms to be frozen |
Check if adjacency matrix up to nth order is present in topology object. If it is not present, update the topology accordingly.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_topology_type), | intent(inout) | :: | top_obj | |||
integer(kind=ip), | intent(in) | :: | n |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_topology_type), | intent(out) | :: | top_obj |
Create a new bond between atoms i and j in the topology.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_topology_type), | intent(inout) | :: | top | |||
integer(kind=ip), | intent(in) | :: | i | |||
integer(kind=ip), | intent(in) | :: | j |
Merge topologies top1 and top2 to create top3 no link between the two topologies are created. map13 and map23 are arrays mapping the atoms of top1 to top3 and the ones of top2 to top3 respectively
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_topology_type), | intent(in) | :: | top1 | |||
type(ommp_topology_type), | intent(in) | :: | top2 | |||
type(ommp_topology_type), | intent(out) | :: | top3 | |||
integer(kind=ip), | intent(out), | allocatable | :: | map13(:) | ||
integer(kind=ip), | intent(out), | allocatable | :: | map23(:) |