30 #include "./base/base_uses.f90"
36 INTEGER,
DIMENSION(:),
POINTER :: id_molname
37 INTEGER,
DIMENSION(:),
POINTER :: id_resname
38 INTEGER,
DIMENSION(:),
POINTER :: id_atmname
39 INTEGER,
DIMENSION(:),
POINTER :: id_atom_names
40 INTEGER,
DIMENSION(:),
POINTER :: id_element
41 INTEGER,
POINTER :: resid(:)
42 REAL(kind=
dp),
DIMENSION(:, :),
POINTER :: r
43 INTEGER,
POINTER :: map_mol_typ(:)
44 INTEGER,
POINTER :: map_mol_num(:)
45 INTEGER,
POINTER :: map_mol_res(:)
46 REAL(kind=
dp),
POINTER :: atm_charge(:)
47 REAL(kind=
dp),
POINTER :: atm_mass(:)
48 REAL(kind=
dp),
POINTER :: occup(:)
49 REAL(kind=
dp),
POINTER :: beta(:)
54 INTEGER,
POINTER :: bond_a(:), bond_b(:), bond_type(:)
55 INTEGER,
POINTER :: ub_a(:), ub_b(:), ub_c(:)
56 INTEGER,
POINTER :: theta_a(:), theta_b(:), theta_c(:), theta_type(:)
57 INTEGER,
POINTER :: phi_a(:), phi_b(:), phi_c(:), phi_d(:), phi_type(:)
58 INTEGER,
POINTER :: impr_a(:), impr_b(:), impr_c(:), impr_d(:), impr_type(:)
59 INTEGER,
POINTER :: onfo_a(:), onfo_b(:)
60 INTEGER,
POINTER :: c_bond_a(:), c_bond_b(:), c_bond_type(:)
66 LOGICAL :: hbonds_restraint
67 REAL(kind=
dp) :: hbonds_k0
69 INTEGER :: nfixed_atoms
70 INTEGER,
POINTER :: fixed_atoms(:), fixed_type(:), fixed_mol_type(:)
71 LOGICAL,
POINTER :: fixed_restraint(:)
72 REAL(kind=
dp),
POINTER :: fixed_k0(:)
74 INTEGER :: freeze_qm, freeze_mm, freeze_qm_type, freeze_mm_type
75 LOGICAL :: fixed_mm_restraint, fixed_qm_restraint
76 REAL(kind=
dp) :: fixed_mm_k0, fixed_qm_k0
78 LOGICAL,
POINTER :: fixed_mol_restraint(:)
79 REAL(kind=
dp),
POINTER :: fixed_mol_k0(:)
80 CHARACTER(LEN=default_string_length),
POINTER :: fixed_molnames(:)
81 LOGICAL,
POINTER,
DIMENSION(:) :: fixed_exclude_qm, fixed_exclude_mm
83 INTEGER :: nconst_colv
84 INTEGER,
POINTER :: const_colv_mol(:)
85 CHARACTER(LEN=default_string_length),
POINTER :: const_colv_molname(:)
86 REAL(kind=
dp),
POINTER :: const_colv_target(:)
87 REAL(kind=
dp),
POINTER :: const_colv_target_growth(:)
88 TYPE(colvar_p_type),
POINTER,
DIMENSION(:) :: colvar_set
89 LOGICAL,
POINTER :: colv_intermolecular(:)
90 LOGICAL,
POINTER :: colv_restraint(:)
91 REAL(kind=
dp),
POINTER :: colv_k0(:)
92 LOGICAL,
POINTER,
DIMENSION(:) :: colv_exclude_qm, colv_exclude_mm
95 INTEGER,
POINTER :: const_g33_mol(:)
96 CHARACTER(LEN=default_string_length),
POINTER :: const_g33_molname(:)
97 INTEGER,
POINTER :: const_g33_a(:)
98 INTEGER,
POINTER :: const_g33_b(:)
99 INTEGER,
POINTER :: const_g33_c(:)
100 REAL(kind=
dp),
POINTER :: const_g33_dab(:)
101 REAL(kind=
dp),
POINTER :: const_g33_dac(:)
102 REAL(kind=
dp),
POINTER :: const_g33_dbc(:)
103 LOGICAL,
POINTER :: g33_intermolecular(:)
104 LOGICAL,
POINTER :: g33_restraint(:)
105 REAL(kind=
dp),
POINTER :: g33_k0(:)
106 LOGICAL,
POINTER,
DIMENSION(:) :: g33_exclude_qm, g33_exclude_mm
108 INTEGER :: nconst_g46
109 INTEGER,
POINTER :: const_g46_mol(:)
110 CHARACTER(LEN=default_string_length),
POINTER :: const_g46_molname(:)
111 INTEGER,
POINTER :: const_g46_a(:)
112 INTEGER,
POINTER :: const_g46_b(:)
113 INTEGER,
POINTER :: const_g46_c(:)
114 INTEGER,
POINTER :: const_g46_d(:)
115 REAL(kind=
dp),
POINTER :: const_g46_dab(:)
116 REAL(kind=
dp),
POINTER :: const_g46_dac(:)
117 REAL(kind=
dp),
POINTER :: const_g46_dbc(:)
118 REAL(kind=
dp),
POINTER :: const_g46_dad(:)
119 REAL(kind=
dp),
POINTER :: const_g46_dbd(:)
120 REAL(kind=
dp),
POINTER :: const_g46_dcd(:)
121 LOGICAL,
POINTER :: g46_intermolecular(:)
122 LOGICAL,
POINTER :: g46_restraint(:)
123 REAL(kind=
dp),
POINTER :: g46_k0(:)
124 LOGICAL,
POINTER,
DIMENSION(:) :: g46_exclude_qm, g46_exclude_mm
126 INTEGER :: nconst_vsite
127 INTEGER,
POINTER :: const_vsite_mol(:)
128 CHARACTER(LEN=default_string_length),
POINTER :: const_vsite_molname(:)
129 INTEGER,
POINTER :: const_vsite_a(:)
130 INTEGER,
POINTER :: const_vsite_b(:)
131 INTEGER,
POINTER :: const_vsite_c(:)
132 INTEGER,
POINTER :: const_vsite_d(:)
133 REAL(kind=
dp),
POINTER :: const_vsite_wbc(:)
134 REAL(kind=
dp),
POINTER :: const_vsite_wdc(:)
135 LOGICAL,
POINTER :: vsite_intermolecular(:)
136 LOGICAL,
POINTER :: vsite_restraint(:)
137 REAL(kind=
dp),
POINTER :: vsite_k0(:)
138 LOGICAL,
POINTER,
DIMENSION(:) :: vsite_exclude_qm, vsite_exclude_mm
146 TYPE(cell_type),
POINTER :: cell, cell_ref, cell_muc
148 INTEGER :: coord_type
149 INTEGER :: exclude_vdw
150 INTEGER :: exclude_ei
151 INTEGER :: bondparm_type
153 INTEGER :: natoms, natom_type
154 INTEGER :: nmol, nmol_type, nmol_conn
156 LOGICAL :: aa_element
157 LOGICAL :: molname_generated
158 REAL(kind=
dp) :: bondparm_factor
159 LOGICAL :: create_molecules
160 LOGICAL :: reorder_atom
161 LOGICAL :: molecules_check
162 LOGICAL :: coordinate
163 LOGICAL :: use_g96_velocity
164 CHARACTER(LEN=default_path_length) :: coord_file_name
165 CHARACTER(LEN=default_path_length) :: conn_file_name
166 LOGICAL :: const_atom
167 LOGICAL :: const_hydr
168 LOGICAL :: const_colv
171 LOGICAL :: const_vsite
172 LOGICAL :: charge_occup
173 LOGICAL :: charge_beta
174 LOGICAL :: charge_extended
180 INTEGER,
DIMENSION(:),
POINTER :: constr
193 CHARACTER(len=*),
PARAMETER,
PRIVATE :: modulen =
'topology_types'
243 topology%molname_generated = .false.
250 NULLIFY (
topology%atom_info%id_molname)
251 NULLIFY (
topology%atom_info%id_resname)
253 NULLIFY (
topology%atom_info%id_atmname)
254 NULLIFY (
topology%atom_info%id_atom_names)
256 NULLIFY (
topology%atom_info%map_mol_typ)
257 NULLIFY (
topology%atom_info%map_mol_num)
258 NULLIFY (
topology%atom_info%map_mol_res)
259 NULLIFY (
topology%atom_info%atm_charge)
260 NULLIFY (
topology%atom_info%atm_mass)
263 NULLIFY (
topology%atom_info%id_element)
269 NULLIFY (
topology%conn_info%bond_type)
273 NULLIFY (
topology%conn_info%theta_a)
274 NULLIFY (
topology%conn_info%theta_b)
275 NULLIFY (
topology%conn_info%theta_c)
276 NULLIFY (
topology%conn_info%theta_type)
281 NULLIFY (
topology%conn_info%phi_type)
286 NULLIFY (
topology%conn_info%impr_type)
289 NULLIFY (
topology%conn_info%c_bond_a)
290 NULLIFY (
topology%conn_info%c_bond_b)
291 NULLIFY (
topology%conn_info%c_bond_type)
295 CALL init_constraint(
topology%cons_info)
304 SUBROUTINE init_constraint(constraint_info)
309 constraint_info%hbonds_restraint = .false.
311 constraint_info%nfixed_atoms = 0
314 NULLIFY (constraint_info%fixed_atoms)
315 NULLIFY (constraint_info%fixed_type)
316 NULLIFY (constraint_info%fixed_mol_type)
317 NULLIFY (constraint_info%fixed_molnames)
318 NULLIFY (constraint_info%fixed_restraint)
319 NULLIFY (constraint_info%fixed_k0)
320 NULLIFY (constraint_info%fixed_mol_restraint)
321 NULLIFY (constraint_info%fixed_mol_k0)
322 NULLIFY (constraint_info%fixed_exclude_qm, constraint_info%fixed_exclude_mm)
324 constraint_info%nconst_colv = 0
325 NULLIFY (constraint_info%colvar_set)
326 NULLIFY (constraint_info%const_colv_mol)
327 NULLIFY (constraint_info%const_colv_molname)
328 NULLIFY (constraint_info%const_colv_target)
329 NULLIFY (constraint_info%const_colv_target_growth)
330 NULLIFY (constraint_info%colv_intermolecular)
331 NULLIFY (constraint_info%colv_restraint)
332 NULLIFY (constraint_info%colv_k0)
333 NULLIFY (constraint_info%colv_exclude_qm, constraint_info%colv_exclude_mm)
335 constraint_info%nconst_g33 = 0
336 NULLIFY (constraint_info%const_g33_mol)
337 NULLIFY (constraint_info%const_g33_molname)
338 NULLIFY (constraint_info%const_g33_a)
339 NULLIFY (constraint_info%const_g33_b)
340 NULLIFY (constraint_info%const_g33_c)
341 NULLIFY (constraint_info%const_g33_dab)
342 NULLIFY (constraint_info%const_g33_dac)
343 NULLIFY (constraint_info%const_g33_dbc)
344 NULLIFY (constraint_info%g33_intermolecular)
345 NULLIFY (constraint_info%g33_restraint)
346 NULLIFY (constraint_info%g33_k0)
347 NULLIFY (constraint_info%g33_exclude_qm, constraint_info%g33_exclude_mm)
349 constraint_info%nconst_g46 = 0
350 NULLIFY (constraint_info%const_g46_mol)
351 NULLIFY (constraint_info%const_g46_molname)
352 NULLIFY (constraint_info%const_g46_a)
353 NULLIFY (constraint_info%const_g46_b)
354 NULLIFY (constraint_info%const_g46_c)
355 NULLIFY (constraint_info%const_g46_d)
356 NULLIFY (constraint_info%const_g46_dab)
357 NULLIFY (constraint_info%const_g46_dac)
358 NULLIFY (constraint_info%const_g46_dbc)
359 NULLIFY (constraint_info%const_g46_dad)
360 NULLIFY (constraint_info%const_g46_dbd)
361 NULLIFY (constraint_info%const_g46_dcd)
362 NULLIFY (constraint_info%g46_intermolecular)
363 NULLIFY (constraint_info%g46_restraint)
364 NULLIFY (constraint_info%g46_k0)
365 NULLIFY (constraint_info%g46_exclude_qm, constraint_info%g46_exclude_mm)
367 constraint_info%nconst_vsite = 0
368 NULLIFY (constraint_info%const_vsite_mol)
369 NULLIFY (constraint_info%const_vsite_molname)
370 NULLIFY (constraint_info%const_vsite_a)
371 NULLIFY (constraint_info%const_vsite_b)
372 NULLIFY (constraint_info%const_vsite_c)
373 NULLIFY (constraint_info%const_vsite_d)
374 NULLIFY (constraint_info%const_vsite_wbc)
375 NULLIFY (constraint_info%const_vsite_wdc)
376 NULLIFY (constraint_info%vsite_intermolecular)
377 NULLIFY (constraint_info%vsite_restraint)
378 NULLIFY (constraint_info%vsite_k0)
379 NULLIFY (constraint_info%vsite_exclude_qm, constraint_info%vsite_exclude_mm)
381 END SUBROUTINE init_constraint
396 IF (
ASSOCIATED(
topology%atom_info%id_molname))
THEN
397 DEALLOCATE (
topology%atom_info%id_molname)
399 IF (
ASSOCIATED(
topology%atom_info%id_resname))
THEN
400 DEALLOCATE (
topology%atom_info%id_resname)
402 IF (
ASSOCIATED(
topology%atom_info%resid))
THEN
403 DEALLOCATE (
topology%atom_info%resid)
405 IF (
ASSOCIATED(
topology%atom_info%id_atmname))
THEN
406 DEALLOCATE (
topology%atom_info%id_atmname)
408 IF (
ASSOCIATED(
topology%atom_info%id_atom_names))
THEN
409 DEALLOCATE (
topology%atom_info%id_atom_names)
411 IF (
ASSOCIATED(
topology%atom_info%r))
THEN
414 IF (
ASSOCIATED(
topology%atom_info%map_mol_typ))
THEN
415 DEALLOCATE (
topology%atom_info%map_mol_typ)
417 IF (
ASSOCIATED(
topology%atom_info%map_mol_num))
THEN
418 DEALLOCATE (
topology%atom_info%map_mol_num)
420 IF (
ASSOCIATED(
topology%atom_info%map_mol_res))
THEN
421 DEALLOCATE (
topology%atom_info%map_mol_res)
423 IF (
ASSOCIATED(
topology%atom_info%atm_charge))
THEN
424 DEALLOCATE (
topology%atom_info%atm_charge)
426 IF (
ASSOCIATED(
topology%atom_info%atm_mass))
THEN
427 DEALLOCATE (
topology%atom_info%atm_mass)
429 IF (
ASSOCIATED(
topology%atom_info%occup))
THEN
430 DEALLOCATE (
topology%atom_info%occup)
432 IF (
ASSOCIATED(
topology%atom_info%beta))
THEN
433 DEALLOCATE (
topology%atom_info%beta)
435 IF (
ASSOCIATED(
topology%atom_info%id_element))
THEN
436 DEALLOCATE (
topology%atom_info%id_element)
441 IF (
ASSOCIATED(
topology%conn_info%bond_a))
THEN
442 DEALLOCATE (
topology%conn_info%bond_a)
444 IF (
ASSOCIATED(
topology%conn_info%bond_b))
THEN
445 DEALLOCATE (
topology%conn_info%bond_b)
447 IF (
ASSOCIATED(
topology%conn_info%bond_type))
THEN
448 DEALLOCATE (
topology%conn_info%bond_type)
450 IF (
ASSOCIATED(
topology%conn_info%ub_a))
THEN
451 DEALLOCATE (
topology%conn_info%ub_a)
453 IF (
ASSOCIATED(
topology%conn_info%ub_b))
THEN
454 DEALLOCATE (
topology%conn_info%ub_b)
456 IF (
ASSOCIATED(
topology%conn_info%ub_c))
THEN
457 DEALLOCATE (
topology%conn_info%ub_c)
459 IF (
ASSOCIATED(
topology%conn_info%theta_a))
THEN
460 DEALLOCATE (
topology%conn_info%theta_a)
462 IF (
ASSOCIATED(
topology%conn_info%theta_b))
THEN
463 DEALLOCATE (
topology%conn_info%theta_b)
465 IF (
ASSOCIATED(
topology%conn_info%theta_c))
THEN
466 DEALLOCATE (
topology%conn_info%theta_c)
468 IF (
ASSOCIATED(
topology%conn_info%theta_type))
THEN
469 DEALLOCATE (
topology%conn_info%theta_type)
471 IF (
ASSOCIATED(
topology%conn_info%phi_a))
THEN
472 DEALLOCATE (
topology%conn_info%phi_a)
474 IF (
ASSOCIATED(
topology%conn_info%phi_b))
THEN
475 DEALLOCATE (
topology%conn_info%phi_b)
477 IF (
ASSOCIATED(
topology%conn_info%phi_c))
THEN
478 DEALLOCATE (
topology%conn_info%phi_c)
480 IF (
ASSOCIATED(
topology%conn_info%phi_d))
THEN
481 DEALLOCATE (
topology%conn_info%phi_d)
483 IF (
ASSOCIATED(
topology%conn_info%phi_type))
THEN
484 DEALLOCATE (
topology%conn_info%phi_type)
486 IF (
ASSOCIATED(
topology%conn_info%impr_a))
THEN
487 DEALLOCATE (
topology%conn_info%impr_a)
489 IF (
ASSOCIATED(
topology%conn_info%impr_b))
THEN
490 DEALLOCATE (
topology%conn_info%impr_b)
492 IF (
ASSOCIATED(
topology%conn_info%impr_c))
THEN
493 DEALLOCATE (
topology%conn_info%impr_c)
495 IF (
ASSOCIATED(
topology%conn_info%impr_d))
THEN
496 DEALLOCATE (
topology%conn_info%impr_d)
498 IF (
ASSOCIATED(
topology%conn_info%impr_type))
THEN
499 DEALLOCATE (
topology%conn_info%impr_type)
501 IF (
ASSOCIATED(
topology%conn_info%onfo_a))
THEN
502 DEALLOCATE (
topology%conn_info%onfo_a)
504 IF (
ASSOCIATED(
topology%conn_info%onfo_b))
THEN
505 DEALLOCATE (
topology%conn_info%onfo_b)
507 IF (
ASSOCIATED(
topology%conn_info%c_bond_a))
THEN
508 DEALLOCATE (
topology%conn_info%c_bond_a)
510 IF (
ASSOCIATED(
topology%conn_info%c_bond_b))
THEN
511 DEALLOCATE (
topology%conn_info%c_bond_b)
513 IF (
ASSOCIATED(
topology%conn_info%c_bond_type))
THEN
514 DEALLOCATE (
topology%conn_info%c_bond_type)
519 IF (
ASSOCIATED(
topology%cons_info)) &
520 CALL deallocate_constraint(
topology%cons_info)
527 IF (
ASSOCIATED(
topology%atom_info))
THEN
530 IF (
ASSOCIATED(
topology%conn_info))
THEN
533 IF (
ASSOCIATED(
topology%cons_info))
THEN
545 SUBROUTINE deallocate_constraint(constraint_info)
552 IF (
ASSOCIATED(constraint_info%fixed_atoms))
THEN
553 DEALLOCATE (constraint_info%fixed_atoms)
555 IF (
ASSOCIATED(constraint_info%fixed_type))
THEN
556 DEALLOCATE (constraint_info%fixed_type)
558 IF (
ASSOCIATED(constraint_info%fixed_molnames))
THEN
559 DEALLOCATE (constraint_info%fixed_molnames)
561 IF (
ASSOCIATED(constraint_info%fixed_mol_type))
THEN
562 DEALLOCATE (constraint_info%fixed_mol_type)
564 IF (
ASSOCIATED(constraint_info%fixed_restraint))
THEN
565 DEALLOCATE (constraint_info%fixed_restraint)
567 IF (
ASSOCIATED(constraint_info%fixed_k0))
THEN
568 DEALLOCATE (constraint_info%fixed_k0)
570 IF (
ASSOCIATED(constraint_info%fixed_mol_restraint))
THEN
571 DEALLOCATE (constraint_info%fixed_mol_restraint)
573 IF (
ASSOCIATED(constraint_info%fixed_mol_k0))
THEN
574 DEALLOCATE (constraint_info%fixed_mol_k0)
576 IF (
ASSOCIATED(constraint_info%fixed_exclude_qm))
THEN
577 DEALLOCATE (constraint_info%fixed_exclude_qm)
579 IF (
ASSOCIATED(constraint_info%fixed_exclude_mm))
THEN
580 DEALLOCATE (constraint_info%fixed_exclude_mm)
583 IF (
ASSOCIATED(constraint_info%colvar_set))
THEN
584 DO i = 1,
SIZE(constraint_info%colvar_set)
585 IF (
ASSOCIATED(constraint_info%colvar_set(i)%colvar))
THEN
587 NULLIFY (constraint_info%colvar_set(i)%colvar)
590 DEALLOCATE (constraint_info%colvar_set)
592 IF (
ASSOCIATED(constraint_info%const_colv_mol))
THEN
593 DEALLOCATE (constraint_info%const_colv_mol)
595 IF (
ASSOCIATED(constraint_info%const_colv_molname))
THEN
596 DEALLOCATE (constraint_info%const_colv_molname)
598 IF (
ASSOCIATED(constraint_info%const_colv_target))
THEN
599 DEALLOCATE (constraint_info%const_colv_target)
601 IF (
ASSOCIATED(constraint_info%const_colv_target_growth))
THEN
602 DEALLOCATE (constraint_info%const_colv_target_growth)
604 IF (
ASSOCIATED(constraint_info%colv_intermolecular))
THEN
605 DEALLOCATE (constraint_info%colv_intermolecular)
607 IF (
ASSOCIATED(constraint_info%colv_restraint))
THEN
608 DEALLOCATE (constraint_info%colv_restraint)
610 IF (
ASSOCIATED(constraint_info%colv_k0))
THEN
611 DEALLOCATE (constraint_info%colv_k0)
613 IF (
ASSOCIATED(constraint_info%colv_exclude_qm))
THEN
614 DEALLOCATE (constraint_info%colv_exclude_qm)
616 IF (
ASSOCIATED(constraint_info%colv_exclude_mm))
THEN
617 DEALLOCATE (constraint_info%colv_exclude_mm)
620 IF (
ASSOCIATED(constraint_info%const_g33_mol))
THEN
621 DEALLOCATE (constraint_info%const_g33_mol)
623 IF (
ASSOCIATED(constraint_info%const_g33_molname))
THEN
624 DEALLOCATE (constraint_info%const_g33_molname)
626 IF (
ASSOCIATED(constraint_info%const_g33_a))
THEN
627 DEALLOCATE (constraint_info%const_g33_a)
629 IF (
ASSOCIATED(constraint_info%const_g33_b))
THEN
630 DEALLOCATE (constraint_info%const_g33_b)
632 IF (
ASSOCIATED(constraint_info%const_g33_c))
THEN
633 DEALLOCATE (constraint_info%const_g33_c)
635 IF (
ASSOCIATED(constraint_info%const_g33_dab))
THEN
636 DEALLOCATE (constraint_info%const_g33_dab)
638 IF (
ASSOCIATED(constraint_info%const_g33_dac))
THEN
639 DEALLOCATE (constraint_info%const_g33_dac)
641 IF (
ASSOCIATED(constraint_info%const_g33_dbc))
THEN
642 DEALLOCATE (constraint_info%const_g33_dbc)
644 IF (
ASSOCIATED(constraint_info%g33_intermolecular))
THEN
645 DEALLOCATE (constraint_info%g33_intermolecular)
647 IF (
ASSOCIATED(constraint_info%g33_restraint))
THEN
648 DEALLOCATE (constraint_info%g33_restraint)
650 IF (
ASSOCIATED(constraint_info%g33_k0))
THEN
651 DEALLOCATE (constraint_info%g33_k0)
653 IF (
ASSOCIATED(constraint_info%g33_exclude_qm))
THEN
654 DEALLOCATE (constraint_info%g33_exclude_qm)
656 IF (
ASSOCIATED(constraint_info%g33_exclude_mm))
THEN
657 DEALLOCATE (constraint_info%g33_exclude_mm)
660 IF (
ASSOCIATED(constraint_info%const_g46_mol))
THEN
661 DEALLOCATE (constraint_info%const_g46_mol)
663 IF (
ASSOCIATED(constraint_info%const_g46_molname))
THEN
664 DEALLOCATE (constraint_info%const_g46_molname)
666 IF (
ASSOCIATED(constraint_info%const_g46_a))
THEN
667 DEALLOCATE (constraint_info%const_g46_a)
669 IF (
ASSOCIATED(constraint_info%const_g46_b))
THEN
670 DEALLOCATE (constraint_info%const_g46_b)
672 IF (
ASSOCIATED(constraint_info%const_g46_c))
THEN
673 DEALLOCATE (constraint_info%const_g46_c)
675 IF (
ASSOCIATED(constraint_info%const_g46_d))
THEN
676 DEALLOCATE (constraint_info%const_g46_d)
678 IF (
ASSOCIATED(constraint_info%const_g46_dab))
THEN
679 DEALLOCATE (constraint_info%const_g46_dab)
681 IF (
ASSOCIATED(constraint_info%const_g46_dac))
THEN
682 DEALLOCATE (constraint_info%const_g46_dac)
684 IF (
ASSOCIATED(constraint_info%const_g46_dbc))
THEN
685 DEALLOCATE (constraint_info%const_g46_dbc)
687 IF (
ASSOCIATED(constraint_info%const_g46_dad))
THEN
688 DEALLOCATE (constraint_info%const_g46_dad)
690 IF (
ASSOCIATED(constraint_info%const_g46_dbd))
THEN
691 DEALLOCATE (constraint_info%const_g46_dbd)
693 IF (
ASSOCIATED(constraint_info%const_g46_dcd))
THEN
694 DEALLOCATE (constraint_info%const_g46_dcd)
696 IF (
ASSOCIATED(constraint_info%g46_intermolecular))
THEN
697 DEALLOCATE (constraint_info%g46_intermolecular)
699 IF (
ASSOCIATED(constraint_info%g46_restraint))
THEN
700 DEALLOCATE (constraint_info%g46_restraint)
702 IF (
ASSOCIATED(constraint_info%g46_k0))
THEN
703 DEALLOCATE (constraint_info%g46_k0)
705 IF (
ASSOCIATED(constraint_info%g46_exclude_qm))
THEN
706 DEALLOCATE (constraint_info%g46_exclude_qm)
708 IF (
ASSOCIATED(constraint_info%g46_exclude_mm))
THEN
709 DEALLOCATE (constraint_info%g46_exclude_mm)
712 IF (
ASSOCIATED(constraint_info%const_vsite_mol))
THEN
713 DEALLOCATE (constraint_info%const_vsite_mol)
715 IF (
ASSOCIATED(constraint_info%const_vsite_molname))
THEN
716 DEALLOCATE (constraint_info%const_vsite_molname)
718 IF (
ASSOCIATED(constraint_info%const_vsite_a))
THEN
719 DEALLOCATE (constraint_info%const_vsite_a)
721 IF (
ASSOCIATED(constraint_info%const_vsite_b))
THEN
722 DEALLOCATE (constraint_info%const_vsite_b)
724 IF (
ASSOCIATED(constraint_info%const_vsite_c))
THEN
725 DEALLOCATE (constraint_info%const_vsite_c)
727 IF (
ASSOCIATED(constraint_info%const_vsite_d))
THEN
728 DEALLOCATE (constraint_info%const_vsite_d)
730 IF (
ASSOCIATED(constraint_info%const_vsite_wbc))
THEN
731 DEALLOCATE (constraint_info%const_vsite_wbc)
733 IF (
ASSOCIATED(constraint_info%const_vsite_wdc))
THEN
734 DEALLOCATE (constraint_info%const_vsite_wdc)
736 IF (
ASSOCIATED(constraint_info%vsite_intermolecular))
THEN
737 DEALLOCATE (constraint_info%vsite_intermolecular)
739 IF (
ASSOCIATED(constraint_info%vsite_restraint))
THEN
740 DEALLOCATE (constraint_info%vsite_restraint)
742 IF (
ASSOCIATED(constraint_info%vsite_k0))
THEN
743 DEALLOCATE (constraint_info%vsite_k0)
745 IF (
ASSOCIATED(constraint_info%vsite_exclude_qm))
THEN
746 DEALLOCATE (constraint_info%vsite_exclude_qm)
748 IF (
ASSOCIATED(constraint_info%vsite_exclude_mm))
THEN
749 DEALLOCATE (constraint_info%vsite_exclude_mm)
751 END SUBROUTINE deallocate_constraint
766 IF (
ASSOCIATED(atom_info%id_molname))
THEN
767 DEALLOCATE (atom_info%id_molname)
770 IF (
ASSOCIATED(atom_info%resid))
THEN
771 DEALLOCATE (atom_info%resid)
774 IF (
ASSOCIATED(atom_info%id_resname))
THEN
775 DEALLOCATE (atom_info%id_resname)
778 IF (
ASSOCIATED(atom_info%id_atmname))
THEN
779 DEALLOCATE (atom_info%id_atmname)
782 IF (
ASSOCIATED(atom_info%atm_charge))
THEN
783 DEALLOCATE (atom_info%atm_charge)
786 IF (
ASSOCIATED(atom_info%atm_mass))
THEN
787 DEALLOCATE (atom_info%atm_mass)
Handles all functions related to the CELL.
subroutine, public cell_release(cell)
releases the given cell (see doc/ReferenceCounting.html)
Initialize the collective variables types.
recursive subroutine, public colvar_release(colvar)
releases the memory that might have been allocated by the colvar
Defines the basic variable types.
integer, parameter, public dp
integer, parameter, public default_string_length
integer, parameter, public default_path_length
subroutine, public deallocate_topology(topology)
Just DEALLOCATE all the stuff
subroutine, public pre_read_topology(topology)
Deallocate possibly allocated arrays before reading topology.
subroutine, public init_topology(topology)
Just NULLIFY and zero all the stuff
Control for reading in different topologies and coordinates.