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

#include <PmeSolver.h>

Inheritance diagram for PmePencilX:

Public Member Functions

PmePencilX_SDAG_CODE PmePencilX ()
 
 PmePencilX (CkMigrateMessage *m)
 
virtual ~PmePencilX ()
 

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 184 of file PmeSolver.h.

Constructor & Destructor Documentation

PmePencilX::PmePencilX ( )

Definition at line 224 of file PmeSolver.C.

References fftCompute, numStrayAtoms, and pmeTranspose.

224  {
225  __sdag_init();
226  setMigratable(false);
227  fftCompute = NULL;
228  pmeTranspose = NULL;
229  numStrayAtoms = 0;
230 }
FFTCompute * fftCompute
Definition: PmeSolver.h:193
PmeTranspose * pmeTranspose
Definition: PmeSolver.h:194
int numStrayAtoms
Definition: PmeSolver.h:197
PmePencilX::PmePencilX ( CkMigrateMessage *  m)

Definition at line 232 of file PmeSolver.C.

References NAMD_bug().

232  {
233  NAMD_bug("PmePencilX cannot be migrated");
234 //__sdag_init();
235  // setMigratable(false);
236  // fftCompute = NULL;
237  // pmeTranspose = NULL;
238 }
void NAMD_bug(const char *err_msg)
Definition: common.C:129
PmePencilX::~PmePencilX ( )
virtual

Definition at line 240 of file PmeSolver.C.

References fftCompute, and pmeTranspose.

240  {
241  if (fftCompute != NULL) delete fftCompute;
242  if (pmeTranspose != NULL) delete pmeTranspose;
243 }
FFTCompute * fftCompute
Definition: PmeSolver.h:193
PmeTranspose * pmeTranspose
Definition: PmeSolver.h:194

Member Function Documentation

void PmePencilX::initBlockSizes ( )
protected

Definition at line 263 of file PmeSolver.C.

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

263  {
264  blockSizes.resize(pmeGrid.xBlocks);
265  for (int x=0;x < pmeGrid.xBlocks;x++) {
266  int i0, i1, j0, j1, k0, k1;
267  getBlockDim(pmeGrid, Perm_cX_Y_Z, x, thisIndex.y, thisIndex.z,
268  i0, i1, j0, j1, k0, k1);
269  int size = (i1-i0+1)*(j1-j0+1)*(k1-k0+1);
270  blockSizes[x] = size;
271  }
272 }
std::vector< int > blockSizes
Definition: PmeSolver.h:195
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
PmeGrid pmeGrid
Definition: PmeSolver.h:191

Member Data Documentation

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

Definition at line 195 of file PmeSolver.h.

Referenced by initBlockSizes().

bool PmePencilX::doEnergy
protected

Definition at line 192 of file PmeSolver.h.

bool PmePencilX::doVirial
protected

Definition at line 192 of file PmeSolver.h.

FFTCompute* PmePencilX::fftCompute
protected

Definition at line 193 of file PmeSolver.h.

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

int PmePencilX::imsg
protected

Definition at line 199 of file PmeSolver.h.

Lattice PmePencilX::lattice
protected

Definition at line 196 of file PmeSolver.h.

int PmePencilX::numStrayAtoms
protected

Definition at line 197 of file PmeSolver.h.

Referenced by PmePencilX().

PmeGrid PmePencilX::pmeGrid
protected

Definition at line 191 of file PmeSolver.h.

Referenced by initBlockSizes().

PmeTranspose* PmePencilX::pmeTranspose
protected

Definition at line 194 of file PmeSolver.h.

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


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