Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer(kind=ip), | private, | parameter | :: | link_atom_allocation_chunk | = | 20 |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(ommp_topology_type), | public, | pointer | :: | mmtop |
Topology of MM part of the system |
||
type(ommp_topology_type), | public, | pointer | :: | qmtop |
Topology of QM part of the system |
||
type(ommp_topology_type), | public, | allocatable | :: | qmmmtop |
Linked QM/MM topology |
||
integer(kind=ip), | public, | allocatable | :: | mm2full(:) |
Maps from qm and mm systems to full topology indexes |
||
integer(kind=ip), | public, | allocatable | :: | qm2full(:) |
Maps from qm and mm systems to full topology indexes |
||
integer(kind=ip), | public | :: | nla |
Number of link atoms |
|||
integer(kind=ip), | public, | allocatable | :: | links(:,:) |
Indexes of link-involved atoms: links(1,:) contains the index of MM atom in mmtop links(2,:) contains the index of QM atom in qmtop links(3,:) contains the index of link atom in qmtop |
||
real(kind=rp), | public, | allocatable | :: | la_distance(:) |
Distance of link atom from QM atom |
||
integer(kind=ip), | public, | allocatable | :: | vdw_screening_pairs(:,:) |
Pairs of vdw interactions that should be screened |
||
real(kind=rp), | public, | allocatable | :: | vdw_screening_f(:) |
Screening factors for each vdw pair |
||
integer(kind=ip), | public | :: | vdw_n_screening |
Number of screening vdw to be used |
|||
type(ommp_bonded_type), | public, | allocatable | :: | bds |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_link_atom_type), | intent(inout) | :: | la | |||
type(ommp_topology_type), | intent(in), | target | :: | qmtop | ||
type(ommp_topology_type), | intent(in), | target | :: | mmtop |
Update merged topology in linkatom object so that its coordinates are the same of mmtop and qmtop.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_link_atom_type), | intent(inout) | :: | la |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_link_atom_type), | intent(inout) | :: | la | |||
integer(kind=ip), | intent(in) | :: | imm | |||
integer(kind=ip), | intent(in) | :: | iqm | |||
integer(kind=ip), | intent(in) | :: | ila | |||
real(kind=rp), | intent(in) | :: | la_dist |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_link_atom_type), | intent(in) | :: | la | |||
integer(kind=ip), | intent(in) | :: | imm | |||
integer(kind=ip), | intent(in) | :: | ila | |||
type(ommp_electrostatics_type), | intent(inout) | :: | eel | |||
character(len=*), | intent(in) | :: | prmfile |
Compute the cartesian coordinates of link atom idx at the current geometry.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_link_atom_type), | intent(in) | :: | la | |||
integer(kind=ip), | intent(in) | :: | idx | |||
real(kind=rp), | intent(out) | :: | crd(3) |
Check if n new screening pairs could be allocated in la structure. If the allocated arrays are too small, they are reallocated on-the-fly.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_link_atom_type), | intent(inout) | :: | la | |||
integer(kind=ip), | intent(in) | :: | n |
Insert a VdW screening pair in the link atom structure
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_link_atom_type), | intent(inout) | :: | la | |||
integer(kind=ip), | intent(in) | :: | iqm | |||
integer(kind=ip), | intent(in) | :: | imm | |||
real(kind=rp), | intent(in) | :: | s |
Initialize the quantities needed for vdw screening due to the presence of a link atom between iqm and imm
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_link_atom_type), | intent(inout) | :: | la | |||
integer(kind=ip), | intent(in) | :: | iqm | |||
integer(kind=ip), | intent(in) | :: | imm | |||
real(kind=rp), | intent(in) | :: | vdw_screening(:) |
Insert in the bonded parameter required for the link atom between iqm and imm Link atoms should never appear in bonded interactions!
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_link_atom_type), | intent(inout), | target | :: | la | ||
character(len=*), | intent(in) | :: | prmfile |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_link_atom_type), | intent(in) | :: | la | |||
real(kind=rp), | intent(inout) | :: | qmg(:,:) | |||
real(kind=rp), | intent(inout) | :: | mmg(:,:) | |||
logical, | intent(in) | :: | doqm | |||
logical, | intent(in) | :: | domm |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_link_atom_type), | intent(in) | :: | la | |||
real(kind=rp), | intent(inout) | :: | qmg(:,:) | |||
real(kind=rp), | intent(inout) | :: | mmg(:,:) | |||
logical, | intent(in) | :: | doqm | |||
logical, | intent(in) | :: | domm |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_link_atom_type), | intent(in) | :: | la | |||
real(kind=rp), | intent(inout) | :: | qmg(:,:) | |||
real(kind=rp), | intent(inout) | :: | mmg(:,:) | |||
logical, | intent(in) | :: | doqm | |||
logical, | intent(in) | :: | domm |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ommp_link_atom_type), | intent(in) | :: | la | |||
real(kind=rp), | intent(in) | :: | laforces(3,la%nla) | |||
real(kind=rp), | intent(inout) | :: | qmg(3,la%qmtop%mm_atoms) | |||
real(kind=rp), | intent(inout) | :: | mmg(3,la%mmtop%mm_atoms) |