--- trunk/OOPSE-4/src/integrators/VelocityVerletIntegrator.cpp 2005/05/22 21:36:21 2239 +++ trunk/OOPSE-4/src/integrators/VelocityVerletIntegrator.cpp 2005/11/16 23:10:02 2448 @@ -105,7 +105,10 @@ namespace oopse { currSample = sampleTime + currentSnapshot_->getTime(); currStatus = statusTime + currentSnapshot_->getTime();; - currThermal = thermalTime + + currentSnapshot_->getTime(); + currThermal = thermalTime + currentSnapshot_->getTime(); + if (needReset) { + currReset = resetTime + currentSnapshot_->getTime(); + } needPotential = false; needStress = false; @@ -138,11 +141,12 @@ namespace oopse { needPotential = true; needStress = true; } - + + std::cout << currentSnapshot_->getTime()<< ": \n"; } void VelocityVerletIntegrator::postStep() { - + //save snapshot info_->getSnapshotManager()->advance(); @@ -175,8 +179,12 @@ namespace oopse { needStress = false; currStatus += statusTime; } + + if (needReset && currentSnapshot_->getTime() >= currReset) { + resetIntegrator(); + currReset += resetTime; + } - } @@ -215,39 +223,23 @@ namespace oopse { } StatWriter* VelocityVerletIntegrator::createStatWriter() { + + std::string statFileFormatString = simParams->getStatFileFormat(); + StatsBitSet mask = parseStatFileFormat(statFileFormatString); + // if solidThermInt is true, add extra information to the statfile if (simParams->getUseSolidThermInt()){ - StatsBitSet mask; - mask.set(Stats::TIME); - mask.set(Stats::TOTAL_ENERGY); - mask.set(Stats::POTENTIAL_ENERGY); - mask.set(Stats::KINETIC_ENERGY); - mask.set(Stats::TEMPERATURE); - mask.set(Stats::PRESSURE); - mask.set(Stats::VOLUME); - mask.set(Stats::CONSERVED_QUANTITY); mask.set(Stats::VRAW); mask.set(Stats::VHARM); - return new StatWriter(info_->getStatFileName(), mask); } if (simParams->havePrintPressureTensor() && simParams->getPrintPressureTensor()){ - StatsBitSet mask; - mask.set(Stats::TIME); - mask.set(Stats::TOTAL_ENERGY); - mask.set(Stats::POTENTIAL_ENERGY); - mask.set(Stats::KINETIC_ENERGY); - mask.set(Stats::TEMPERATURE); - mask.set(Stats::PRESSURE); - mask.set(Stats::VOLUME); - mask.set(Stats::CONSERVED_QUANTITY); mask.set(Stats::PRESSURE_TENSOR_X); mask.set(Stats::PRESSURE_TENSOR_Y); mask.set(Stats::PRESSURE_TENSOR_Z); - return new StatWriter(info_->getStatFileName(), mask); } - return new StatWriter(info_->getStatFileName()); + return new StatWriter(info_->getStatFileName(), mask); } RestWriter* VelocityVerletIntegrator::createRestWriter(){