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

Constructor & Destructor Documentation

◆ PmePencilY() [1/2]

PmePencilY::PmePencilY ( )

Definition at line 506 of file PmeSolver.C.

References fftComputes, NUM_GRID_MAX, numStrayAtoms, and pmeTransposes.

506  {
507  __sdag_init();
508  setMigratable(false);
509  for (unsigned int iGrid = 0; iGrid < NUM_GRID_MAX; ++iGrid) {
510  pmeTransposes[iGrid] = NULL;
511  fftComputes[iGrid] = NULL;
512  }
513  numStrayAtoms = 0;
514 }
const unsigned int NUM_GRID_MAX
Definition: PmeSolverUtil.h:9
int numStrayAtoms
Definition: PmeSolver.h:242
std::array< PmeTranspose *, NUM_GRID_MAX > pmeTransposes
Definition: PmeSolver.h:239
std::array< FFTCompute *, NUM_GRID_MAX > fftComputes
Definition: PmeSolver.h:238

◆ PmePencilY() [2/2]

PmePencilY::PmePencilY ( CkMigrateMessage *  m)

Definition at line 516 of file PmeSolver.C.

References NAMD_bug().

516  {
517  NAMD_bug("PmePencilY cannot be migrated");
518  // __sdag_init();
519  // setMigratable(false);
520  // fftCompute = NULL;
521  // pmeTranspose = NULL;
522 }
void NAMD_bug(const char *err_msg)
Definition: common.C:195

◆ ~PmePencilY()

PmePencilY::~PmePencilY ( )
virtual

Definition at line 524 of file PmeSolver.C.

References fftComputes, NUM_GRID_MAX, and pmeTransposes.

524  {
525  for (unsigned int iGrid = 0; iGrid < NUM_GRID_MAX; ++iGrid) {
526  if (pmeTransposes[iGrid] != NULL) delete pmeTransposes[iGrid];
527  if (fftComputes[iGrid] != NULL) delete fftComputes[iGrid];
528  }
529 }
const unsigned int NUM_GRID_MAX
Definition: PmeSolverUtil.h:9
std::array< PmeTranspose *, NUM_GRID_MAX > pmeTransposes
Definition: PmeSolver.h:239
std::array< FFTCompute *, NUM_GRID_MAX > fftComputes
Definition: PmeSolver.h:238

Member Function Documentation

◆ initBlockSizes()

void PmePencilY::initBlockSizes ( )
protected

Definition at line 559 of file PmeSolver.C.

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

559  {
560  blockSizes.resize(pmeGrid.yBlocks);
561  for (int y=0;y < pmeGrid.yBlocks;y++) {
562  int i0, i1, j0, j1, k0, k1;
563  getBlockDim(pmeGrid, Perm_Y_Z_cX, y, thisIndex.z, thisIndex.x,
564  i0, i1, j0, j1, k0, k1);
565  int size = (i1-i0+1)*(j1-j0+1)*(k1-k0+1);
566  blockSizes[y] = size;
567  }
568 }
std::vector< int > blockSizes
Definition: PmeSolver.h:240
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:235

Member Data Documentation

◆ blockSizes

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

Definition at line 240 of file PmeSolver.h.

Referenced by initBlockSizes().

◆ doEnergy

bool PmePencilY::doEnergy
protected

Definition at line 236 of file PmeSolver.h.

◆ doVirial

bool PmePencilY::doVirial
protected

Definition at line 236 of file PmeSolver.h.

◆ fftComputes

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

Definition at line 238 of file PmeSolver.h.

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

◆ imsg

int PmePencilY::imsg
protected

Definition at line 244 of file PmeSolver.h.

◆ lattice

Lattice PmePencilY::lattice
protected

Definition at line 241 of file PmeSolver.h.

◆ numStrayAtoms

int PmePencilY::numStrayAtoms
protected

Definition at line 242 of file PmeSolver.h.

Referenced by PmePencilY().

◆ pmeGrid

PmeGrid PmePencilY::pmeGrid
protected

Definition at line 235 of file PmeSolver.h.

Referenced by initBlockSizes().

◆ pmeTransposes

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

Definition at line 239 of file PmeSolver.h.

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

◆ simulationStep

int PmePencilY::simulationStep
protected

Definition at line 237 of file PmeSolver.h.


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