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

Constructor & Destructor Documentation

◆ PmePencilY() [1/2]

PmePencilY::PmePencilY ( )

Definition at line 479 of file PmeSolver.C.

References fftComputes, NUM_GRID_MAX, numStrayAtoms, and pmeTransposes.

479  {
480  __sdag_init();
481  setMigratable(false);
482  for (unsigned int iGrid = 0; iGrid < NUM_GRID_MAX; ++iGrid) {
483  pmeTransposes[iGrid] = NULL;
484  fftComputes[iGrid] = NULL;
485  }
486  numStrayAtoms = 0;
487 }
const unsigned int NUM_GRID_MAX
Definition: PmeSolverUtil.h:9
int numStrayAtoms
Definition: PmeSolver.h:238
std::array< PmeTranspose *, NUM_GRID_MAX > pmeTransposes
Definition: PmeSolver.h:235
std::array< FFTCompute *, NUM_GRID_MAX > fftComputes
Definition: PmeSolver.h:234

◆ PmePencilY() [2/2]

PmePencilY::PmePencilY ( CkMigrateMessage *  m)

Definition at line 489 of file PmeSolver.C.

References NAMD_bug().

489  {
490  NAMD_bug("PmePencilY cannot be migrated");
491  // __sdag_init();
492  // setMigratable(false);
493  // fftCompute = NULL;
494  // pmeTranspose = NULL;
495 }
void NAMD_bug(const char *err_msg)
Definition: common.C:195

◆ ~PmePencilY()

PmePencilY::~PmePencilY ( )
virtual

Definition at line 497 of file PmeSolver.C.

References fftComputes, NUM_GRID_MAX, and pmeTransposes.

497  {
498  for (unsigned int iGrid = 0; iGrid < NUM_GRID_MAX; ++iGrid) {
499  if (pmeTransposes[iGrid] != NULL) delete pmeTransposes[iGrid];
500  if (fftComputes[iGrid] != NULL) delete fftComputes[iGrid];
501  }
502 }
const unsigned int NUM_GRID_MAX
Definition: PmeSolverUtil.h:9
std::array< PmeTranspose *, NUM_GRID_MAX > pmeTransposes
Definition: PmeSolver.h:235
std::array< FFTCompute *, NUM_GRID_MAX > fftComputes
Definition: PmeSolver.h:234

Member Function Documentation

◆ initBlockSizes()

void PmePencilY::initBlockSizes ( )
protected

Definition at line 532 of file PmeSolver.C.

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

532  {
533  blockSizes.resize(pmeGrid.yBlocks);
534  for (int y=0;y < pmeGrid.yBlocks;y++) {
535  int i0, i1, j0, j1, k0, k1;
536  getBlockDim(pmeGrid, Perm_Y_Z_cX, y, thisIndex.z, thisIndex.x,
537  i0, i1, j0, j1, k0, k1);
538  int size = (i1-i0+1)*(j1-j0+1)*(k1-k0+1);
539  blockSizes[y] = size;
540  }
541 }
std::vector< int > blockSizes
Definition: PmeSolver.h:236
int yBlocks
Definition: PmeBase.h:25
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
PmeGrid pmeGrid
Definition: PmeSolver.h:231

Member Data Documentation

◆ blockSizes

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

Definition at line 236 of file PmeSolver.h.

Referenced by initBlockSizes().

◆ doEnergy

bool PmePencilY::doEnergy
protected

Definition at line 232 of file PmeSolver.h.

◆ doVirial

bool PmePencilY::doVirial
protected

Definition at line 232 of file PmeSolver.h.

◆ fftComputes

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

Definition at line 234 of file PmeSolver.h.

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

◆ imsg

int PmePencilY::imsg
protected

Definition at line 240 of file PmeSolver.h.

◆ lattice

Lattice PmePencilY::lattice
protected

Definition at line 237 of file PmeSolver.h.

◆ numStrayAtoms

int PmePencilY::numStrayAtoms
protected

Definition at line 238 of file PmeSolver.h.

Referenced by PmePencilY().

◆ pmeGrid

PmeGrid PmePencilY::pmeGrid
protected

Definition at line 231 of file PmeSolver.h.

Referenced by initBlockSizes().

◆ pmeTransposes

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

Definition at line 235 of file PmeSolver.h.

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

◆ simulationStep

int PmePencilY::simulationStep
protected

Definition at line 233 of file PmeSolver.h.


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