fixed -nan issue
authorAnatoly Titov <toluk@omrb.pnpi.spb.ru>
Tue, 12 Dec 2017 10:27:04 +0000 (13:27 +0300)
committerAnatoly Titov <toluk@omrb.pnpi.spb.ru>
Tue, 12 Dec 2017 10:27:04 +0000 (13:27 +0300)
src/spirals.cpp

index 8884ce4891bf70720c1a4a6f70f3e8153a35a581..f1b33e1ab123354b322cf55a92182a8d0a9cfc1a 100644 (file)
@@ -193,6 +193,12 @@ Spirals::analyzeFrame(int frnr, const t_trxframe &fr, t_pbc *pbc,
         kernel[frames].push_back(return_crcl(   temp[i][0],     temp[i][1],     temp[i][2],
                                         temp[i + 1][0], temp[i + 1][1], temp[i + 1][2],
                                         temp[i + 2][0], temp[i + 2][1], temp[i + 2][2]));
+        if (i == 0) {
+            kernel[frames].push_back(kernel[frames].front());
+        }
+        if (i == temp.size() - 3) {
+            kernel[frames].push_back(kernel[frames].back());
+        }
     }
 
     // распределение точек по виткам
@@ -279,7 +285,7 @@ Spirals::finishAnalysis(int /*nframes*/)
     FILE *file;
     file = std::fopen("kernel.txt", "w+");
     for (int i = 0; i < kernel.size(); i++) {
-        for (int j = 0; j < kernel[i].size(); j++) {
+        for (int j = 1; j < kernel[i].size() - 1; j++) {
             std::fprintf(file, "%3.2Lf %3.2Lf %3.2Lf %3.2Lf\n", kernel[i][j].x, kernel[i][j].y, kernel[i][j].z, kernel[i][j].r);
         }
         std::fprintf(file, "\n");