104 NAMD_bug(
"PmePencilXYZ::submitReductions, pmeKSpaceCompute not initialized");
111 double energy_F = energy;
120 scale1 = elecLambdaUp;
121 scale2 = elecLambda2Up;
129 scale1 = elecLambdaDown;
130 scale2 = elecLambda2Down;
138 scale1 = 1.0 - elecLambdaUp;
139 scale2 = 1.0 - elecLambda2Up;
147 scale1 = 1.0 - elecLambdaDown;
148 scale2 = 1.0 - elecLambda2Down;
158 scale1 = -1.0 * (elecLambdaUp + elecLambdaDown - 1.0);
159 scale2 = -1.0 * (elecLambda2Up + elecLambda2Down - 1.0);
166 for (
size_t i = 0; i < 9; ++i) {
169 #if NODEGROUP_FORCE_REGISTER 175 double energy_TI_1 = 0.0;
176 double energy_TI_2 = 0.0;
182 scale1 = elecLambdaUp;
183 energy_TI_1 = energy;
189 scale1 = elecLambdaDown;
190 energy_TI_2 = energy;
196 scale1 = 1.0 - elecLambdaUp;
197 energy_TI_1 = -1.0 * energy;
203 scale1 = 1.0 - elecLambdaDown;
204 energy_TI_2 = -1.0 * energy;
211 scale1 = -1.0 * (elecLambdaUp + elecLambdaDown - 1.0);
212 energy_TI_1 = -1.0 * energy;
213 energy_TI_2 = -1.0 * energy;
217 for (
size_t i = 0; i < 9; ++i) {
222 #if NODEGROUP_FORCE_REGISTER 230 #ifdef NODEGROUP_FORCE_REGISTER 234 nodeReduction->item(REDUCTION_VIRIAL_SLOW_XX) += virial[0];
235 nodeReduction->item(REDUCTION_VIRIAL_SLOW_XY) += virial[1];
236 nodeReduction->item(REDUCTION_VIRIAL_SLOW_XZ) += virial[2];
237 nodeReduction->item(REDUCTION_VIRIAL_SLOW_YX) += virial[3];
238 nodeReduction->item(REDUCTION_VIRIAL_SLOW_YY) += virial[4];
239 nodeReduction->item(REDUCTION_VIRIAL_SLOW_YZ) += virial[5];
240 nodeReduction->item(REDUCTION_VIRIAL_SLOW_ZX) += virial[6];
241 nodeReduction->item(REDUCTION_VIRIAL_SLOW_ZY) += virial[7];
242 nodeReduction->item(REDUCTION_VIRIAL_SLOW_ZZ) += virial[8];
245 reduction->
item(REDUCTION_VIRIAL_SLOW_XX) += virial[0];
246 reduction->
item(REDUCTION_VIRIAL_SLOW_XY) += virial[1];
247 reduction->
item(REDUCTION_VIRIAL_SLOW_XZ) += virial[2];
248 reduction->
item(REDUCTION_VIRIAL_SLOW_YX) += virial[3];
249 reduction->
item(REDUCTION_VIRIAL_SLOW_YY) += virial[4];
250 reduction->
item(REDUCTION_VIRIAL_SLOW_YZ) += virial[5];
251 reduction->
item(REDUCTION_VIRIAL_SLOW_ZX) += virial[6];
252 reduction->
item(REDUCTION_VIRIAL_SLOW_ZY) += virial[7];
253 reduction->
item(REDUCTION_VIRIAL_SLOW_ZZ) += virial[8];
257 bool ready_to_submit =
true;
262 if (ready_to_submit) {
SimParameters * simParameters
const unsigned int NUM_GRID_MAX
std::array< int, NUM_GRID_MAX > energyReady
std::array< PmeKSpaceCompute *, NUM_GRID_MAX > pmeKSpaceComputes
void NAMD_bug(const char *err_msg)