517 INTEGER :: i, idum, iend, ii, istart, j, np
518 INTEGER,
DIMENSION(:),
POINTER ::
list
520 SELECT CASE (colvar%type_id)
523 i = colvar%dist_param%i_at
524 j = colvar%dist_param%j_at
526 colvar%n_atom_s = colv_size(colvar, i) + &
530 list(1) = colvar%dist_param%i_at
531 list(2) = colvar%dist_param%j_at
533 np = colvar%coord_param%n_atoms_from + colvar%coord_param%n_atoms_to &
534 + colvar%coord_param%n_atoms_to_b
537 DO ii = 1, colvar%coord_param%n_atoms_from
538 i = colvar%coord_param%i_at_from(ii)
539 colvar%n_atom_s = colvar%n_atom_s + colv_size(colvar, i)
541 DO ii = 1, colvar%coord_param%n_atoms_to
542 i = colvar%coord_param%i_at_to(ii)
543 colvar%n_atom_s = colvar%n_atom_s + colv_size(colvar, i)
545 IF (colvar%coord_param%n_atoms_to_b /= 0)
THEN
546 DO ii = 1, colvar%coord_param%n_atoms_to_b
547 i = colvar%coord_param%i_at_to_b(ii)
548 colvar%n_atom_s = colvar%n_atom_s + colv_size(colvar, i)
554 DO ii = 1, colvar%coord_param%n_atoms_from
556 i = colvar%coord_param%i_at_from(ii)
559 DO ii = 1, colvar%coord_param%n_atoms_to
561 i = colvar%coord_param%i_at_to(ii)
564 IF (colvar%coord_param%n_atoms_to_b /= 0)
THEN
565 DO ii = 1, colvar%coord_param%n_atoms_to_b
567 i = colvar%coord_param%i_at_to_b(ii)
573 np = colvar%population_param%n_atoms_from + colvar%population_param%n_atoms_to
576 DO ii = 1, colvar%population_param%n_atoms_from
577 i = colvar%population_param%i_at_from(ii)
578 colvar%n_atom_s = colvar%n_atom_s + colv_size(colvar, i)
580 DO ii = 1, colvar%population_param%n_atoms_to
581 i = colvar%population_param%i_at_to(ii)
582 colvar%n_atom_s = colvar%n_atom_s + colv_size(colvar, i)
587 DO ii = 1, colvar%population_param%n_atoms_from
589 i = colvar%population_param%i_at_from(ii)
592 DO ii = 1, colvar%population_param%n_atoms_to
594 i = colvar%population_param%i_at_to(ii)
599 np = colvar%gyration_param%n_atoms
602 DO ii = 1, colvar%gyration_param%n_atoms
603 i = colvar%gyration_param%i_at(ii)
604 colvar%n_atom_s = colvar%n_atom_s + colv_size(colvar, i)
609 DO ii = 1, colvar%gyration_param%n_atoms
611 i = colvar%gyration_param%i_at(ii)
620 i = colvar%angle_param%i_at_angle(ii)
621 colvar%n_atom_s = colvar%n_atom_s + colv_size(colvar, i)
628 i = colvar%angle_param%i_at_angle(ii)
637 i = colvar%torsion_param%i_at_tors(ii)
638 colvar%n_atom_s = colvar%n_atom_s + colv_size(colvar, i)
645 i = colvar%torsion_param%i_at_tors(ii)
654 i = colvar%plane_distance_param%plane(ii)
655 colvar%n_atom_s = colvar%n_atom_s + colv_size(colvar, i)
657 i = colvar%plane_distance_param%point
658 colvar%n_atom_s = colvar%n_atom_s + colv_size(colvar, i)
664 i = colvar%plane_distance_param%plane(ii)
667 i = colvar%plane_distance_param%point
673 IF (colvar%plane_plane_angle_param%plane1%type_of_def ==
plane_def_atoms) np = np + 3
674 IF (colvar%plane_plane_angle_param%plane2%type_of_def ==
plane_def_atoms) np = np + 3
677 CALL cp_abort(__location__, &
678 "PLANE_PLANE_ANGLE Colvar defined using two normal vectors! This is "// &
679 "not a COLLECTIVE VARIABLE! One of the two planes must be defined "// &
680 "using atomic positions.")
685 IF (colvar%plane_plane_angle_param%plane1%type_of_def ==
plane_def_atoms)
THEN
687 i = colvar%plane_plane_angle_param%plane1%points(ii)
688 colvar%n_atom_s = colvar%n_atom_s + colv_size(colvar, i)
691 IF (colvar%plane_plane_angle_param%plane2%type_of_def ==
plane_def_atoms)
THEN
693 i = colvar%plane_plane_angle_param%plane2%points(ii)
694 colvar%n_atom_s = colvar%n_atom_s + colv_size(colvar, i)
701 IF (colvar%plane_plane_angle_param%plane1%type_of_def ==
plane_def_atoms)
THEN
704 i = colvar%plane_plane_angle_param%plane1%points(ii)
708 IF (colvar%plane_plane_angle_param%plane2%type_of_def ==
plane_def_atoms)
THEN
711 i = colvar%plane_plane_angle_param%plane2%points(ii)
721 i = colvar%dfunct_param%i_at_dfunct(ii)
722 colvar%n_atom_s = colvar%n_atom_s + colv_size(colvar, i)
729 i = colvar%dfunct_param%i_at_dfunct(ii)
737 i = colvar%rotation_param%i_at1_bond1
738 colvar%n_atom_s = colvar%n_atom_s + colv_size(colvar, i)
739 i = colvar%rotation_param%i_at2_bond1
740 colvar%n_atom_s = colvar%n_atom_s + colv_size(colvar, i)
741 i = colvar%rotation_param%i_at1_bond2
742 colvar%n_atom_s = colvar%n_atom_s + colv_size(colvar, i)
743 i = colvar%rotation_param%i_at2_bond2
744 colvar%n_atom_s = colvar%n_atom_s + colv_size(colvar, i)
747 i = colvar%rotation_param%i_at1_bond1
749 i = colvar%rotation_param%i_at2_bond1
751 i = colvar%rotation_param%i_at1_bond2
753 i = colvar%rotation_param%i_at2_bond2
756 np = colvar%qparm_param%n_atoms_from + colvar%qparm_param%n_atoms_to
759 DO ii = 1, colvar%qparm_param%n_atoms_from
760 i = colvar%qparm_param%i_at_from(ii)
761 colvar%n_atom_s = colvar%n_atom_s + colv_size(colvar, i)
763 DO ii = 1, colvar%qparm_param%n_atoms_to
764 i = colvar%qparm_param%i_at_to(ii)
765 colvar%n_atom_s = colvar%n_atom_s + colv_size(colvar, i)
770 DO ii = 1, colvar%qparm_param%n_atoms_from
772 i = colvar%qparm_param%i_at_from(ii)
775 DO ii = 1, colvar%qparm_param%n_atoms_to
777 i = colvar%qparm_param%i_at_to(ii)
782 np = colvar%hydronium_shell_param%n_oxygens + colvar%hydronium_shell_param%n_hydrogens
786 np = colvar%hydronium_dist_param%n_oxygens + colvar%hydronium_dist_param%n_hydrogens
790 np = colvar%acid_hyd_dist_param%n_oxygens_water &
791 + colvar%acid_hyd_dist_param%n_oxygens_acid &
792 + colvar%acid_hyd_dist_param%n_hydrogens
796 np = colvar%acid_hyd_shell_param%n_oxygens_water &
797 + colvar%acid_hyd_shell_param%n_oxygens_acid &
798 + colvar%acid_hyd_shell_param%n_hydrogens
802 np = colvar%rmsd_param%n_atoms
805 DO ii = 1, colvar%rmsd_param%n_atoms
806 i = colvar%rmsd_param%i_rmsd(ii)
807 colvar%n_atom_s = colvar%n_atom_s + colv_size(colvar, i)
812 DO ii = 1, colvar%rmsd_param%n_atoms
814 i = colvar%rmsd_param%i_rmsd(ii)
819 IF (colvar%reaction_path_param%dist_rmsd .OR. colvar%reaction_path_param%rmsd)
THEN
820 colvar%n_atom_s = colvar%reaction_path_param%n_components
822 DO ii = 1,
SIZE(colvar%reaction_path_param%colvar_p)
823 colvar%n_atom_s = colvar%n_atom_s + colvar%reaction_path_param%colvar_p(ii)%colvar%n_atom_s
826 ALLOCATE (
list(colvar%n_atom_s))
828 IF (colvar%reaction_path_param%dist_rmsd .OR. colvar%reaction_path_param%rmsd)
THEN
829 DO ii = 1,
SIZE(colvar%reaction_path_param%i_rmsd)
831 i = colvar%reaction_path_param%i_rmsd(ii)
835 DO ii = 1,
SIZE(colvar%reaction_path_param%colvar_p)
836 DO j = 1, colvar%reaction_path_param%colvar_p(ii)%colvar%n_atom_s
838 list(idum) = colvar%reaction_path_param%colvar_p(ii)%colvar%i_atom(j)
846 i = colvar%xyz_diag_param%i_atom
847 colvar%n_atom_s = colvar%n_atom_s + colv_size(colvar, i)
850 i = colvar%xyz_diag_param%i_atom
856 i = colvar%xyz_outerdiag_param%i_atoms(1)
857 colvar%n_atom_s = colvar%n_atom_s + colv_size(colvar, i)
858 i = colvar%xyz_outerdiag_param%i_atoms(2)
859 colvar%n_atom_s = colvar%n_atom_s + colv_size(colvar, i)
862 i = colvar%xyz_outerdiag_param%i_atoms(1)
864 i = colvar%xyz_outerdiag_param%i_atoms(2)
869 colvar%n_atom_s = np;
list(1) = 1
875 i = colvar%Wc%ids(ii)
876 colvar%n_atom_s = colvar%n_atom_s + colv_size(colvar, i)
883 i = colvar%Wc%ids(ii)
888 np = 3*colvar%HBP%nPoints
891 DO j = 1, colvar%HBP%nPoints
893 i = colvar%HBP%ids(j, ii)
894 colvar%n_atom_s = colvar%n_atom_s + colv_size(colvar, i)
900 DO j = 1, colvar%HBP%nPoints
903 i = colvar%HBP%ids(j, ii)
909 np = colvar%ring_puckering_param%nring
912 DO ii = 1, colvar%ring_puckering_param%nring
913 i = colvar%ring_puckering_param%atoms(ii)
914 colvar%n_atom_s = colvar%n_atom_s + colv_size(colvar, i)
919 DO ii = 1, colvar%ring_puckering_param%nring
921 i = colvar%ring_puckering_param%atoms(ii)
926 np = colvar%mindist_param%n_dist_from + &
927 colvar%mindist_param%n_coord_from + colvar%mindist_param%n_coord_to
930 DO ii = 1, colvar%mindist_param%n_dist_from
931 i = colvar%mindist_param%i_dist_from(ii)
932 colvar%n_atom_s = colvar%n_atom_s + colv_size(colvar, i)
934 DO ii = 1, colvar%mindist_param%n_coord_from
935 i = colvar%mindist_param%i_coord_from(ii)
936 colvar%n_atom_s = colvar%n_atom_s + colv_size(colvar, i)
938 DO ii = 1, colvar%mindist_param%n_coord_to
939 i = colvar%mindist_param%i_coord_to(ii)
940 colvar%n_atom_s = colvar%n_atom_s + colv_size(colvar, i)
945 DO ii = 1, colvar%mindist_param%n_dist_from
947 i = colvar%mindist_param%i_dist_from(ii)
950 DO ii = 1, colvar%mindist_param%n_coord_from
952 i = colvar%mindist_param%i_coord_from(ii)
955 DO ii = 1, colvar%mindist_param%n_coord_to
957 i = colvar%mindist_param%i_coord_to(ii)
963 DO ii = 1,
SIZE(colvar%combine_cvs_param%colvar_p)
964 colvar%n_atom_s = colvar%n_atom_s + colvar%combine_cvs_param%colvar_p(ii)%colvar%n_atom_s
966 ALLOCATE (
list(colvar%n_atom_s))
968 DO ii = 1,
SIZE(colvar%combine_cvs_param%colvar_p)
969 DO j = 1, colvar%combine_cvs_param%colvar_p(ii)%colvar%n_atom_s
971 list(idum) = colvar%combine_cvs_param%colvar_p(ii)%colvar%i_atom(j)
975 colvar%use_points = .false.
976 ALLOCATE (
list(
SIZE(colvar%voronoiipz_params%group_a) +
SIZE(colvar%voronoiipz_params%group_b)))
977 list(1:
SIZE(colvar%voronoiipz_params%group_a)) = colvar%voronoiipz_params%group_a(:)
978 list(
SIZE(colvar%voronoiipz_params%group_a) + 1:
SIZE(
list)) = colvar%voronoiipz_params%group_b(:)
979 colvar%n_atom_s =
SIZE(
list)
982 IF (
ASSOCIATED(colvar%dsdr))
THEN
983 DEALLOCATE (colvar%dsdr)
985 IF (
ASSOCIATED(colvar%i_atom))
THEN
986 DEALLOCATE (colvar%i_atom)
988 ALLOCATE (colvar%dsdr(3, colvar%n_atom_s))
989 ALLOCATE (colvar%i_atom(colvar%n_atom_s))
994 IF (.NOT. colvar%use_points)
THEN
996 colvar%i_atom(i) =
list(i)
999 IF (
ASSOCIATED(colvar%points(
list(i))%atoms))
THEN
1000 iend = istart +
SIZE(colvar%points(
list(i))%atoms)
1001 colvar%i_atom(istart + 1:iend) = colvar%points(
list(i))%atoms
1006 cpassert(iend == colvar%n_atom_s)
1209 cpassert(
ASSOCIATED(colvar))
1210 IF (
ASSOCIATED(colvar%dsdr))
THEN
1211 DEALLOCATE (colvar%dsdr)
1213 IF (
ASSOCIATED(colvar%i_atom))
THEN
1214 DEALLOCATE (colvar%i_atom)
1216 IF (
ASSOCIATED(colvar%points))
THEN
1217 DO i = 1,
SIZE(colvar%points)
1218 IF (
ASSOCIATED(colvar%points(i)%atoms))
THEN
1219 DEALLOCATE (colvar%points(i)%atoms)
1221 IF (
ASSOCIATED(colvar%points(i)%weights))
THEN
1222 DEALLOCATE (colvar%points(i)%weights)
1225 DEALLOCATE (colvar%points)
1227 SELECT CASE (colvar%type_id)
1229 DEALLOCATE (colvar%dist_param)
1231 IF (
ASSOCIATED(colvar%coord_param%i_at_from))
THEN
1232 DEALLOCATE (colvar%coord_param%i_at_from)
1234 IF (
ASSOCIATED(colvar%coord_param%i_at_to))
THEN
1235 DEALLOCATE (colvar%coord_param%i_at_to)
1237 IF (
ASSOCIATED(colvar%coord_param%c_kinds_from))
THEN
1238 DEALLOCATE (colvar%coord_param%c_kinds_from)
1240 IF (
ASSOCIATED(colvar%coord_param%c_kinds_to))
THEN
1241 DEALLOCATE (colvar%coord_param%c_kinds_to)
1243 IF (
ASSOCIATED(colvar%coord_param%i_at_to_b))
THEN
1244 DEALLOCATE (colvar%coord_param%i_at_to_b)
1246 IF (
ASSOCIATED(colvar%coord_param%c_kinds_to_b))
THEN
1247 DEALLOCATE (colvar%coord_param%c_kinds_to_b)
1249 DEALLOCATE (colvar%coord_param)
1251 IF (
ASSOCIATED(colvar%population_param%i_at_from))
THEN
1252 DEALLOCATE (colvar%population_param%i_at_from)
1254 IF (
ASSOCIATED(colvar%population_param%i_at_to))
THEN
1255 DEALLOCATE (colvar%population_param%i_at_to)
1257 IF (
ASSOCIATED(colvar%population_param%c_kinds_from))
THEN
1258 DEALLOCATE (colvar%population_param%c_kinds_from)
1260 IF (
ASSOCIATED(colvar%population_param%c_kinds_to))
THEN
1261 DEALLOCATE (colvar%population_param%c_kinds_to)
1263 DEALLOCATE (colvar%population_param)
1265 IF (
ASSOCIATED(colvar%gyration_param%i_at))
THEN
1266 DEALLOCATE (colvar%gyration_param%i_at)
1268 IF (
ASSOCIATED(colvar%gyration_param%c_kinds))
THEN
1269 DEALLOCATE (colvar%gyration_param%c_kinds)
1271 DEALLOCATE (colvar%gyration_param)
1273 DEALLOCATE (colvar%angle_param)
1275 DEALLOCATE (colvar%torsion_param)
1277 DEALLOCATE (colvar%plane_distance_param)
1279 DEALLOCATE (colvar%plane_plane_angle_param)
1281 DEALLOCATE (colvar%dfunct_param)
1283 DEALLOCATE (colvar%rotation_param)
1285 DEALLOCATE (colvar%qparm_param%i_at_from)
1286 DEALLOCATE (colvar%qparm_param%i_at_to)
1287 DEALLOCATE (colvar%qparm_param)
1289 DEALLOCATE (colvar%xyz_diag_param)
1291 DEALLOCATE (colvar%xyz_outerdiag_param)
1293 NULLIFY (colvar%u_param%mixed_energy_section)
1294 DEALLOCATE (colvar%u_param)
1296 DEALLOCATE (colvar%hydronium_shell_param%i_oxygens)
1297 DEALLOCATE (colvar%hydronium_shell_param%i_hydrogens)
1298 DEALLOCATE (colvar%hydronium_shell_param)
1300 DEALLOCATE (colvar%hydronium_dist_param%i_oxygens)
1301 DEALLOCATE (colvar%hydronium_dist_param%i_hydrogens)
1302 DEALLOCATE (colvar%hydronium_dist_param)
1304 DEALLOCATE (colvar%acid_hyd_dist_param%i_oxygens_water)
1305 DEALLOCATE (colvar%acid_hyd_dist_param%i_oxygens_acid)
1306 DEALLOCATE (colvar%acid_hyd_dist_param%i_hydrogens)
1307 DEALLOCATE (colvar%acid_hyd_dist_param)
1309 DEALLOCATE (colvar%acid_hyd_shell_param%i_oxygens_water)
1310 DEALLOCATE (colvar%acid_hyd_shell_param%i_oxygens_acid)
1311 DEALLOCATE (colvar%acid_hyd_shell_param%i_hydrogens)
1312 DEALLOCATE (colvar%acid_hyd_shell_param)
1314 IF (colvar%reaction_path_param%dist_rmsd .OR. colvar%reaction_path_param%rmsd)
THEN
1315 DEALLOCATE (colvar%reaction_path_param%r_ref)
1316 DEALLOCATE (colvar%reaction_path_param%i_rmsd)
1318 DO i = 1,
SIZE(colvar%reaction_path_param%colvar_p)
1319 CALL colvar_release(colvar%reaction_path_param%colvar_p(i)%colvar)
1321 DEALLOCATE (colvar%reaction_path_param%colvar_p)
1322 DEALLOCATE (colvar%reaction_path_param%f_vals)
1324 DEALLOCATE (colvar%reaction_path_param)
1326 DO i = 1,
SIZE(colvar%combine_cvs_param%colvar_p)
1329 DEALLOCATE (colvar%combine_cvs_param%colvar_p)
1330 DEALLOCATE (colvar%combine_cvs_param%c_parameters)
1331 DEALLOCATE (colvar%combine_cvs_param%v_parameters)
1332 DEALLOCATE (colvar%combine_cvs_param%variables)
1333 DEALLOCATE (colvar%combine_cvs_param)
1335 DEALLOCATE (colvar%rmsd_param%weights)
1336 DEALLOCATE (colvar%rmsd_param%r_ref)
1337 DEALLOCATE (colvar%rmsd_param%i_rmsd)
1338 DEALLOCATE (colvar%rmsd_param)
1340 DEALLOCATE (colvar%Wc)
1342 DEALLOCATE (colvar%HBP%ewc)
1343 DEALLOCATE (colvar%HBP%ids)
1344 DEALLOCATE (colvar%HBP)
1346 DEALLOCATE (colvar%ring_puckering_param%atoms)
1347 DEALLOCATE (colvar%ring_puckering_param)
1349 IF (
ASSOCIATED(colvar%mindist_param%i_dist_from))
THEN
1350 DEALLOCATE (colvar%mindist_param%i_dist_from)
1352 IF (
ASSOCIATED(colvar%mindist_param%i_coord_from))
THEN
1353 DEALLOCATE (colvar%mindist_param%i_coord_from)
1355 IF (
ASSOCIATED(colvar%mindist_param%i_coord_to))
THEN
1356 DEALLOCATE (colvar%mindist_param%i_coord_to)
1358 IF (
ASSOCIATED(colvar%mindist_param%k_coord_from))
THEN
1359 DEALLOCATE (colvar%mindist_param%k_coord_from)
1361 IF (
ASSOCIATED(colvar%mindist_param%k_coord_to))
THEN
1362 DEALLOCATE (colvar%mindist_param%k_coord_to)
1364 DEALLOCATE (colvar%mindist_param)
1367 DEALLOCATE (colvar%voronoiipz_params%group_a)
1368 DEALLOCATE (colvar%voronoiipz_params%group_b)
1369 DEALLOCATE (colvar%voronoiipz_params)
1373 cpabort(
"Unknown colvar type")
1387 TYPE(
colvar_type),
INTENT(INOUT),
POINTER :: colvar_out
1389 INTEGER,
INTENT(IN),
OPTIONAL :: i_atom_offset
1391 INTEGER :: i, my_offset, ndim, ndim2
1394 IF (
PRESENT(i_atom_offset)) my_offset = i_atom_offset
1396 CALL colvar_clone_points(colvar_out, colvar_in, my_offset)
1397 IF (colvar_in%use_points) my_offset = 0
1398 SELECT CASE (colvar_out%type_id)
1400 colvar_out%voronoiipz_params%lambda = colvar_in%voronoiipz_params%lambda
1401 colvar_out%voronoiipz_params%zidx = colvar_in%voronoiipz_params%zidx
1402 colvar_out%voronoiipz_params%nrx = colvar_in%voronoiipz_params%nrx
1403 colvar_out%voronoiipz_params%zmid = colvar_in%voronoiipz_params%zmid
1404 colvar_out%voronoiipz_params%d0 = colvar_in%voronoiipz_params%d0
1405 colvar_out%voronoiipz_params%d1 = colvar_in%voronoiipz_params%d1
1406 colvar_out%voronoiipz_params%d2 = colvar_in%voronoiipz_params%d2
1407 colvar_out%voronoiipz_params%d3 = colvar_in%voronoiipz_params%d3
1408 colvar_out%voronoiipz_params%nl_cutoff = colvar_in%voronoiipz_params%nl_cutoff
1409 ALLOCATE (colvar_out%voronoiipz_params%group_a(
SIZE(colvar_in%voronoiipz_params%group_a)))
1410 ALLOCATE (colvar_out%voronoiipz_params%group_b(
SIZE(colvar_in%voronoiipz_params%group_b)))
1411 colvar_out%voronoiipz_params%group_a = colvar_in%voronoiipz_params%group_a + my_offset
1412 colvar_out%voronoiipz_params%group_b = colvar_in%voronoiipz_params%group_b + my_offset
1414 colvar_out%dist_param%i_at = colvar_in%dist_param%i_at + my_offset
1415 colvar_out%dist_param%j_at = colvar_in%dist_param%j_at + my_offset
1416 colvar_out%dist_param%axis_id = colvar_in%dist_param%axis_id
1417 colvar_out%dist_param%sign_d = colvar_in%dist_param%sign_d
1419 colvar_out%coord_param%n_atoms_to = colvar_in%coord_param%n_atoms_to
1420 colvar_out%coord_param%n_atoms_to_b = colvar_in%coord_param%n_atoms_to_b
1421 colvar_out%coord_param%n_atoms_from = colvar_in%coord_param%n_atoms_from
1422 colvar_out%coord_param%nncrd = colvar_in%coord_param%nncrd
1423 colvar_out%coord_param%ndcrd = colvar_in%coord_param%ndcrd
1424 colvar_out%coord_param%r_0 = colvar_in%coord_param%r_0
1425 colvar_out%coord_param%nncrd_b = colvar_in%coord_param%nncrd_b
1426 colvar_out%coord_param%ndcrd_b = colvar_in%coord_param%ndcrd_b
1427 colvar_out%coord_param%r_0_b = colvar_in%coord_param%r_0_b
1428 colvar_out%coord_param%use_kinds_from = colvar_in%coord_param%use_kinds_from
1429 colvar_out%coord_param%use_kinds_to = colvar_in%coord_param%use_kinds_to
1430 colvar_out%coord_param%use_kinds_to_b = colvar_in%coord_param%use_kinds_to_b
1431 IF (colvar_in%coord_param%use_kinds_from)
THEN
1433 ndim =
SIZE(colvar_in%coord_param%c_kinds_from)
1434 ALLOCATE (colvar_out%coord_param%c_kinds_from(ndim))
1435 colvar_out%coord_param%c_kinds_from = colvar_in%coord_param%c_kinds_from
1438 ndim =
SIZE(colvar_in%coord_param%i_at_from)
1439 ALLOCATE (colvar_out%coord_param%i_at_from(ndim))
1440 colvar_out%coord_param%i_at_from = colvar_in%coord_param%i_at_from + my_offset
1442 IF (colvar_in%coord_param%use_kinds_to)
THEN
1444 ndim =
SIZE(colvar_in%coord_param%c_kinds_to)
1445 ALLOCATE (colvar_out%coord_param%c_kinds_to(ndim))
1446 colvar_out%coord_param%c_kinds_to = colvar_in%coord_param%c_kinds_to
1449 ndim =
SIZE(colvar_in%coord_param%i_at_to)
1450 ALLOCATE (colvar_out%coord_param%i_at_to(ndim))
1451 colvar_out%coord_param%i_at_to = colvar_in%coord_param%i_at_to + my_offset
1453 IF (colvar_in%coord_param%use_kinds_to_b)
THEN
1455 ndim =
SIZE(colvar_in%coord_param%c_kinds_to_b)
1456 ALLOCATE (colvar_out%coord_param%c_kinds_to_b(ndim))
1457 colvar_out%coord_param%c_kinds_to_b = colvar_in%coord_param%c_kinds_to_b
1458 ELSE IF (
ASSOCIATED(colvar_in%coord_param%i_at_to_b))
THEN
1460 ndim =
SIZE(colvar_in%coord_param%i_at_to_b)
1461 ALLOCATE (colvar_out%coord_param%i_at_to_b(ndim))
1462 colvar_out%coord_param%i_at_to_b = colvar_in%coord_param%i_at_to_b + my_offset
1466 colvar_out%population_param%n_atoms_to = colvar_in%population_param%n_atoms_to
1467 colvar_out%population_param%n_atoms_from = colvar_in%population_param%n_atoms_from
1468 colvar_out%population_param%nncrd = colvar_in%population_param%nncrd
1469 colvar_out%population_param%ndcrd = colvar_in%population_param%ndcrd
1470 colvar_out%population_param%r_0 = colvar_in%population_param%r_0
1471 colvar_out%population_param%use_kinds_from = colvar_in%population_param%use_kinds_from
1472 colvar_out%population_param%use_kinds_to = colvar_in%population_param%use_kinds_to
1473 IF (colvar_in%population_param%use_kinds_from)
THEN
1475 ndim =
SIZE(colvar_in%population_param%c_kinds_from)
1476 ALLOCATE (colvar_out%population_param%c_kinds_from(ndim))
1477 colvar_out%population_param%c_kinds_from = colvar_in%population_param%c_kinds_from
1480 ndim =
SIZE(colvar_in%population_param%i_at_from)
1481 ALLOCATE (colvar_out%population_param%i_at_from(ndim))
1482 colvar_out%population_param%i_at_from = colvar_in%population_param%i_at_from + my_offset
1484 IF (colvar_in%population_param%use_kinds_to)
THEN
1486 ndim =
SIZE(colvar_in%population_param%c_kinds_to)
1487 ALLOCATE (colvar_out%population_param%c_kinds_to(ndim))
1488 colvar_out%population_param%c_kinds_to = colvar_in%population_param%c_kinds_to
1491 ndim =
SIZE(colvar_in%population_param%i_at_to)
1492 ALLOCATE (colvar_out%population_param%i_at_to(ndim))
1493 colvar_out%population_param%i_at_to = colvar_in%population_param%i_at_to + my_offset
1497 colvar_out%gyration_param%n_atoms = colvar_in%gyration_param%n_atoms
1498 colvar_out%gyration_param%use_kinds = colvar_in%gyration_param%use_kinds
1499 IF (colvar_in%gyration_param%use_kinds)
THEN
1501 ndim =
SIZE(colvar_in%gyration_param%c_kinds)
1502 ALLOCATE (colvar_out%gyration_param%c_kinds(ndim))
1503 colvar_out%gyration_param%c_kinds = colvar_in%gyration_param%c_kinds
1506 ndim =
SIZE(colvar_in%gyration_param%i_at)
1507 ALLOCATE (colvar_out%gyration_param%i_at(ndim))
1508 colvar_out%gyration_param%i_at = colvar_in%gyration_param%i_at + my_offset
1511 colvar_out%angle_param%i_at_angle = colvar_in%angle_param%i_at_angle + my_offset
1513 colvar_out%torsion_param%i_at_tors = colvar_in%torsion_param%i_at_tors + my_offset
1514 colvar_out%torsion_param%o0 = colvar_in%torsion_param%o0
1516 colvar_out%plane_distance_param%use_pbc = colvar_in%plane_distance_param%use_pbc
1517 colvar_out%plane_distance_param%plane = colvar_in%plane_distance_param%plane + my_offset
1518 colvar_out%plane_distance_param%point = colvar_in%plane_distance_param%point + my_offset
1520 colvar_out%plane_plane_angle_param%plane1%type_of_def = colvar_in%plane_plane_angle_param%plane1%type_of_def
1521 IF (colvar_out%plane_plane_angle_param%plane1%type_of_def ==
plane_def_vec)
THEN
1522 colvar_out%plane_plane_angle_param%plane1%normal_vec = colvar_in%plane_plane_angle_param%plane1%normal_vec
1524 colvar_out%plane_plane_angle_param%plane1%points = colvar_in%plane_plane_angle_param%plane1%points + my_offset
1527 colvar_out%plane_plane_angle_param%plane2%type_of_def = colvar_in%plane_plane_angle_param%plane2%type_of_def
1528 IF (colvar_out%plane_plane_angle_param%plane2%type_of_def ==
plane_def_vec)
THEN
1529 colvar_out%plane_plane_angle_param%plane2%normal_vec = colvar_in%plane_plane_angle_param%plane2%normal_vec
1531 colvar_out%plane_plane_angle_param%plane2%points = colvar_in%plane_plane_angle_param%plane2%points + my_offset
1534 colvar_out%rotation_param%i_at1_bond1 = colvar_in%rotation_param%i_at1_bond1 + my_offset
1535 colvar_out%rotation_param%i_at2_bond1 = colvar_in%rotation_param%i_at2_bond1 + my_offset
1536 colvar_out%rotation_param%i_at1_bond2 = colvar_in%rotation_param%i_at1_bond2 + my_offset
1537 colvar_out%rotation_param%i_at2_bond2 = colvar_in%rotation_param%i_at2_bond2 + my_offset
1539 colvar_out%dfunct_param%i_at_dfunct = colvar_in%dfunct_param%i_at_dfunct + my_offset
1540 colvar_out%dfunct_param%coeff = colvar_in%dfunct_param%coeff
1541 colvar_out%dfunct_param%use_pbc = colvar_in%dfunct_param%use_pbc
1543 colvar_out%qparm_param%n_atoms_to = colvar_in%qparm_param%n_atoms_to
1544 colvar_out%qparm_param%n_atoms_from = colvar_in%qparm_param%n_atoms_from
1545 colvar_out%qparm_param%rcut = colvar_in%qparm_param%rcut
1546 colvar_out%qparm_param%l = colvar_in%qparm_param%l
1547 colvar_out%qparm_param%rstart = colvar_in%qparm_param%rstart
1548 colvar_out%qparm_param%include_images = colvar_in%qparm_param%include_images
1549 ndim =
SIZE(colvar_in%qparm_param%i_at_from)
1550 ALLOCATE (colvar_out%qparm_param%i_at_from(ndim))
1551 ndim =
SIZE(colvar_in%qparm_param%i_at_to)
1552 ALLOCATE (colvar_out%qparm_param%i_at_to(ndim))
1553 colvar_out%qparm_param%i_at_from = colvar_in%qparm_param%i_at_from + my_offset
1554 colvar_out%qparm_param%i_at_to = colvar_in%qparm_param%i_at_from + my_offset
1556 colvar_out%xyz_diag_param%i_atom = colvar_in%xyz_diag_param%i_atom + my_offset
1557 colvar_out%xyz_diag_param%component = colvar_in%xyz_diag_param%component
1558 colvar_out%xyz_diag_param%r0 = colvar_in%xyz_diag_param%r0
1559 colvar_out%xyz_diag_param%use_pbc = colvar_in%xyz_diag_param%use_pbc
1560 colvar_out%xyz_diag_param%use_absolute_position = colvar_in%xyz_diag_param%use_absolute_position
1562 colvar_out%xyz_outerdiag_param%i_atoms = colvar_in%xyz_outerdiag_param%i_atoms + my_offset
1563 colvar_out%xyz_outerdiag_param%components = colvar_in%xyz_outerdiag_param%components
1564 colvar_out%xyz_outerdiag_param%r0 = colvar_in%xyz_outerdiag_param%r0
1565 colvar_out%xyz_outerdiag_param%use_pbc = colvar_in%xyz_outerdiag_param%use_pbc
1567 colvar_out%u_param%natom = colvar_in%u_param%natom
1569 colvar_out%hydronium_shell_param%n_hydrogens = colvar_in%hydronium_shell_param%n_hydrogens
1570 colvar_out%hydronium_shell_param%n_oxygens = colvar_in%hydronium_shell_param%n_oxygens
1571 colvar_out%hydronium_shell_param%nh = colvar_in%hydronium_shell_param%nh
1572 colvar_out%hydronium_shell_param%poh = colvar_in%hydronium_shell_param%poh
1573 colvar_out%hydronium_shell_param%poo = colvar_in%hydronium_shell_param%poo
1574 colvar_out%hydronium_shell_param%qoh = colvar_in%hydronium_shell_param%qoh
1575 colvar_out%hydronium_shell_param%qoo = colvar_in%hydronium_shell_param%qoo
1576 colvar_out%hydronium_shell_param%pm = colvar_in%hydronium_shell_param%pm
1577 colvar_out%hydronium_shell_param%qm = colvar_in%hydronium_shell_param%qm
1578 colvar_out%hydronium_shell_param%roo = colvar_in%hydronium_shell_param%roo
1579 colvar_out%hydronium_shell_param%roh = colvar_in%hydronium_shell_param%roh
1580 colvar_out%hydronium_shell_param%lambda = colvar_in%hydronium_shell_param%lambda
1581 ndim =
SIZE(colvar_in%hydronium_shell_param%i_oxygens)
1582 ALLOCATE (colvar_out%hydronium_shell_param%i_oxygens(ndim))
1583 ndim =
SIZE(colvar_in%hydronium_shell_param%i_hydrogens)
1584 ALLOCATE (colvar_out%hydronium_shell_param%i_hydrogens(ndim))
1585 colvar_out%hydronium_shell_param%i_oxygens = colvar_in%hydronium_shell_param%i_oxygens + my_offset
1586 colvar_out%hydronium_shell_param%i_hydrogens = colvar_in%hydronium_shell_param%i_hydrogens + my_offset
1588 colvar_out%hydronium_dist_param%n_hydrogens = colvar_in%hydronium_dist_param%n_hydrogens
1589 colvar_out%hydronium_dist_param%n_oxygens = colvar_in%hydronium_dist_param%n_oxygens
1590 colvar_out%hydronium_dist_param%nh = colvar_in%hydronium_dist_param%nh
1591 colvar_out%hydronium_dist_param%nn = colvar_in%hydronium_dist_param%nn
1592 colvar_out%hydronium_dist_param%poh = colvar_in%hydronium_dist_param%poh
1593 colvar_out%hydronium_dist_param%qoh = colvar_in%hydronium_dist_param%qoh
1594 colvar_out%hydronium_dist_param%pf = colvar_in%hydronium_dist_param%pf
1595 colvar_out%hydronium_dist_param%qf = colvar_in%hydronium_dist_param%qf
1596 colvar_out%hydronium_dist_param%pm = colvar_in%hydronium_dist_param%pm
1597 colvar_out%hydronium_dist_param%qm = colvar_in%hydronium_dist_param%qm
1598 colvar_out%hydronium_dist_param%roh = colvar_in%hydronium_dist_param%roh
1599 colvar_out%hydronium_dist_param%lambda = colvar_in%hydronium_dist_param%lambda
1600 ndim =
SIZE(colvar_in%hydronium_dist_param%i_oxygens)
1601 ALLOCATE (colvar_out%hydronium_dist_param%i_oxygens(ndim))
1602 ndim =
SIZE(colvar_in%hydronium_dist_param%i_hydrogens)
1603 ALLOCATE (colvar_out%hydronium_dist_param%i_hydrogens(ndim))
1604 colvar_out%hydronium_dist_param%i_oxygens = colvar_in%hydronium_dist_param%i_oxygens + my_offset
1605 colvar_out%hydronium_dist_param%i_hydrogens = colvar_in%hydronium_dist_param%i_hydrogens + my_offset
1607 colvar_out%acid_hyd_dist_param%n_hydrogens = colvar_in%acid_hyd_dist_param%n_hydrogens
1608 colvar_out%acid_hyd_dist_param%n_oxygens_water = colvar_in%acid_hyd_dist_param%n_oxygens_water
1609 colvar_out%acid_hyd_dist_param%n_oxygens_acid = colvar_in%acid_hyd_dist_param%n_oxygens_acid
1610 colvar_out%acid_hyd_dist_param%nc = colvar_in%acid_hyd_dist_param%nc
1611 colvar_out%acid_hyd_dist_param%pwoh = colvar_in%acid_hyd_dist_param%pwoh
1612 colvar_out%acid_hyd_dist_param%qwoh = colvar_in%acid_hyd_dist_param%qwoh
1613 colvar_out%acid_hyd_dist_param%paoh = colvar_in%acid_hyd_dist_param%paoh
1614 colvar_out%acid_hyd_dist_param%qaoh = colvar_in%acid_hyd_dist_param%qaoh
1615 colvar_out%acid_hyd_dist_param%pcut = colvar_in%acid_hyd_dist_param%pcut
1616 colvar_out%acid_hyd_dist_param%qcut = colvar_in%acid_hyd_dist_param%qcut
1617 colvar_out%acid_hyd_dist_param%rwoh = colvar_in%acid_hyd_dist_param%rwoh
1618 colvar_out%acid_hyd_dist_param%raoh = colvar_in%acid_hyd_dist_param%raoh
1619 colvar_out%acid_hyd_dist_param%lambda = colvar_in%acid_hyd_dist_param%lambda
1620 ndim =
SIZE(colvar_in%acid_hyd_dist_param%i_oxygens_water)
1621 ALLOCATE (colvar_out%acid_hyd_dist_param%i_oxygens_water(ndim))
1622 ndim =
SIZE(colvar_in%acid_hyd_dist_param%i_oxygens_acid)
1623 ALLOCATE (colvar_out%acid_hyd_dist_param%i_oxygens_acid(ndim))
1624 ndim =
SIZE(colvar_in%acid_hyd_dist_param%i_hydrogens)
1625 ALLOCATE (colvar_out%acid_hyd_dist_param%i_hydrogens(ndim))
1626 colvar_out%acid_hyd_dist_param%i_oxygens_water = colvar_in%acid_hyd_dist_param%i_oxygens_water + my_offset
1627 colvar_out%acid_hyd_dist_param%i_oxygens_acid = colvar_in%acid_hyd_dist_param%i_oxygens_acid + my_offset
1628 colvar_out%acid_hyd_dist_param%i_hydrogens = colvar_in%acid_hyd_dist_param%i_hydrogens + my_offset
1630 colvar_out%acid_hyd_shell_param%n_hydrogens = colvar_in%acid_hyd_shell_param%n_hydrogens
1631 colvar_out%acid_hyd_shell_param%n_oxygens_water = colvar_in%acid_hyd_shell_param%n_oxygens_water
1632 colvar_out%acid_hyd_shell_param%n_oxygens_acid = colvar_in%acid_hyd_shell_param%n_oxygens_acid
1633 colvar_out%acid_hyd_shell_param%nc = colvar_in%acid_hyd_shell_param%nc
1634 colvar_out%acid_hyd_shell_param%nh = colvar_in%acid_hyd_shell_param%nh
1635 colvar_out%acid_hyd_shell_param%pwoh = colvar_in%acid_hyd_shell_param%pwoh
1636 colvar_out%acid_hyd_shell_param%qwoh = colvar_in%acid_hyd_shell_param%qwoh
1637 colvar_out%acid_hyd_shell_param%paoh = colvar_in%acid_hyd_shell_param%paoh
1638 colvar_out%acid_hyd_shell_param%qaoh = colvar_in%acid_hyd_shell_param%qaoh
1639 colvar_out%acid_hyd_shell_param%poo = colvar_in%acid_hyd_shell_param%poo
1640 colvar_out%acid_hyd_shell_param%qoo = colvar_in%acid_hyd_shell_param%qoo
1641 colvar_out%acid_hyd_shell_param%pm = colvar_in%acid_hyd_shell_param%pm
1642 colvar_out%acid_hyd_shell_param%qm = colvar_in%acid_hyd_shell_param%qm
1643 colvar_out%acid_hyd_shell_param%pcut = colvar_in%acid_hyd_shell_param%pcut
1644 colvar_out%acid_hyd_shell_param%qcut = colvar_in%acid_hyd_shell_param%qcut
1645 colvar_out%acid_hyd_shell_param%rwoh = colvar_in%acid_hyd_shell_param%rwoh
1646 colvar_out%acid_hyd_shell_param%raoh = colvar_in%acid_hyd_shell_param%raoh
1647 colvar_out%acid_hyd_shell_param%roo = colvar_in%acid_hyd_shell_param%roo
1648 colvar_out%acid_hyd_shell_param%lambda = colvar_in%acid_hyd_shell_param%lambda
1649 ndim =
SIZE(colvar_in%acid_hyd_shell_param%i_oxygens_water)
1650 ALLOCATE (colvar_out%acid_hyd_shell_param%i_oxygens_water(ndim))
1651 ndim =
SIZE(colvar_in%acid_hyd_shell_param%i_oxygens_acid)
1652 ALLOCATE (colvar_out%acid_hyd_shell_param%i_oxygens_acid(ndim))
1653 ndim =
SIZE(colvar_in%acid_hyd_shell_param%i_hydrogens)
1654 ALLOCATE (colvar_out%acid_hyd_shell_param%i_hydrogens(ndim))
1655 colvar_out%acid_hyd_shell_param%i_oxygens_water = colvar_in%acid_hyd_shell_param%i_oxygens_water + my_offset
1656 colvar_out%acid_hyd_shell_param%i_oxygens_acid = colvar_in%acid_hyd_shell_param%i_oxygens_acid + my_offset
1657 colvar_out%acid_hyd_shell_param%i_hydrogens = colvar_in%acid_hyd_shell_param%i_hydrogens + my_offset
1659 colvar_out%reaction_path_param%dist_rmsd = colvar_in%reaction_path_param%dist_rmsd
1660 colvar_out%reaction_path_param%rmsd = colvar_in%reaction_path_param%rmsd
1661 colvar_out%reaction_path_param%nr_frames = colvar_in%reaction_path_param%nr_frames
1662 IF (colvar_in%reaction_path_param%dist_rmsd .OR. colvar_in%reaction_path_param%rmsd)
THEN
1663 colvar_out%reaction_path_param%align_frames = colvar_in%reaction_path_param%align_frames
1664 colvar_out%reaction_path_param%subset = colvar_in%reaction_path_param%subset
1665 ndim =
SIZE(colvar_in%reaction_path_param%i_rmsd)
1666 ALLOCATE (colvar_out%reaction_path_param%i_rmsd(ndim))
1667 colvar_out%reaction_path_param%i_rmsd = colvar_in%reaction_path_param%i_rmsd
1668 ndim =
SIZE(colvar_in%reaction_path_param%r_ref, 1)
1669 ndim2 =
SIZE(colvar_in%reaction_path_param%r_ref, 2)
1670 ALLOCATE (colvar_out%reaction_path_param%r_ref(ndim, ndim2))
1671 colvar_out%reaction_path_param%r_ref = colvar_in%reaction_path_param%r_ref
1673 ndim =
SIZE(colvar_in%reaction_path_param%colvar_p)
1674 ALLOCATE (colvar_out%reaction_path_param%colvar_p(ndim))
1676 CALL colvar_clone(colvar_out%reaction_path_param%colvar_p(i)%colvar, &
1677 colvar_in%reaction_path_param%colvar_p(i)%colvar, &
1680 colvar_out%reaction_path_param%function_bounds = colvar_in%reaction_path_param%function_bounds
1681 ndim =
SIZE(colvar_in%reaction_path_param%f_vals, 1)
1682 ndim2 =
SIZE(colvar_in%reaction_path_param%f_vals, 2)
1683 ALLOCATE (colvar_out%reaction_path_param%f_vals(ndim, ndim2))
1684 colvar_out%reaction_path_param%f_vals = colvar_in%reaction_path_param%f_vals
1686 colvar_out%reaction_path_param%step_size = colvar_in%reaction_path_param%step_size
1687 colvar_out%reaction_path_param%n_components = colvar_in%reaction_path_param%n_components
1688 colvar_out%reaction_path_param%lambda = colvar_in%reaction_path_param%lambda
1690 ndim =
SIZE(colvar_in%combine_cvs_param%colvar_p)
1691 ALLOCATE (colvar_out%combine_cvs_param%colvar_p(ndim))
1693 CALL colvar_clone(colvar_out%combine_cvs_param%colvar_p(i)%colvar, &
1694 colvar_in%combine_cvs_param%colvar_p(i)%colvar, &
1697 colvar_out%combine_cvs_param%lerr = colvar_in%combine_cvs_param%lerr
1698 colvar_out%combine_cvs_param%dx = colvar_in%combine_cvs_param%dx
1699 colvar_out%combine_cvs_param%function = colvar_in%combine_cvs_param%function
1701 ndim =
SIZE(colvar_in%combine_cvs_param%c_parameters)
1702 ALLOCATE (colvar_out%combine_cvs_param%c_parameters(ndim))
1703 colvar_out%combine_cvs_param%c_parameters = colvar_in%combine_cvs_param%c_parameters
1705 ndim =
SIZE(colvar_in%combine_cvs_param%v_parameters)
1706 ALLOCATE (colvar_out%combine_cvs_param%v_parameters(ndim))
1707 colvar_out%combine_cvs_param%v_parameters = colvar_in%combine_cvs_param%v_parameters
1709 ndim =
SIZE(colvar_in%combine_cvs_param%variables)
1710 ALLOCATE (colvar_out%combine_cvs_param%variables(ndim))
1711 colvar_out%combine_cvs_param%variables = colvar_in%combine_cvs_param%variables
1713 colvar_out%rmsd_param%n_atoms = colvar_in%rmsd_param%n_atoms
1714 colvar_out%rmsd_param%align_frames = colvar_in%rmsd_param%align_frames
1715 colvar_out%rmsd_param%nr_frames = colvar_in%rmsd_param%nr_frames
1716 colvar_out%rmsd_param%subset = colvar_in%rmsd_param%subset
1718 ndim =
SIZE(colvar_in%rmsd_param%i_rmsd)
1719 ALLOCATE (colvar_out%rmsd_param%i_rmsd(ndim))
1720 colvar_out%rmsd_param%i_rmsd = colvar_in%rmsd_param%i_rmsd + my_offset
1722 ndim =
SIZE(colvar_in%rmsd_param%weights)
1723 ALLOCATE (colvar_out%rmsd_param%weights(ndim))
1724 colvar_out%rmsd_param%weights = colvar_in%rmsd_param%weights
1725 ndim =
SIZE(colvar_in%rmsd_param%r_ref, 1)
1726 ndim2 =
SIZE(colvar_in%rmsd_param%r_ref, 2)
1727 ALLOCATE (colvar_out%rmsd_param%r_ref(ndim, ndim2))
1728 colvar_out%rmsd_param%r_ref = colvar_in%rmsd_param%r_ref
1730 colvar_out%Wc%ids = colvar_in%Wc%ids + my_offset
1731 colvar_out%Wc%rcut = colvar_in%Wc%rcut
1733 ndim = colvar_out%HBP%nPoints
1734 ALLOCATE (colvar_out%HBP%ids(ndim, 3))
1735 ALLOCATE (colvar_out%HBP%ewc(ndim))
1736 colvar_out%HBP%ids = colvar_in%HBP%ids + my_offset
1737 colvar_out%HBP%ewc = colvar_in%HBP%ewc + my_offset
1738 colvar_out%HBP%nPoints = colvar_in%HBP%nPoints
1739 colvar_out%HBP%rcut = colvar_in%HBP%rcut
1740 colvar_out%HBP%shift = colvar_in%HBP%shift
1742 ndim = colvar_in%ring_puckering_param%nring
1743 colvar_out%ring_puckering_param%nring = colvar_in%ring_puckering_param%nring
1744 colvar_out%ring_puckering_param%iq = colvar_in%ring_puckering_param%iq
1745 ALLOCATE (colvar_out%ring_puckering_param%atoms(ndim))
1746 colvar_out%ring_puckering_param%atoms = colvar_in%ring_puckering_param%atoms + my_offset
1748 colvar_out%mindist_param%n_dist_from = colvar_in%mindist_param%n_dist_from
1749 colvar_out%mindist_param%n_coord_to = colvar_in%mindist_param%n_coord_to
1750 colvar_out%mindist_param%n_coord_from = colvar_in%mindist_param%n_coord_from
1751 colvar_out%mindist_param%p_exp = colvar_in%mindist_param%p_exp
1752 colvar_out%mindist_param%q_exp = colvar_in%mindist_param%q_exp
1753 colvar_out%mindist_param%r_cut = colvar_in%mindist_param%r_cut
1754 colvar_out%mindist_param%lambda = colvar_in%mindist_param%lambda
1755 colvar_out%mindist_param%use_kinds_from = colvar_in%mindist_param%use_kinds_from
1756 colvar_out%mindist_param%use_kinds_to = colvar_in%mindist_param%use_kinds_to
1758 ndim =
SIZE(colvar_in%mindist_param%i_dist_from)
1759 ALLOCATE (colvar_out%mindist_param%i_dist_from(ndim))
1760 colvar_out%mindist_param%i_dist_from = colvar_in%mindist_param%i_dist_from + my_offset
1761 IF (colvar_in%mindist_param%use_kinds_from)
THEN
1763 ndim =
SIZE(colvar_in%mindist_param%k_coord_from)
1764 ALLOCATE (colvar_out%mindist_param%k_coord_from(ndim))
1765 colvar_out%mindist_param%k_coord_from = colvar_in%mindist_param%k_coord_from
1768 ndim =
SIZE(colvar_in%mindist_param%i_coord_from)
1769 ALLOCATE (colvar_out%mindist_param%i_coord_from(ndim))
1770 colvar_out%mindist_param%i_coord_from = colvar_in%mindist_param%i_coord_from + my_offset
1772 IF (colvar_in%mindist_param%use_kinds_to)
THEN
1774 ndim =
SIZE(colvar_in%mindist_param%k_coord_to)
1775 ALLOCATE (colvar_out%mindist_param%k_coord_to(ndim))
1776 colvar_out%mindist_param%k_coord_to = colvar_in%mindist_param%k_coord_to
1779 ndim =
SIZE(colvar_in%mindist_param%i_coord_to)
1780 ALLOCATE (colvar_out%mindist_param%i_coord_to(ndim))
1781 colvar_out%mindist_param%i_coord_to = colvar_in%mindist_param%i_coord_to + my_offset