21#include "./base/base_uses.f90"
25 LOGICAL,
PRIVATE,
PARAMETER :: debug_this_module = .true.
26 CHARACTER(len=*),
PARAMETER,
PRIVATE :: moduleN =
'mm_mapping_library'
30 CHARACTER(LEN=default_string_length),
DIMENSION(:),
POINTER :: kind => null()
31 CHARACTER(LEN=default_string_length),
DIMENSION(:),
POINTER :: element => null()
50 CHARACTER(LEN=*),
INTENT(IN) :: ff_type
52 INTEGER,
PARAMETER :: amb_imax = 66, chm_imax = 108, &
63 "BR",
"C ",
"CA",
"CB",
"CC",
"CD",
"CI",
"CK",
"CP",
"CM", &
64 "CS",
"CN",
"CQ",
"CR",
"CT",
"CV",
"CW",
"C*",
"CX",
"CY", &
65 "CZ",
"CO",
"TG",
"2C",
"3C",
"C0",
"F ",
"H ",
"HC",
"HA", &
66 "HO",
"HS",
"HW",
"HP",
"HZ",
"I ",
"IM",
"IP",
"IB",
"MG", &
67 "N ",
"NA",
"NB",
"NC",
"N*",
"NT",
"NY",
"ND",
"NL",
"TN", &
68 "OA",
"O ",
"OW",
"OH",
"OD",
"OS",
"OP",
"P ",
"S ",
"SH", &
69 "CU",
"FE",
"Li",
"K ",
"Rb",
"Cs"/)
71 "Br",
"C ",
"C ",
"C ",
"C ",
"C ",
"C ",
"C ",
"C ",
"C ", &
72 "C ",
"C ",
"C ",
"C ",
"C ",
"C ",
"C ",
"C ",
"C ",
"C ", &
73 "C ",
"C ",
"C ",
"C ",
"C ",
"Ca",
"F ",
"H ",
"H ",
"H ", &
74 "H ",
"H ",
"H ",
"H ",
"H ",
"I ",
"Cl",
"Na",
"Na",
"Mg", &
75 "N ",
"N ",
"N ",
"N ",
"N ",
"N ",
"N ",
"N ",
"N ",
"N ", &
76 "O ",
"O ",
"O ",
"O ",
"O ",
"O ",
"O ",
"P ",
"S ",
"S ", &
77 "Cu",
"Fe",
"Li",
"K ",
"Rb",
"Cs"/)
86 "CA ",
"CAL ",
"C ",
"CC ",
"CD ",
"CE ",
"CEL ",
"CES ",
"CLA ",
"CL ", &
87 "CM ",
"CN1A",
"CN1T",
"CN3A",
"CN3B",
"CN3C",
"CN3D",
"CN3T",
"CN5G",
"CN7B", &
88 "CN7C",
"CN7D",
"CN8B",
"CNA ",
"CN ",
"CNE ",
"CPA ",
"CPB ",
"CP ",
"CPH ", &
89 "CPM ",
"CPT ",
"CS ",
"CT ",
"CTL ",
"CY ",
"DUM ",
"FE ",
"FNA ",
"FN ", &
90 "HA ",
"HAL ",
"HB ",
"HC ",
"HCL ",
"HE ",
"HE ",
"HEL ",
"H ",
"HL ", &
91 "HN3B",
"HN3C",
"HNE ",
"HN ",
"HNP ",
"HOL ",
"HP ",
"HR ",
"HS ",
"HT ", &
92 "MG ",
"NC ",
"NE ",
"NH3L",
"NH ",
"N ",
"NN1C",
"NN2B",
"NN2C",
"NN2G", &
93 "NN2U",
"NN3A",
"NN3G",
"NN3I",
"NN ",
"NPH ",
"NP ",
"NR ",
"NR ",
"NTL ", &
94 "NY ",
"O2L ",
"OBL ",
"OB ",
"OCL ",
"OC ",
"OHL ",
"OH ",
"OM ",
"ON1C", &
95 "ON2b",
"ON6B",
"ON ",
"O ",
"OSL ",
"OS ",
"OT ",
"P2 ",
"PL ",
"POT ", &
96 "P ",
"SL ",
"SM ",
"SOD ",
"S ",
"SS ",
"ZN ",
"CN6B"/)
99 "C ",
"Ca",
"C ",
"C ",
"C ",
"C ",
"C ",
"Cs",
"Cl",
"C ", &
100 "C ",
"C ",
"C ",
"C ",
"C ",
"C ",
"C ",
"C ",
"C ",
"C ", &
101 "C ",
"C ",
"C ",
"C ",
"C ",
"C ",
"C ",
"C ",
"C ",
"C ", &
102 "C ",
"C ",
"C ",
"C ",
"C ",
"C ",
"H ",
"Fe",
"F ",
"F ", &
103 "H ",
"H ",
"H ",
"H ",
"H ",
"H ",
"He",
"H ",
"H ",
"H ", &
104 "H ",
"H ",
"H ",
"H ",
"H ",
"H ",
"H ",
"H ",
"H ",
"H ", &
105 "Mg",
"N ",
"Ne",
"N ",
"N ",
"N ",
"N ",
"N ",
"N ",
"N ", &
106 "N ",
"N ",
"N ",
"N ",
"N ",
"N ",
"N ",
"N ",
"N ",
"N ", &
107 "N ",
"O ",
"O ",
"O ",
"O ",
"O ",
"O ",
"O ",
"O ",
"O ", &
108 "O ",
"O ",
"O ",
"O ",
"O ",
"O ",
"O ",
"P ",
"P ",
"K ", &
109 "P ",
"S ",
"S ",
"Na",
"S ",
"S ",
"Zn",
"C "/)
118 "H1 ",
"CA ",
"HA ",
"SD ",
"OG ",
"CG ",
"HD ",
"SG ", &
119 "CZ ",
"OH ",
"C2 ",
"H8 ",
"O4* ",
"O5* ",
"PA ",
"O1A ", &
120 "MG ",
"Na ",
"Cl ",
"OW ",
"HW ",
"HW "/)
123 "H ",
"C ",
"H ",
"S ",
"O ",
"C ",
"H ",
"S ", &
124 "C ",
"O ",
"C ",
"H ",
"O ",
"O ",
"P ",
"O ", &
125 "Mg",
"Na",
"Cl",
"O ",
"H ",
"H "/)
139 CHARACTER(LEN=*),
INTENT(IN) :: ff_type
141 SELECT CASE (ff_type)
Defines the basic variable types.
integer, parameter, public default_string_length
Contains the mapping ATOM_KIND -> ELEMENT for the most common cases in CHARMM and AMBER This should a...
type(ff_map_type), pointer, public charmm_map
subroutine, public create_ff_map(ff_type)
Initialize arrays for mapping KINDS <-> ELEMENTS for major elements in AMBER and CHARMM.
type(ff_map_type), pointer, public gromos_map
subroutine, public destroy_ff_map(ff_type)
Deallocates the arrays used for mapping.
type(ff_map_type), pointer, public amber_map