657 NAMD_bug(
"PmePencilZ::submitReductions, pmeKSpaceCompute not initialized");
664 double energy_F = energy;
674 scale1 = elecLambdaUp;
675 scale2 = elecLambda2Up;
683 scale1 = elecLambdaDown;
684 scale2 = elecLambda2Down;
692 scale1 = 1.0 - elecLambdaUp;
693 scale2 = 1.0 - elecLambda2Up;
701 scale1 = 1.0 - elecLambdaDown;
702 scale2 = 1.0 - elecLambda2Down;
712 scale1 = -1.0 * (elecLambdaUp + elecLambdaDown - 1.0);
713 scale2 = -1.0 * (elecLambda2Up + elecLambda2Down - 1.0);
719 for (
size_t i = 0; i < 9; ++i) {
725 double energy_TI_1 = 0.0;
726 double energy_TI_2 = 0.0;
732 scale1 = elecLambdaUp;
733 energy_TI_1 = energy;
739 scale1 = elecLambdaDown;
740 energy_TI_2 = energy;
746 scale1 = 1.0 - elecLambdaUp;
747 energy_TI_1 = -1.0 * energy;
753 scale1 = 1.0 - elecLambdaDown;
754 energy_TI_2 = -1.0 * energy;
761 scale1 = -1.0 * (elecLambdaUp + elecLambdaDown - 1.0);
762 energy_TI_1 = -1.0 * energy;
763 energy_TI_2 = -1.0 * energy;
773 reduction->
item(REDUCTION_VIRIAL_SLOW_XX) += virial[0];
774 reduction->
item(REDUCTION_VIRIAL_SLOW_XY) += virial[1];
775 reduction->
item(REDUCTION_VIRIAL_SLOW_XZ) += virial[2];
776 reduction->
item(REDUCTION_VIRIAL_SLOW_YX) += virial[3];
777 reduction->
item(REDUCTION_VIRIAL_SLOW_YY) += virial[4];
778 reduction->
item(REDUCTION_VIRIAL_SLOW_YZ) += virial[5];
779 reduction->
item(REDUCTION_VIRIAL_SLOW_ZX) += virial[6];
780 reduction->
item(REDUCTION_VIRIAL_SLOW_ZY) += virial[7];
781 reduction->
item(REDUCTION_VIRIAL_SLOW_ZZ) += virial[8];
785 bool ready_to_submit =
true;
790 if (ready_to_submit) {
std::array< PmeKSpaceCompute *, NUM_GRID_MAX > pmeKSpaceComputes
virtual void submit(void)=0
SimParameters * simParameters
const unsigned int NUM_GRID_MAX
void NAMD_bug(const char *err_msg)
std::array< int, NUM_GRID_MAX > energyReady