135 |
|
|
136 |
|
|
137 |
|
void VelocityVerletIntegrator::preStep() { |
138 |
< |
double difference = currentSnapshot_->getTime() + dt - currStatus; |
138 |
> |
RealType difference = currentSnapshot_->getTime() + dt - currStatus; |
139 |
|
|
140 |
|
if (difference > 0 || fabs(difference) < oopse::epsilon) { |
141 |
|
needPotential = true; |
142 |
|
needStress = true; |
143 |
|
} |
144 |
– |
|
144 |
|
} |
145 |
|
|
146 |
|
void VelocityVerletIntegrator::postStep() { |
147 |
< |
|
147 |
> |
|
148 |
|
//save snapshot |
149 |
|
info_->getSnapshotManager()->advance(); |
150 |
|
|
221 |
|
} |
222 |
|
|
223 |
|
StatWriter* VelocityVerletIntegrator::createStatWriter() { |
224 |
+ |
|
225 |
+ |
std::string statFileFormatString = simParams->getStatFileFormat(); |
226 |
+ |
StatsBitSet mask = parseStatFileFormat(statFileFormatString); |
227 |
+ |
|
228 |
|
// if solidThermInt is true, add extra information to the statfile |
229 |
|
if (simParams->getUseSolidThermInt()){ |
227 |
– |
StatsBitSet mask; |
228 |
– |
mask.set(Stats::TIME); |
229 |
– |
mask.set(Stats::TOTAL_ENERGY); |
230 |
– |
mask.set(Stats::POTENTIAL_ENERGY); |
231 |
– |
mask.set(Stats::KINETIC_ENERGY); |
232 |
– |
mask.set(Stats::TEMPERATURE); |
233 |
– |
mask.set(Stats::PRESSURE); |
234 |
– |
mask.set(Stats::VOLUME); |
235 |
– |
mask.set(Stats::CONSERVED_QUANTITY); |
230 |
|
mask.set(Stats::VRAW); |
231 |
|
mask.set(Stats::VHARM); |
238 |
– |
return new StatWriter(info_->getStatFileName(), mask); |
232 |
|
} |
233 |
|
|
234 |
|
if (simParams->havePrintPressureTensor() && simParams->getPrintPressureTensor()){ |
242 |
– |
StatsBitSet mask; |
243 |
– |
mask.set(Stats::TIME); |
244 |
– |
mask.set(Stats::TOTAL_ENERGY); |
245 |
– |
mask.set(Stats::POTENTIAL_ENERGY); |
246 |
– |
mask.set(Stats::KINETIC_ENERGY); |
247 |
– |
mask.set(Stats::TEMPERATURE); |
248 |
– |
mask.set(Stats::PRESSURE); |
249 |
– |
mask.set(Stats::VOLUME); |
250 |
– |
mask.set(Stats::CONSERVED_QUANTITY); |
235 |
|
mask.set(Stats::PRESSURE_TENSOR_X); |
236 |
|
mask.set(Stats::PRESSURE_TENSOR_Y); |
237 |
|
mask.set(Stats::PRESSURE_TENSOR_Z); |
254 |
– |
return new StatWriter(info_->getStatFileName(), mask); |
238 |
|
} |
239 |
|
|
240 |
< |
return new StatWriter(info_->getStatFileName()); |
240 |
> |
return new StatWriter(info_->getStatFileName(), mask); |
241 |
|
} |
242 |
|
|
243 |
|
RestWriter* VelocityVerletIntegrator::createRestWriter(){ |