X-Git-Url: http://git.treefish.org/~alex/phys/latlib.git/blobdiff_plain/36bc55ceb7b62569c7604f28b3e53bc2e42cf0ce..e9c0e0b98886738917300348a522759c25d4a9c7:/o815/sim.cpp?ds=inline diff --git a/o815/sim.cpp b/o815/sim.cpp index b37549a..ec1ca89 100644 --- a/o815/sim.cpp +++ b/o815/sim.cpp @@ -13,72 +13,25 @@ o815::sim::sim(o815 *_O815, const int& _confmemSize) { } void o815::sim::nextConfig() { - bool readnewconfig; - int nequileftReadConfig; - bool skippedInEqui = false; - bool readNoSingleConfig = true; - bool createdNoNewConfigs = true; - - hypercache::readC(readnewconfig, nequileftReadConfig); - - if (readnewconfig) { - nequileft = nequileftReadConfig; - readNoSingleConfig = false; - } - - /* try to find more equilibrated config-file for equilibration including excluded files */ - if ( nequileft > 0 && hypercache::CFilesLeft() > 0 ) { - char *tmpconfig = (char*) malloc(confmemSize); - - while (true) { - memcpy (tmpconfig, confMem, confmemSize); - hypercache::readC(readnewconfig, nequileftReadConfig); - - if (! readnewconfig) { - *log << "SIM: No more excluded config-files for possible equilibration available." << endl << flush; - break; - } - - if (nequileftReadConfig <= nequileft) { - *log << "SIM: Found more equilibrated or same equilibrated excluded config-file configuration for equilibration." << endl << flush; - nequileft = nequileftReadConfig; - readNoSingleConfig = false; - } - else if (nequileftReadConfig > nequileft) { - *log << "SIM: Excluded config-file configuration for equilibration is less equilibrated than actual config." << endl << flush; - memcpy (confMem, tmpconfig, confmemSize); - } - } - free(tmpconfig); - } + bool readAtLeastOneConfig = hypercache::readC(); /* equilibrate if necessary */ - if (nequileft > 0) { + if (hypercache::getNEquiLeft() > 0) { *log << "SIM: Starting equilibration." << endl << flush; - if (nequileft != nequi) - *log << "SIM: " << nequileft << " of " << nequi << " equilibration steps left after virtual equilibration." << endl << flush; - progress equiProg(nequileft); - for ( int iequi=0; iequi= 0) ) { for (int iskip=0; iskip