Merge branch release-2021 into merge-2021-into-master
[alexxy/gromacs.git] / src / gromacs / gmxpreprocess / pdb2gmx.cpp
index d562476a1ebe7d20b8493d886bfd8c58e806fea4..d230a9ef7625d04c1073e507549f9f429b62495e 100644 (file)
 struct RtpRename
 {
     RtpRename(const char* newGmx, const char* newMain, const char* newNter, const char* newCter, const char* newBter) :
-        gmx(newGmx),
-        main(newMain),
-        nter(newNter),
-        cter(newCter),
-        bter(newBter)
+        gmx(newGmx), main(newMain), nter(newNter), cter(newCter), bter(newBter)
     {
     }
     std::string gmx;
@@ -1423,6 +1419,11 @@ bool checkChainCyclicity(t_atoms*                               pdba,
                          real                                   long_bond_dist_,
                          real                                   short_bond_dist_)
 {
+    // if start and end are the same, we can't have a cycle
+    if (start_ter == end_ter)
+    {
+        return false;
+    }
     int         ai = -1, aj = -1;
     char*       rtpname = *(pdba->resinfo[start_ter].rtp);
     std::string newName = search_resrename(rr, rtpname, false, false, false);