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

References fftCompute, numStrayAtoms, and pmeTranspose.

222  {
223  __sdag_init();
224  setMigratable(false);
225  fftCompute = NULL;
226  pmeTranspose = NULL;
227  numStrayAtoms = 0;
228 }
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 230 of file PmeSolver.C.

References NAMD_bug().

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

Definition at line 238 of file PmeSolver.C.

References fftCompute, and pmeTranspose.

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

Member Function Documentation

void PmePencilX::initBlockSizes ( )
protected

Definition at line 261 of file PmeSolver.C.

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

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