#include <chrono>
#include <omp.h>
#include <thread>
+#include <string>
#include <gromacs/trajectoryanalysis.h>
#include <gromacs/pbcutil/pbc.h>
return false;
}
-void print_domains(std::vector< std::vector< int > > pd_domains) {
- int pd_for1 = pd_domains.size(), pd_for2;
- for (int i = 0; i < pd_for1; i++) {
- std::cout << "domain " << i + 1 << "\n";
- pd_for2 = pd_domains[i].size();
- for (int j = 0; j < pd_for2; j++) {
+void print_domains(std::vector< std::vector< int > > pd_domains, std::string fnNdx_) {
+ std::freopen(fnNdx_.c_str(), "w+", stdout);
+ int write_count;
+ for (int i = 0; i < pd_domains.size(); i++) {
+ std::cout << "[domain_" << i + 1 << "]\n";
+ write_count = 0;
+ for (int j = 0; j < pd_domains[i].size(); j++) {
+ write_count++;
+ if (write_count > 20) {
+ write_count -= 20;
+ std::cout << "\n";
+ }
std::cout << pd_domains[i][j] << " ";
}
- std::cout << "\n";
+ std::cout << "\n\n";
}
+ std::fclose(stdout);
}
/*! \brief
private:
+ std::string fnNdx_;
std::vector< std::vector< std::vector< node > > > graph;
std::vector< std::vector< int > > domains;
std::vector< std::vector< int > > domsizes;
options->addOption(SelectionOption("select")
.store(&selec).required()
.description("Atoms that are considered as part of the excluded volume"));
+ // Add option for output file name
+ options->addOption(FileNameOption("on").filetype(eftIndex).outputFile()
+ .store(&fnNdx_).defaultBasename("rcore")
+ .description("Index file from the rcore"));
// Control input settings
settings->setFlags(TrajectoryAnalysisSettings::efNoUserPBC);
settings->setPBC(true);
void
Domains::writeOutput()
{
- print_domains(domains); // see function for details | numbers from index
+ print_domains(domains, fnNdx_); // see function for details | numbers from index
std::cout << "\n END \n";
}