Skip to content

Commit

Permalink
Fist: Fix segfault for systems without dihedrals
Browse files Browse the repository at this point in the history
  • Loading branch information
oschuett committed Feb 23, 2024
1 parent 0f47048 commit 5417965
Show file tree
Hide file tree
Showing 5 changed files with 174 additions and 6 deletions.
13 changes: 7 additions & 6 deletions src/force_fields_ext.F
Original file line number Diff line number Diff line change
Expand Up @@ -763,12 +763,13 @@ SUBROUTINE read_force_field_amber(ff_type, para_env, mm_section, particle_set)
amb_info%torsion_k(i) = cp_unit_to_cp2k(amb_info%torsion_k(i), "kcalmol")
END DO

DO i = 1, SIZE(amb_info%raw_torsion_k)

! Do some units conversion into internal atomic units
amb_info%raw_torsion_phi0(i) = cp_unit_to_cp2k(amb_info%raw_torsion_phi0(i), "rad")
amb_info%raw_torsion_k(i) = cp_unit_to_cp2k(amb_info%raw_torsion_k(i), "kcalmol")
END DO
! Do some units conversion into internal atomic units
IF (ASSOCIATED(amb_info%raw_torsion_phi0)) THEN
DO i = 1, SIZE(amb_info%raw_torsion_k)
amb_info%raw_torsion_phi0(i) = cp_unit_to_cp2k(amb_info%raw_torsion_phi0(i), "rad")
amb_info%raw_torsion_k(i) = cp_unit_to_cp2k(amb_info%raw_torsion_k(i), "kcalmol")
END DO
END IF

!-----------------------------------------------------------------------------
! 4. Converts all the Nonbonded info from the param file here
Expand Down
1 change: 1 addition & 0 deletions tests/Fist/regtest-3/TEST_FILES
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,5 @@ flibe_nopol.inp 2 1.0E-14
fli_nopol_small1.inp 11 1.0E-14 2.935980450547099
fli_nopol_small2.inp 11 1.0E-14 0.008731955712438
fli_nopol_small3.inp 11 1.0E-14 0.000003641354401
ch4_no_dihedrals.inp 11 1.0E-14 0.000354701734676
#EOF
30 changes: 30 additions & 0 deletions tests/Fist/regtest-3/ch4_no_dihedrals.inp
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
&GLOBAL
PRINT_LEVEL LOW
&END GLOBAL

&FORCE_EVAL
METHOD FIST
&MM
&FORCEFIELD
PARMTYPE AMBER
PARM_FILE_NAME ../sample_top/ch4.top
&END FORCEFIELD
&POISSON
&EWALD
EWALD_TYPE NONE
&END EWALD
&END POISSON
&END MM
&SUBSYS
&CELL
ABC [angstrom] 15 15 15
ALPHA_BETA_GAMMA 90 90 90
&END CELL
&TOPOLOGY
CONN_FILE_FORMAT AMBER
CONN_FILE_NAME ../sample_top/ch4.top
COORD_FILE_FORMAT CRD
COORD_FILE_NAME ../sample_crd/ch4.crd
&END TOPOLOGY
&END SUBSYS
&END FORCE_EVAL
5 changes: 5 additions & 0 deletions tests/Fist/sample_crd/ch4.crd
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
*****
5
0.9280000 0.0600000 -0.0340000 0.5640000 0.8390000 0.6390000
0.5640000 0.2530000 -1.0460000 0.5640000 -0.9120000 0.3040000
2.0200000 0.0600000 -0.0340000
131 changes: 131 additions & 0 deletions tests/Fist/sample_top/ch4.top
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
%VERSION VERSION_STAMP = V0001.000 DATE = 02/14/24 09:29:49
%FLAG TITLE
%FORMAT(20a4)
*****
%FLAG POINTERS
%FORMAT(10I8)
5 2 4 0 6 0 0 0 0 0
11 1 0 0 0 1 1 0 2 0
0 0 0 0 0 0 0 0 5 0
0
%FLAG ATOM_NAME
%FORMAT(20a4)
C H H1 H2 H3
%FLAG CHARGE
%FORMAT(5E16.8)
-1.98258624E+00 4.86535410E-01 4.86535410E-01 4.86535410E-01 4.86535410E-01
%FLAG ATOMIC_NUMBER
%FORMAT(10I8)
6 1 1 1 1
%FLAG MASS
%FORMAT(5E16.8)
1.20100000E+01 1.00800000E+00 1.00800000E+00 1.00800000E+00 1.00800000E+00
%FLAG ATOM_TYPE_INDEX
%FORMAT(10I8)
1 2 2 2 2
%FLAG NUMBER_EXCLUDED_ATOMS
%FORMAT(10I8)
4 3 2 1 1
%FLAG NONBONDED_PARM_INDEX
%FORMAT(10I8)
1 2 2 3
%FLAG RESIDUE_LABEL
%FORMAT(20a4)
UNL
%FLAG RESIDUE_POINTER
%FORMAT(10I8)
1
%FLAG BOND_FORCE_CONSTANT
%FORMAT(5E16.8)
3.45250000E+02
%FLAG BOND_EQUIL_VALUE
%FORMAT(5E16.8)
1.09620000E+00
%FLAG ANGLE_FORCE_CONSTANT
%FORMAT(5E16.8)
3.58000000E+01
%FLAG ANGLE_EQUIL_VALUE
%FORMAT(5E16.8)
1.88024401E+00
%FLAG DIHEDRAL_FORCE_CONSTANT
%FORMAT(5E16.8)

