370 |
|
} |
371 |
|
switcher_->setSwitchType(sft_); |
372 |
|
switcher_->setSwitch(rSwitch_, rCut_); |
373 |
– |
interactionMan_->setSwitchingRadius(rSwitch_); |
373 |
|
} |
374 |
|
|
375 |
|
|
393 |
|
doParticlePot_ = info_->getSimParams()->getOutputParticlePotential(); |
394 |
|
doHeatFlux_ = info_->getSimParams()->getPrintHeatFlux(); |
395 |
|
if (doHeatFlux_) doParticlePot_ = true; |
396 |
+ |
|
397 |
+ |
doElectricField_ = info_->getSimParams()->getOutputElectricField(); |
398 |
|
|
399 |
|
} |
400 |
|
|
688 |
|
potVec longRangePotential(0.0); |
689 |
|
potVec workPot(0.0); |
690 |
|
potVec exPot(0.0); |
691 |
+ |
Vector3d eField1(0.0); |
692 |
+ |
Vector3d eField2(0.0); |
693 |
|
vector<int>::iterator ia, jb; |
694 |
|
|
695 |
|
int loopStart, loopEnd; |
703 |
|
idat.vpair = &vpair; |
704 |
|
idat.dVdFQ1 = &dVdFQ1; |
705 |
|
idat.dVdFQ2 = &dVdFQ2; |
706 |
+ |
idat.eField1 = &eField1; |
707 |
+ |
idat.eField2 = &eField2; |
708 |
|
idat.f1 = &f1; |
709 |
|
idat.sw = &sw; |
710 |
|
idat.shiftedPot = (cutoffMethod_ == SHIFTED_POTENTIAL) ? true : false; |
711 |
|
idat.shiftedForce = (cutoffMethod_ == SHIFTED_FORCE) ? true : false; |
712 |
|
idat.doParticlePot = doParticlePot_; |
713 |
+ |
idat.doElectricField = doElectricField_; |
714 |
|
sdat.doParticlePot = doParticlePot_; |
715 |
|
|
716 |
|
loopEnd = PAIR_LOOP; |
908 |
|
*(fDecomp_->getPairwisePotential()); |
909 |
|
|
910 |
|
curSnapshot->setLongRangePotential(longRangePotential); |
911 |
+ |
|
912 |
+ |
// collects single-atom information |
913 |
+ |
fDecomp_->collectSelfData(); |
914 |
+ |
|
915 |
+ |
longRangePotential = *(fDecomp_->getEmbeddingPotential()) + |
916 |
+ |
*(fDecomp_->getPairwisePotential()); |
917 |
+ |
|
918 |
+ |
curSnapshot->setLongRangePotential(longRangePotential); |
919 |
|
|
920 |
|
curSnapshot->setExcludedPotentials(*(fDecomp_->getExcludedSelfPotential()) + |
921 |
|
*(fDecomp_->getExcludedPotential())); |