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 131 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   doEnergy = false;
00025   doVirial = false;
00026 }

PmePencilXYZ::PmePencilXYZ ( CkMigrateMessage *  m  ) 

Definition at line 28 of file PmeSolver.C.

References NAMD_bug().

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

PmePencilXYZ::~PmePencilXYZ (  )  [virtual]

Definition at line 37 of file PmeSolver.C.

References fftCompute, and pmeKSpaceCompute.

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


Member Function Documentation

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

Definition at line 67 of file PmeSolver.C.

References NAMD_bug().

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

void PmePencilXYZ::skip (  ) 

Definition at line 91 of file PmeSolver.C.

References SubmitReduction::submit().

00091                         {
00092   reduction->submit();  
00093 }

void PmePencilXYZ::submitReductions (  )  [protected]

Definition at line 71 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().

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


Member Data Documentation

bool PmePencilXYZ::doEnergy [protected]

Definition at line 140 of file PmeSolver.h.

Referenced by PmePencilXYZ().

bool PmePencilXYZ::doVirial [protected]

Definition at line 140 of file PmeSolver.h.

Referenced by PmePencilXYZ().

FFTCompute* PmePencilXYZ::fftCompute [protected]

Definition at line 141 of file PmeSolver.h.

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

Lattice PmePencilXYZ::lattice [protected]

Definition at line 143 of file PmeSolver.h.

int PmePencilXYZ::numStrayAtoms [protected]

Definition at line 144 of file PmeSolver.h.

Referenced by submitReductions().

PmeGrid PmePencilXYZ::pmeGrid [protected]

Definition at line 139 of file PmeSolver.h.

PmeKSpaceCompute* PmePencilXYZ::pmeKSpaceCompute [protected]

Definition at line 142 of file PmeSolver.h.

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


The documentation for this class was generated from the following files:
Generated on Thu Oct 18 01:17:21 2018 for NAMD by  doxygen 1.4.7