NAMD
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
PmePencilXYZ Class Reference

#include <PmeSolver.h>

Inheritance diagram for PmePencilXYZ:

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 20 of file PmeSolver.C.

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

20  {
21  __sdag_init();
22  setMigratable(false);
23  fftCompute = NULL;
24  pmeKSpaceCompute = NULL;
26  doEnergy = false;
27  doVirial = false;
28 }
FFTCompute * fftCompute
Definition: PmeSolver.h:141
SubmitReduction * willSubmit(int setID, int size=-1)
Definition: ReductionMgr.C:365
static ReductionMgr * Object(void)
Definition: ReductionMgr.h:278
bool doVirial
Definition: PmeSolver.h:140
PmeKSpaceCompute * pmeKSpaceCompute
Definition: PmeSolver.h:142
bool doEnergy
Definition: PmeSolver.h:140
PmePencilXYZ::PmePencilXYZ ( CkMigrateMessage *  m)

Definition at line 30 of file PmeSolver.C.

References NAMD_bug().

30  {
31  NAMD_bug("PmePencilXYZ cannot be migrated");
32  //__sdag_init();
33  // setMigratable(false);
34  // fftCompute = NULL;
35  // pmeKSpaceCompute = NULL;
36  // reduction = ReductionMgr::Object()->willSubmit(REDUCTIONS_BASIC);
37 }
void NAMD_bug(const char *err_msg)
Definition: common.C:129
PmePencilXYZ::~PmePencilXYZ ( )
virtual

Definition at line 39 of file PmeSolver.C.

References fftCompute, and pmeKSpaceCompute.

39  {
40  if (fftCompute != NULL) delete fftCompute;
41  if (pmeKSpaceCompute != NULL) delete pmeKSpaceCompute;
42  delete reduction;
43 }
FFTCompute * fftCompute
Definition: PmeSolver.h:141
PmeKSpaceCompute * pmeKSpaceCompute
Definition: PmeSolver.h:142

Member Function Documentation

void PmePencilXYZ::backwardDone ( )
protectedvirtual

Definition at line 69 of file PmeSolver.C.

References NAMD_bug().

69  {
70  NAMD_bug("PmePencilXYZ::backwardDone(), base class method called");
71 }
void NAMD_bug(const char *err_msg)
Definition: common.C:129
void PmePencilXYZ::skip ( void  )

Definition at line 93 of file PmeSolver.C.

References SubmitReduction::submit().

93  {
94  reduction->submit();
95 }
void submit(void)
Definition: ReductionMgr.h:323
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().

73  {
74  if (pmeKSpaceCompute == NULL)
75  NAMD_bug("PmePencilXYZ::submitReductions, pmeKSpaceCompute not initialized");
76  double virial[9];
77  double energy = pmeKSpaceCompute->getEnergy();
78  pmeKSpaceCompute->getVirial(virial);
79  reduction->item(REDUCTION_ELECT_ENERGY_SLOW) += energy;
80  reduction->item(REDUCTION_VIRIAL_SLOW_XX) += virial[0];
81  reduction->item(REDUCTION_VIRIAL_SLOW_XY) += virial[1];
82  reduction->item(REDUCTION_VIRIAL_SLOW_XZ) += virial[2];
83  reduction->item(REDUCTION_VIRIAL_SLOW_YX) += virial[3];
84  reduction->item(REDUCTION_VIRIAL_SLOW_YY) += virial[4];
85  reduction->item(REDUCTION_VIRIAL_SLOW_YZ) += virial[5];
86  reduction->item(REDUCTION_VIRIAL_SLOW_ZX) += virial[6];
87  reduction->item(REDUCTION_VIRIAL_SLOW_ZY) += virial[7];
88  reduction->item(REDUCTION_VIRIAL_SLOW_ZZ) += virial[8];
90  reduction->submit();
91 }
BigReal & item(int i)
Definition: ReductionMgr.h:312
int numStrayAtoms
Definition: PmeSolver.h:144
void NAMD_bug(const char *err_msg)
Definition: common.C:129
PmeKSpaceCompute * pmeKSpaceCompute
Definition: PmeSolver.h:142
virtual void getVirial(double *virial)=0
void submit(void)
Definition: ReductionMgr.h:323
virtual double getEnergy()=0

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: