fixed output
authorAnatoly Titov <toluk@omrb.pnpi.spb.ru>
Fri, 22 Sep 2017 09:48:26 +0000 (12:48 +0300)
committerAnatoly Titov <toluk@omrb.pnpi.spb.ru>
Fri, 22 Sep 2017 09:48:26 +0000 (12:48 +0300)
src/CMakeLists.txt
src/spacetimecorr.cpp

index 0101bfa35a2d5ef9bc2e319ab281a448219a3012..3a03d0a1ef512927c4a24fe8e7af74bcc24f0b65 100644 (file)
@@ -1,4 +1,5 @@
 set(GROMACS_CXX_FLAGS "${GROMACS_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
+#set( CMAKE_CXX_FLAGS "-fsanitize=thread -O2 -g")
 add_executable(spacetimecorr spacetimecorr.cpp)
 include_directories(
         ${GROMACS_INCLUDE_DIRS}
index 5ae4b715bfeef2d4b1cde5f30a8bd3589a76aa9e..c3f1ec00ec4670f1291dc3e2b6f63e29360b74b9 100644 (file)
@@ -93,7 +93,7 @@ void make_rout_file2(double crl_border, std::vector< int > indx, std::vector< st
     file = std::fopen(file_name, "w+");
     std::fprintf(file, "correlations >= %0.2f\n\n", crl_border);
     for (int i = 0; i < rout.size(); i++) {
-        for (int j = 0; j < rout[i].size() - 1; j++) {
+        for (int j = 0; j < rout[i].size(); j++) {
             std::fprintf(file, "cgo_arrow (id %3d), (id %3d), radius=0.15\n", indx[rout[i][j].first] + 1, indx[rout[i][j].second] + 1);
         }
         std::fprintf(file, "\n\n");
@@ -250,27 +250,23 @@ Domains::initAnalysis(const TrajectoryAnalysisSettings &settings,
                       const TopologyInformation        &top)
 {
     domains_ePBC = top.ePBC();
-    std::cout << "Init Analysis\n\n";
 }
 
 void
 Domains::initAfterFirstFrame(const TrajectoryAnalysisSettings       &settings,
                              const t_trxframe                       &fr)
 {
-    std::cout << "Init After First Frame - start\n\n";
     ConstArrayRef< int > atomind  = sel_[0].atomIndices();
     index.resize(0);
     for (ConstArrayRef<int>::iterator ai = atomind.begin(); (ai < atomind.end()); ai++) {
         index.push_back(*ai);
     }
-
     trajectory.resize(1);
     trajectory.back().resize(index.size());
 
     for (int i = 0; i < index.size(); i++) {
         trajectory.back()[i] = fr.x[index[i]];
     }
-
     domains.resize(sel_.size());
     for (int i = 1; i < sel_.size(); i++) {
         atomind  = sel_[i].atomIndices();
@@ -278,7 +274,6 @@ Domains::initAfterFirstFrame(const TrajectoryAnalysisSettings       &settings,
             domains[i].push_back(*ai);
         }
     }
-
     for (int i = 0; i < domains.size(); i++) {
         for (int j = 0; j < domains[i].size(); j++) {
             int k = 0;
@@ -288,7 +283,6 @@ Domains::initAfterFirstFrame(const TrajectoryAnalysisSettings       &settings,
             domains[i][j] = k;
         }
     }
-
     for (int i = 0; i < domains.size(); i++) {
         if (domains[i].size() >= 2) {
             domains_local.push_back(domains[i]);
@@ -303,19 +297,15 @@ Domains::initAfterFirstFrame(const TrajectoryAnalysisSettings       &settings,
             }
         }
     }
-
     domains.resize(0);
     domains = domains_local;
-
     std::vector< bool >                 flags;
     flags.resize(index.size(), true);
-
     for (int i = 0; i < domains.size(); i++) {
         for (int j = 0; j < domains[i].size(); j++) {
             flags[domains[i][j]] = false;
         }
     }
-
     for (int i = 0; i < index.size(); i++) {
         if (flags[i]) {
             int a, b, dist = 90000001;
@@ -334,12 +324,9 @@ Domains::initAfterFirstFrame(const TrajectoryAnalysisSettings       &settings,
             flags[i] = false;
         }
     }
-
     frankenstein_trajectory.resize(trajectory.size());
     frankenstein_trajectory.back() = trajectory.back();
-
     frames++;
-    std::cout << "Init After First Frame - end\n\n";
 }
 
 void
@@ -348,11 +335,9 @@ Domains::analyzeFrame(int frnr, const t_trxframe &fr, t_pbc *pbc,
 {
     trajectory.resize(trajectory.size() + 1);
     trajectory.back().resize(index.size());
-
     for (int i = 0; i < index.size(); i++) {
         trajectory.back()[i] = fr.x[index[i]];
     }
-
     snew(w_rls, domains_local.size() + 1);
     for (int i = 0; i < domains_local.size(); i++) {
         snew(w_rls[i], index.size());
@@ -367,10 +352,8 @@ Domains::analyzeFrame(int frnr, const t_trxframe &fr, t_pbc *pbc,
     for (int i = 0; i < index.size(); i++) {
         w_rls[domains_local.size()][i] = 1;
     }
-
     frankenstein_trajectory.resize(trajectory.size());
     frankenstein_trajectory.back().resize(index.size());
-
     for (int i = 0; i < domains_local.size(); i++) {
         rvec *basic, *traj;
         snew(basic, index.size());
@@ -384,7 +367,6 @@ Domains::analyzeFrame(int frnr, const t_trxframe &fr, t_pbc *pbc,
         reset_x(index.size(), NULL, index.size(), NULL, basic, w_rls[i]);
         reset_x(index.size(), NULL, index.size(), NULL, traj, w_rls[i]);
         do_fit(index.size(), w_rls[i], basic, traj);
-
         for (int j = 0; j < index.size(); j++) {
             if (w_rls[i][j] == 0) {
                 copy_rvec(basic[j], traj[j]);
@@ -395,19 +377,15 @@ Domains::analyzeFrame(int frnr, const t_trxframe &fr, t_pbc *pbc,
         for (int j = 0; j < domains_local[i].size(); j++) {
             frankenstein_trajectory.back()[domains_local[i][j]] = traj[domains_local[i][j]];
         }
-
         sfree(basic);
         sfree(traj);
     }
-
     frames++;
 }
 
 void
 Domains::finishAnalysis(int nframes)
 {
-    std::cout << "Finish Analysis - start\n\n";
-
     std::vector< std::vector< std::vector< double > > > crltns;
     int k = 1000, m = 0;
     if (tau > 0) {
@@ -491,9 +469,8 @@ Domains::finishAnalysis(int nframes)
             sfree(medy);
         }
     }
+    #pragma omp barrier
     std::cout << "Correlation's evaluation - end\n\n";
-
-    std::cout << "Correlation's overview - start\n\n";
     for (int i1 = 0; i1 < 100; i1++) {
         int i5 = 0;
         for (int i2 = 1; i2 < crltns.size(); i2++) {
@@ -510,8 +487,6 @@ Domains::finishAnalysis(int nframes)
             std::cout << "\n" ;
         }
     }
-    std::cout << "\nCorrelation's overview - end \n\n";
-
     std::vector< std::vector< std::pair< double, int > > > graph;
     graph.resize(index.size());
     for (int i = 0; i < index.size(); i++) {
@@ -579,8 +554,6 @@ Domains::finishAnalysis(int nframes)
             std::cout << sub_graph.back().size() << "   ";
         }
     }
-    std::cout << "sub graphs - end\n\n";
-
     std::vector< std::vector < std::pair< int, int > > > rout_new;
     for (int i = 0; i < sub_graph.size(); i++) {
         if (sub_graph[i].size() > 2) {
@@ -596,7 +569,6 @@ Domains::finishAnalysis(int nframes)
                 que.push_back(std::make_pair(sub_graph[i][j], key[sub_graph[i][j]]));
             }
             std::sort(que.begin(), que.end(), myfunction);
-
             while (!que.empty()) {
                 v = que[0].first;
                 que.erase(que.begin());
@@ -636,7 +608,6 @@ Domains::finishAnalysis(int nframes)
     }
     make_rout_file2(crl_border, index, rout_new, "routs_new.txt");
     make_best_corrs_graphics(crltns, rout_new, index, "best_graphics.txt");
-
     std::cout << "Finish Analysis - end\n\n";
 }