71 |
|
forceField_ = info_->getForceField(); |
72 |
|
interactionMan_ = new InteractionManager(); |
73 |
|
fDecomp_ = new ForceMatrixDecomposition(info_, interactionMan_); |
74 |
+ |
thermo = new Thermo(info_); |
75 |
|
} |
76 |
|
|
77 |
|
/** |
434 |
|
perturbations_.push_back(eField); |
435 |
|
} |
436 |
|
|
437 |
+ |
usePeriodicBoundaryConditions_ = info_->getSimParams()->getUsePeriodicBoundaryConditions(); |
438 |
+ |
|
439 |
|
fDecomp_->distributeInitialData(); |
440 |
< |
|
441 |
< |
initialized_ = true; |
442 |
< |
|
440 |
> |
|
441 |
> |
initialized_ = true; |
442 |
> |
|
443 |
|
} |
444 |
< |
|
444 |
> |
|
445 |
|
void ForceManager::calcForces() { |
446 |
|
|
447 |
|
if (!initialized_) initialize(); |
448 |
< |
|
448 |
> |
|
449 |
|
preCalculation(); |
450 |
|
shortRangeInteractions(); |
451 |
|
longRangeInteractions(); |
729 |
|
|
730 |
|
if (iLoop == loopStart) { |
731 |
|
bool update_nlist = fDecomp_->checkNeighborList(); |
732 |
< |
if (update_nlist) |
732 |
> |
if (update_nlist) { |
733 |
> |
if (!usePeriodicBoundaryConditions_) |
734 |
> |
Mat3x3d bbox = thermo->getBoundingBox(); |
735 |
|
neighborList = fDecomp_->buildNeighborList(); |
736 |
< |
} |
736 |
> |
} |
737 |
> |
} |
738 |
|
|
739 |
|
for (vector<pair<int, int> >::iterator it = neighborList.begin(); |
740 |
|
it != neighborList.end(); ++it) { |