PmePencilXYZ Class Reference

#include <PmeSolver.h>

List of all members.

Public Member Functions

PmePencilXYZ_SDAG_CODE PmePencilXYZ ()
 PmePencilXYZ (CkMigrateMessage *m)
virtual ~PmePencilXYZ ()
void skip ()

Protected Member Functions

virtual void backwardDone ()
void submitReductions ()

Protected Attributes

PmeGrid pmeGrid
bool doEnergy
bool doVirial
FFTComputefftCompute
PmeKSpaceComputepmeKSpaceCompute
Lattice lattice
int numStrayAtoms


Detailed Description

Definition at line 136 of file PmeSolver.h.


Constructor & Destructor Documentation

PmePencilXYZ::PmePencilXYZ (  ) 

Definition at line 18 of file PmeSolver.C.

References doEnergy, doVirial, fftCompute, ReductionMgr::Object(), pmeKSpaceCompute, REDUCTIONS_BASIC, and ReductionMgr::willSubmit().

00018                            {
00019   __sdag_init();
00020   setMigratable(false);
00021   fftCompute = NULL;
00022   pmeKSpaceCompute = NULL;
00023   reduction = ReductionMgr::Object()->willSubmit(REDUCTIONS_BASIC);
00024   numSelfEnergyRecv = 0;
00025   selfEnergy = 0.0;
00026   doEnergy = false;
00027   doVirial = false;
00028 }

PmePencilXYZ::PmePencilXYZ ( CkMigrateMessage *  m  ) 

Definition at line 30 of file PmeSolver.C.

References NAMD_bug().

00030                                               {
00031   NAMD_bug("PmePencilXYZ cannot be migrated");
00032   //__sdag_init();
00033   // setMigratable(false);
00034   // fftCompute = NULL;
00035   // pmeKSpaceCompute = NULL;
00036   // reduction = ReductionMgr::Object()->willSubmit(REDUCTIONS_BASIC);
00037 }

PmePencilXYZ::~PmePencilXYZ (  )  [virtual]

Definition at line 39 of file PmeSolver.C.

References fftCompute, and pmeKSpaceCompute.

00039                             {
00040   if (fftCompute != NULL) delete fftCompute;
00041   if (pmeKSpaceCompute != NULL) delete pmeKSpaceCompute;
00042   delete reduction;
00043 }


Member Function Documentation

void PmePencilXYZ::backwardDone (  )  [protected, virtual]

Definition at line 69 of file PmeSolver.C.

References NAMD_bug().

00069                                 {
00070   NAMD_bug("PmePencilXYZ::backwardDone(), base class method called");
00071 }

void PmePencilXYZ::skip (  ) 

Definition at line 93 of file PmeSolver.C.

References SubmitReduction::submit().

00093                         {
00094   reduction->submit();  
00095 }

void PmePencilXYZ::submitReductions (  )  [protected]

Definition at line 73 of file PmeSolver.C.

References PmeKSpaceCompute::getEnergy(), PmeKSpaceCompute::getVirial(), SubmitReduction::item(), NAMD_bug(), numStrayAtoms, pmeKSpaceCompute, REDUCTION_ELECT_ENERGY_SLOW, REDUCTION_STRAY_CHARGE_ERRORS, and SubmitReduction::submit().

00073                                     {
00074   if (pmeKSpaceCompute == NULL)
00075     NAMD_bug("PmePencilXYZ::submitReductions, pmeKSpaceCompute not initialized");
00076   double virial[9];
00077   double energy = pmeKSpaceCompute->getEnergy();
00078   pmeKSpaceCompute->getVirial(virial);
00079   reduction->item(REDUCTION_ELECT_ENERGY_SLOW) += energy + selfEnergy;
00080   reduction->item(REDUCTION_VIRIAL_SLOW_XX) += virial[0];
00081   reduction->item(REDUCTION_VIRIAL_SLOW_XY) += virial[1];
00082   reduction->item(REDUCTION_VIRIAL_SLOW_XZ) += virial[2];
00083   reduction->item(REDUCTION_VIRIAL_SLOW_YX) += virial[3];
00084   reduction->item(REDUCTION_VIRIAL_SLOW_YY) += virial[4];
00085   reduction->item(REDUCTION_VIRIAL_SLOW_YZ) += virial[5];
00086   reduction->item(REDUCTION_VIRIAL_SLOW_ZX) += virial[6];
00087   reduction->item(REDUCTION_VIRIAL_SLOW_ZY) += virial[7];
00088   reduction->item(REDUCTION_VIRIAL_SLOW_ZZ) += virial[8];
00089   reduction->item(REDUCTION_STRAY_CHARGE_ERRORS) += numStrayAtoms;
00090   reduction->submit();
00091 }


Member Data Documentation

bool PmePencilXYZ::doEnergy [protected]

Definition at line 145 of file PmeSolver.h.

Referenced by PmePencilXYZ().

bool PmePencilXYZ::doVirial [protected]

Definition at line 145 of file PmeSolver.h.

Referenced by PmePencilXYZ().

FFTCompute* PmePencilXYZ::fftCompute [protected]

Definition at line 146 of file PmeSolver.h.

Referenced by PmePencilXYZ(), and ~PmePencilXYZ().

Lattice PmePencilXYZ::lattice [protected]

Definition at line 148 of file PmeSolver.h.

int PmePencilXYZ::numStrayAtoms [protected]

Definition at line 149 of file PmeSolver.h.

Referenced by submitReductions().

PmeGrid PmePencilXYZ::pmeGrid [protected]

Definition at line 144 of file PmeSolver.h.

PmeKSpaceCompute* PmePencilXYZ::pmeKSpaceCompute [protected]

Definition at line 147 of file PmeSolver.h.

Referenced by PmePencilXYZ(), submitReductions(), and ~PmePencilXYZ().


The documentation for this class was generated from the following files:
Generated on Sat Sep 23 01:17:21 2017 for NAMD by  doxygen 1.4.7