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

#include <PmeSolver.h>

Inheritance diagram for PmePencilXY:

Public Member Functions

PmePencilXY_SDAG_CODE PmePencilXY ()
 
 PmePencilXY (CkMigrateMessage *m)
 
virtual ~PmePencilXY ()
 

Protected Member Functions

void initBlockSizes ()
 

Protected Attributes

PmeGrid pmeGrid
 
bool doEnergy
 
bool doVirial
 
FFTComputefftCompute
 
PmeTransposepmeTranspose
 
std::vector< int > blockSizes
 
Lattice lattice
 
int numStrayAtoms
 
int imsg
 

Detailed Description

Definition at line 157 of file PmeSolver.h.

Constructor & Destructor Documentation

PmePencilXY::PmePencilXY ( )

Definition at line 121 of file PmeSolver.C.

References fftCompute, and pmeTranspose.

121  {
122  __sdag_init();
123  setMigratable(false);
124  fftCompute = NULL;
125  pmeTranspose = NULL;
126 }
PmeTranspose * pmeTranspose
Definition: PmeSolver.h:167
FFTCompute * fftCompute
Definition: PmeSolver.h:166
PmePencilXY::PmePencilXY ( CkMigrateMessage *  m)

Definition at line 128 of file PmeSolver.C.

References NAMD_bug().

128  {
129  NAMD_bug("PmePencilXY cannot be migrated");
130 //__sdag_init();
131  // setMigratable(false);
132  // fftCompute = NULL;
133  // pmeTranspose = NULL;
134 }
void NAMD_bug(const char *err_msg)
Definition: common.C:123
PmePencilXY::~PmePencilXY ( )
virtual

Definition at line 136 of file PmeSolver.C.

References fftCompute, and pmeTranspose.

136  {
137  if (fftCompute != NULL) delete fftCompute;
138  if (pmeTranspose != NULL) delete pmeTranspose;
139 }
PmeTranspose * pmeTranspose
Definition: PmeSolver.h:167
FFTCompute * fftCompute
Definition: PmeSolver.h:166

Member Function Documentation

void PmePencilXY::initBlockSizes ( )
protected

Definition at line 159 of file PmeSolver.C.

References blockSizes, getBlockDim(), Perm_cX_Y_Z, pmeGrid, x, and PmeGrid::xBlocks.

159  {
160  blockSizes.resize(pmeGrid.xBlocks);
161  for (int x=0;x < pmeGrid.xBlocks;x++) {
162  int i0, i1, j0, j1, k0, k1;
163  getBlockDim(pmeGrid, Perm_cX_Y_Z, x, 0, thisIndex.z,
164  i0, i1, j0, j1, k0, k1);
165  int size = (i1-i0+1)*(j1-j0+1)*(k1-k0+1);
166  blockSizes[x] = size;
167  }
168 }
PmeGrid pmeGrid
Definition: PmeSolver.h:164
std::vector< int > blockSizes
Definition: PmeSolver.h:168
static void getBlockDim(const PmeGrid &pmeGrid, const int permutation, const int iblock, const int jblock, const int kblock, int &i0, int &i1, int &j0, int &j1, int &k0, int &k1)
Definition: PmeSolverUtil.h:86
int xBlocks
Definition: PmeBase.h:22
gridSize x

Member Data Documentation

std::vector<int> PmePencilXY::blockSizes
protected

Definition at line 168 of file PmeSolver.h.

Referenced by initBlockSizes().

bool PmePencilXY::doEnergy
protected

Definition at line 165 of file PmeSolver.h.

bool PmePencilXY::doVirial
protected

Definition at line 165 of file PmeSolver.h.

FFTCompute* PmePencilXY::fftCompute
protected

Definition at line 166 of file PmeSolver.h.

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

int PmePencilXY::imsg
protected

Definition at line 172 of file PmeSolver.h.

Lattice PmePencilXY::lattice
protected

Definition at line 169 of file PmeSolver.h.

int PmePencilXY::numStrayAtoms
protected

Definition at line 170 of file PmeSolver.h.

PmeGrid PmePencilXY::pmeGrid
protected

Definition at line 164 of file PmeSolver.h.

Referenced by initBlockSizes().

PmeTranspose* PmePencilXY::pmeTranspose
protected

Definition at line 167 of file PmeSolver.h.

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


The documentation for this class was generated from the following files: