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

References fftCompute, numStrayAtoms, and pmeTranspose.

294  {
295  __sdag_init();
296  setMigratable(false);
297  fftCompute = NULL;
298  pmeTranspose = NULL;
299  numStrayAtoms = 0;
300 }
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 302 of file PmeSolver.C.

References NAMD_bug().

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

Definition at line 310 of file PmeSolver.C.

References fftCompute, and pmeTranspose.

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

Member Function Documentation

void PmePencilY::initBlockSizes ( )

Definition at line 333 of file PmeSolver.C.

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

333  {
334  blockSizes.resize(pmeGrid.yBlocks);
335  for (int y=0;y < pmeGrid.yBlocks;y++) {
336  int i0, i1, j0, j1, k0, k1;
337  getBlockDim(pmeGrid, Perm_Y_Z_cX, y, thisIndex.z, thisIndex.x,
338  i0, i1, j0, j1, k0, k1);
339  int size = (i1-i0+1)*(j1-j0+1)*(k1-k0+1);
340  blockSizes[y] = size;
341  }
342 }
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: