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

References fftCompute, and pmeTranspose.

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

Definition at line 130 of file PmeSolver.C.

References NAMD_bug().

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

Definition at line 138 of file PmeSolver.C.

References fftCompute, and pmeTranspose.

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

Member Function Documentation

void PmePencilXY::initBlockSizes ( )
protected

Definition at line 161 of file PmeSolver.C.

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

161  {
162  blockSizes.resize(pmeGrid.xBlocks);
163  for (int x=0;x < pmeGrid.xBlocks;x++) {
164  int i0, i1, j0, j1, k0, k1;
165  getBlockDim(pmeGrid, Perm_cX_Y_Z, x, 0, thisIndex.z,
166  i0, i1, j0, j1, k0, k1);
167  int size = (i1-i0+1)*(j1-j0+1)*(k1-k0+1);
168  blockSizes[x] = size;
169  }
170 }
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: