{str,lstr, 0, 0, 0,IF_NULL, -1,unimplemented} /* this MUST correspond to the enum in include/types/idef.h */ const t_interaction_function interaction_function[F_NRE]= { def_bond ("BONDS", "Bond", 2, 2, 2, eNR_BONDS, bonds ), def_bond ("G96BONDS", "G96Bond", 2, 2, 2, eNR_BONDS, g96bonds ), def_bond ("MORSE", "Morse", 2, 3, 0, eNR_MORSE, morse_bonds ), def_bond ("CUBICBONDS","Cubic Bonds", 2, 3, 0, eNR_CUBICBONDS, cubic_bonds), def_bondnb ("CONNBONDS","Connect Bonds", 2, 0, 0, 0, unimplemented ), def_bonded ("HARMONIC", "Harmonic Pot.", 2, 2, 2, eNR_BONDS, bonds ), def_bondnb ("FENEBONDS", "FENE Bonds", 2, 2, 0, eNR_FENEBONDS, FENE_bonds ), def_bondt ("TABBONDS", "Tab. Bonds", 2, 2, 2, eNR_TABBONDS, tab_bonds ), def_bondedtz("TABBONDSNC", "Tab. Bonds NC", 2, 2, 2, eNR_TABBONDS, tab_bonds ), def_bonded ("RESTRAINTPOT", "Restraint Pot.", 2, 4, 4, eNR_RESTRBONDS, restraint_bonds ), def_angle ("ANGLES", "Angle", 3, 2, 2, eNR_ANGLES, angles ), def_angle ("G96ANGLES","G96Angle", 3, 2, 2, eNR_ANGLES, g96angles ), def_bonded ("CROSS_BOND_BOND", "Bond-Cross", 3, 3, 0,0, cross_bond_bond ), def_bonded ("CROSS_BOND_ANGLE","BA-Cross", 3, 4, 0,0, cross_bond_angle ), def_angle ("UREY_BRADLEY","U-B", 3, 4, 0, 0, urey_bradley ), def_angle ("QANGLES","Quartic Angles", 3, 6, 0, eNR_QANGLES, quartic_angles ), def_bondedt ("TABANGLES", "Tab. Angles", 3, 2, 2, eNR_TABANGLES, tab_angles ), def_bonded ("PDIHS", "Proper Dih.", 4, 3, 3, eNR_PROPER, pdihs ), def_bonded ("RBDIHS", "Ryckaert-Bell.", 4, 6, 6, eNR_RB, rbdihs ), def_bonded ("FOURDIHS", "Fourier Dih.", 4, 4, 4, eNR_FOURDIH, rbdihs ), def_bonded ("IDIHS", "Improper Dih.", 4, 2, 2, eNR_IMPROPER,idihs ), def_bonded ("PIDIHS", "Improper Dih.", 4, 3, 3, eNR_PROPER, pdihs ), def_bondedt ("TABDIHS", "Tab. Dih.", 4, 2, 2, eNR_TABDIHS, tab_dihs ), def_bonded ("CMAP", "CMAP Dih.", 5, -1, -1, eNR_CMAP, unimplemented ), def_bonded ("GB12", "GB 1-2 Pol.", 2, 4, 0, eNR_GB, unimplemented ), def_bonded ("GB13", "GB 1-3 Pol.", 2, 4, 0, eNR_GB, unimplemented ),
{str, lstr, 0, 0, 0, IF_NULL, -1, unimplemented} /* this MUST correspond to the enum in src/gromacs/topology/idef.h */ const t_interaction_function interaction_function[F_NRE] = { def_bond ("BONDS", "Bond", 2, 2, 2, eNR_BONDS, bonds ), def_bond ("G96BONDS", "G96Bond", 2, 2, 2, eNR_BONDS, g96bonds ), def_bond ("MORSE", "Morse", 2, 3, 3, eNR_MORSE, morse_bonds ), def_bond ("CUBICBONDS", "Cubic Bonds", 2, 3, 0, eNR_CUBICBONDS, cubic_bonds), def_bondnb ("CONNBONDS", "Connect Bonds", 2, 0, 0, 0, unimplemented ), def_bonded ("HARMONIC", "Harmonic Pot.", 2, 2, 2, eNR_BONDS, bonds ), def_bondnb ("FENEBONDS", "FENE Bonds", 2, 2, 0, eNR_FENEBONDS, FENE_bonds ), def_bondt ("TABBONDS", "Tab. Bonds", 2, 2, 2, eNR_TABBONDS, tab_bonds ), def_bondedtz("TABBONDSNC", "Tab. Bonds NC", 2, 2, 2, eNR_TABBONDS, tab_bonds ), def_bonded ("RESTRAINTPOT", "Restraint Pot.", 2, 4, 4, eNR_RESTRBONDS, restraint_bonds ), def_angle ("ANGLES", "Angle", 3, 2, 2, eNR_ANGLES, angles ), def_angle ("G96ANGLES", "G96Angle", 3, 2, 2, eNR_ANGLES, g96angles ), def_angle ("RESTRANGLES", "Restricted Angles", 3, 2, 2, eNR_ANGLES, restrangles), def_angle ("LINEAR_ANGLES", "Lin. Angle", 3, 2, 2, eNR_LINEAR_ANGLES, linear_angles ), def_bonded ("CROSS_BOND_BOND", "Bond-Cross", 3, 3, 0, 0, cross_bond_bond ), def_bonded ("CROSS_BOND_ANGLE", "BA-Cross", 3, 4, 0, 0, cross_bond_angle ), def_angle ("UREY_BRADLEY", "U-B", 3, 4, 4, 0, urey_bradley ), def_angle ("QANGLES", "Quartic Angles", 3, 6, 0, eNR_QANGLES, quartic_angles ), def_bondedt ("TABANGLES", "Tab. Angles", 3, 2, 2, eNR_TABANGLES, tab_angles ), def_bonded ("PDIHS", "Proper Dih.", 4, 3, 3, eNR_PROPER, pdihs ), def_bonded ("RBDIHS", "Ryckaert-Bell.", 4, 6, 6, eNR_RB, rbdihs ), def_bonded ("RESTRDIHS", "Restricted Dih.", 4, 2, 2, eNR_PROPER, restrdihs), def_bonded ("CBTDIHS", "CBT Dih.", 4, 6, 6, eNR_RB, cbtdihs ), def_bonded ("FOURDIHS", "Fourier Dih.", 4, 4, 4, eNR_FOURDIH, rbdihs ), def_bonded ("IDIHS", "Improper Dih.", 4, 2, 2, eNR_IMPROPER, idihs ), def_bonded ("PIDIHS", "Improper Dih.", 4, 3, 3, eNR_IMPROPER, pdihs ),