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
 
int simulationStep
 
std::array< FFTCompute *, NUM_GRID_MAXfftComputes
 
std::array< PmeTranspose *, NUM_GRID_MAXpmeTransposes
 
std::vector< int > blockSizes
 
Lattice lattice
 
int numStrayAtoms
 
int imsg
 

Detailed Description

Definition at line 168 of file PmeSolver.h.

Constructor & Destructor Documentation

◆ PmePencilXY() [1/2]

PmePencilXY::PmePencilXY ( )

Definition at line 276 of file PmeSolver.C.

References fftComputes, NUM_GRID_MAX, and pmeTransposes.

276  {
277  __sdag_init();
278  setMigratable(false);
279  for (unsigned int iGrid = 0; iGrid < NUM_GRID_MAX; ++iGrid) {
280  pmeTransposes[iGrid] = NULL;
281  fftComputes[iGrid] = NULL;
282  }
283 }
std::array< FFTCompute *, NUM_GRID_MAX > fftComputes
Definition: PmeSolver.h:178
std::array< PmeTranspose *, NUM_GRID_MAX > pmeTransposes
Definition: PmeSolver.h:179
const unsigned int NUM_GRID_MAX
Definition: PmeSolverUtil.h:9

◆ PmePencilXY() [2/2]

PmePencilXY::PmePencilXY ( CkMigrateMessage *  m)

Definition at line 285 of file PmeSolver.C.

References NAMD_bug().

285  {
286  NAMD_bug("PmePencilXY cannot be migrated");
287 //__sdag_init();
288  // setMigratable(false);
289  // fftCompute = NULL;
290  // pmeTranspose = NULL;
291 }
void NAMD_bug(const char *err_msg)
Definition: common.C:195

◆ ~PmePencilXY()

PmePencilXY::~PmePencilXY ( )
virtual

Definition at line 293 of file PmeSolver.C.

References fftComputes, NUM_GRID_MAX, and pmeTransposes.

293  {
294 // if (fftCompute != NULL) delete fftCompute;
295 // if (pmeTranspose != NULL) delete pmeTranspose;
296 // if (fftCompute2 != NULL) delete fftCompute2;
297 // if (pmeTranspose2 != NULL) delete pmeTranspose2;
298  for (unsigned int iGrid = 0; iGrid < NUM_GRID_MAX; ++iGrid) {
299  if (pmeTransposes[iGrid] != NULL) delete pmeTransposes[iGrid];
300  if (fftComputes[iGrid] != NULL) delete fftComputes[iGrid];
301  }
302 }
std::array< FFTCompute *, NUM_GRID_MAX > fftComputes
Definition: PmeSolver.h:178
std::array< PmeTranspose *, NUM_GRID_MAX > pmeTransposes
Definition: PmeSolver.h:179
const unsigned int NUM_GRID_MAX
Definition: PmeSolverUtil.h:9

Member Function Documentation

◆ initBlockSizes()

void PmePencilXY::initBlockSizes ( )
protected

Definition at line 332 of file PmeSolver.C.

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

332  {
333  blockSizes.resize(pmeGrid.xBlocks);
334  for (int x=0;x < pmeGrid.xBlocks;x++) {
335  int i0, i1, j0, j1, k0, k1;
336  getBlockDim(pmeGrid, Perm_cX_Y_Z, x, 0, thisIndex.z,
337  i0, i1, j0, j1, k0, k1);
338  int size = (i1-i0+1)*(j1-j0+1)*(k1-k0+1);
339  blockSizes[x] = size;
340  }
341 }
PmeGrid pmeGrid
Definition: PmeSolver.h:175
std::vector< int > blockSizes
Definition: PmeSolver.h:180
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:89
int xBlocks
Definition: PmeBase.h:25

Member Data Documentation

◆ blockSizes

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

Definition at line 180 of file PmeSolver.h.

Referenced by initBlockSizes().

◆ doEnergy

bool PmePencilXY::doEnergy
protected

Definition at line 176 of file PmeSolver.h.

◆ doVirial

bool PmePencilXY::doVirial
protected

Definition at line 176 of file PmeSolver.h.

◆ fftComputes

std::array<FFTCompute*, NUM_GRID_MAX> PmePencilXY::fftComputes
protected

Definition at line 178 of file PmeSolver.h.

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

◆ imsg

int PmePencilXY::imsg
protected

Definition at line 184 of file PmeSolver.h.

◆ lattice

Lattice PmePencilXY::lattice
protected

Definition at line 181 of file PmeSolver.h.

◆ numStrayAtoms

int PmePencilXY::numStrayAtoms
protected

Definition at line 182 of file PmeSolver.h.

◆ pmeGrid

PmeGrid PmePencilXY::pmeGrid
protected

Definition at line 175 of file PmeSolver.h.

Referenced by initBlockSizes().

◆ pmeTransposes

std::array<PmeTranspose*, NUM_GRID_MAX> PmePencilXY::pmeTransposes
protected

Definition at line 179 of file PmeSolver.h.

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

◆ simulationStep

int PmePencilXY::simulationStep
protected

Definition at line 177 of file PmeSolver.h.


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