39 CHARACTER(LEN=default_string_length), &
41 CHARACTER(LEN=default_string_length), &
42 INTENT(INOUT),
OPTIONAL :: id2, id3, id4
43 LOGICAL,
INTENT(OUT),
OPTIONAL :: is_link
46 CHARACTER(LEN=default_string_length) :: tmp
47 INTEGER :: j, my_index
52 DO WHILE (index(id1,
"_QM_") /= 0)
53 my_link = qmmm_ff_precond_only_link(id1) .OR. my_link
54 my_index = index(id1,
"_QM_") + len_trim(
"_QM_")
56 tmp = trim(id1(my_index:))
63 IF (
PRESENT(id2))
THEN
64 IF (index(id2,
"_QM_") == 0) only_qm = .false.
65 DO WHILE (index(id2,
"_QM_") /= 0)
66 my_link = qmmm_ff_precond_only_link(id2) .OR. my_link
67 my_index = index(id2,
"_QM_") + len_trim(
"_QM_")
68 tmp = trim(id2(my_index:))
76 IF (
PRESENT(id3))
THEN
77 IF (index(id3,
"_QM_") == 0) only_qm = .false.
78 DO WHILE (index(id3,
"_QM_") /= 0)
79 my_link = qmmm_ff_precond_only_link(id3) .OR. my_link
80 my_index = index(id3,
"_QM_") + len_trim(
"_QM_")
81 tmp = trim(id3(my_index:))
89 IF (
PRESENT(id4))
THEN
90 IF (index(id4,
"_QM_") == 0) only_qm = .false.
91 DO WHILE (index(id4,
"_QM_") /= 0)
92 my_link = qmmm_ff_precond_only_link(id4) .OR. my_link
93 my_index = index(id4,
"_QM_") + len_trim(
"_QM_")
94 tmp = trim(id4(my_index:))
102 IF (
PRESENT(is_link)) is_link = my_link
logical function, public qmmm_ff_precond_only_qm(id1, id2, id3, id4, is_link)
This function handles the atom names and modifies the "_QM_" prefix, in order to find the parameters ...