%FLAG DIHEDRAL_PERIODICITY
%FORMAT(5E16.8)

%FLAG DIHEDRAL_PHASE
%FORMAT(5E16.8)

%FLAG SCEE_SCALE_FACTOR
%FORMAT(5E16.8)

%FLAG SCNB_SCALE_FACTOR
%FORMAT(5E16.8)

%FLAG SOLTY
%FORMAT(5E16.8)
0.00000000E+00 0.00000000E+00
%FLAG LENNARD_JONES_ACOEF
%FORMAT(5E16.8)
1.02073671E+06 1.00235148E+05 7.94617769E+03
%FLAG LENNARD_JONES_BCOEF
%FORMAT(5E16.8)
6.63431737E+02 1.37787728E+02 2.57122925E+01
%FLAG BONDS_INC_HYDROGEN
%FORMAT(10I8)
0 3 1 0 6 1 0 9 1 0
12 1
%FLAG BONDS_WITHOUT_HYDROGEN
%FORMAT(10I8)

%FLAG ANGLES_INC_HYDROGEN
%FORMAT(10I8)
3 0 6 1 3 0 9 1 3 0
12 1 6 0 9 1 6 0 12 1
9 0 12 1
%FLAG ANGLES_WITHOUT_HYDROGEN
%FORMAT(10I8)

%FLAG DIHEDRALS_INC_HYDROGEN
%FORMAT(10I8)

%FLAG DIHEDRALS_WITHOUT_HYDROGEN
%FORMAT(10I8)

%FLAG EXCLUDED_ATOMS_LIST
%FORMAT(10I8)
2 3 4 5 3 4 5 4 5 5
0
%FLAG HBOND_ACOEF
%FORMAT(5E16.8)

%FLAG HBOND_BCOEF
%FORMAT(5E16.8)

%FLAG HBCUT
%FORMAT(5E16.8)

%FLAG AMBER_ATOM_TYPE
%FORMAT(20a4)
c3 hc hc hc hc
%FLAG TREE_CHAIN_CLASSIFICATION
%FORMAT(20a4)
BLA BLA BLA BLA BLA
%FLAG JOIN_ARRAY
%FORMAT(10I8)
0 0 0 0 0
%FLAG IROTAT
%FORMAT(10I8)
0 0 0 0 0
%FLAG RADIUS_SET
%FORMAT(1a80)
modified Bondi radii (mbondi)
%FLAG RADII
%FORMAT(5E16.8)
1.70000000E+00 1.30000000E+00 1.30000000E+00 1.30000000E+00 1.30000000E+00
%FLAG SCREEN
%FORMAT(5E16.8)
7.20000000E-01 8.50000000E-01 8.50000000E-01 8.50000000E-01 8.50000000E-01
%FLAG IPOL
%FORMAT(1I8)
0

0 comments on commit 5417965

Please sign in to comment.