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

#include <PmeSolver.h>

Inheritance diagram for PmePencilY:

Public Member Functions

PmePencilY_SDAG_CODE PmePencilY ()
 PmePencilY (CkMigrateMessage *m)
virtual ~PmePencilY ()

Protected Member Functions

void initBlockSizes ()

Protected Attributes

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

Detailed Description

Definition at line 211 of file PmeSolver.h.

Constructor & Destructor Documentation

PmePencilY::PmePencilY ( )

Definition at line 292 of file PmeSolver.C.

References fftCompute, numStrayAtoms, and pmeTranspose.

292  {
293  __sdag_init();
294  setMigratable(false);
295  fftCompute = NULL;
296  pmeTranspose = NULL;
297  numStrayAtoms = 0;
298 }
PmeTranspose * pmeTranspose
Definition: PmeSolver.h:221
int numStrayAtoms
Definition: PmeSolver.h:224
FFTCompute * fftCompute
Definition: PmeSolver.h:220
PmePencilY::PmePencilY ( CkMigrateMessage *  m)

Definition at line 300 of file PmeSolver.C.

References NAMD_bug().

300  {
301  NAMD_bug("PmePencilY cannot be migrated");
302  // __sdag_init();
303  // setMigratable(false);
304  // fftCompute = NULL;
305  // pmeTranspose = NULL;
306 }
void NAMD_bug(const char *err_msg)
Definition: common.C:123
PmePencilY::~PmePencilY ( )

Definition at line 308 of file PmeSolver.C.

References fftCompute, and pmeTranspose.

308  {
309  if (fftCompute != NULL) delete fftCompute;
310  if (pmeTranspose != NULL) delete pmeTranspose;
311 }
PmeTranspose * pmeTranspose
Definition: PmeSolver.h:221
FFTCompute * fftCompute
Definition: PmeSolver.h:220

Member Function Documentation

void PmePencilY::initBlockSizes ( )

Definition at line 331 of file PmeSolver.C.

References blockSizes, getBlockDim(), Perm_Y_Z_cX, pmeGrid, y, and PmeGrid::yBlocks.

331  {
332  blockSizes.resize(pmeGrid.yBlocks);
333  for (int y=0;y < pmeGrid.yBlocks;y++) {
334  int i0, i1, j0, j1, k0, k1;
335  getBlockDim(pmeGrid, Perm_Y_Z_cX, y, thisIndex.z, thisIndex.x,
336  i0, i1, j0, j1, k0, k1);
337  int size = (i1-i0+1)*(j1-j0+1)*(k1-k0+1);
338  blockSizes[y] = size;
339  }
340 }
std::vector< int > blockSizes
Definition: PmeSolver.h:222
int yBlocks
Definition: PmeBase.h:22
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
gridSize y
PmeGrid pmeGrid
Definition: PmeSolver.h:218

Member Data Documentation

std::vector<int> PmePencilY::blockSizes

Definition at line 222 of file PmeSolver.h.

Referenced by initBlockSizes().

bool PmePencilY::doEnergy

Definition at line 219 of file PmeSolver.h.

bool PmePencilY::doVirial

Definition at line 219 of file PmeSolver.h.

FFTCompute* PmePencilY::fftCompute

Definition at line 220 of file PmeSolver.h.

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

int PmePencilY::imsg

Definition at line 226 of file PmeSolver.h.

Lattice PmePencilY::lattice

Definition at line 223 of file PmeSolver.h.

int PmePencilY::numStrayAtoms

Definition at line 224 of file PmeSolver.h.

Referenced by PmePencilY().

PmeGrid PmePencilY::pmeGrid

Definition at line 218 of file PmeSolver.h.

Referenced by initBlockSizes().

PmeTranspose* PmePencilY::pmeTranspose

Definition at line 221 of file PmeSolver.h.

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

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