NAMD
Public Member Functions | Protected Attributes | List of all members
PmeKSpaceCompute Class Referenceabstract

#include <PmeSolverUtil.h>

Inheritance diagram for PmeKSpaceCompute:
CudaPmeKSpaceCompute

Public Member Functions

 PmeKSpaceCompute (PmeGrid pmeGrid, const int permutation, const int jblock, const int kblock, double kappa)
 
virtual ~PmeKSpaceCompute ()
 
virtual void solve (Lattice &lattice, const bool doEnergy, const bool doVirial, float *data)=0
 
virtual double getEnergy ()=0
 
virtual void getVirial (double *virial)=0
 

Protected Attributes

PmeGrid pmeGrid
 
double * bm1
 
double * bm2
 
double * bm3
 
double kappa
 
const int permutation
 
const int jblock
 
const int kblock
 
int size1
 
int size2
 
int size3
 
int j0
 
int k0
 

Detailed Description

Definition at line 265 of file PmeSolverUtil.h.

Constructor & Destructor Documentation

PmeKSpaceCompute::PmeKSpaceCompute ( PmeGrid  pmeGrid,
const int  permutation,
const int  jblock,
const int  kblock,
double  kappa 
)
inline

Definition at line 276 of file PmeSolverUtil.h.

References bm1, bm2, bm3, compute_b_moduli(), getPencilDim(), j0, k0, PmeGrid::K1, PmeGrid::K2, PmeGrid::K3, PmeGrid::order, order, size1, size2, and size3.

277  :
278  pmeGrid(pmeGrid), permutation(permutation),
280 
281  bm1 = new double[pmeGrid.K1];
282  bm2 = new double[pmeGrid.K2];
283  bm3 = new double[pmeGrid.K3];
284  // Use compute_b_moduli from PmeKSpace.C
285  extern void compute_b_moduli(double *bm, int K, int order);
286  compute_b_moduli(bm1, pmeGrid.K1, pmeGrid.order);
287  compute_b_moduli(bm2, pmeGrid.K2, pmeGrid.order);
288  compute_b_moduli(bm3, pmeGrid.K3, pmeGrid.order);
289 
290  int i0, i1, j1, k1;
291  getPencilDim(pmeGrid, permutation, jblock, kblock, i0, i1, j0, j1, k0, k1);
292  size1 = i1-i0+1;
293  size2 = j1-j0+1;
294  size3 = k1-k0+1;
295  }
void compute_b_moduli(double *bm, int K, int order)
Definition: PmeKSpace.C:42
int K2
Definition: PmeBase.h:18
int K1
Definition: PmeBase.h:18
static void getPencilDim(const PmeGrid &pmeGrid, const int permutation, const int jblock, const int kblock, int &i0, int &i1, int &j0, int &j1, int &k0, int &k1)
Definition: PmeSolverUtil.h:29
#define order
Definition: PmeRealSpace.C:235
int order
Definition: PmeBase.h:20
int K3
Definition: PmeBase.h:18
const int permutation
virtual PmeKSpaceCompute::~PmeKSpaceCompute ( )
inlinevirtual

Definition at line 296 of file PmeSolverUtil.h.

References bm1, bm2, and bm3.

296  {
297  delete [] bm1;
298  delete [] bm2;
299  delete [] bm3;
300  }

Member Function Documentation

virtual double PmeKSpaceCompute::getEnergy ( )
pure virtual
virtual void PmeKSpaceCompute::getVirial ( double *  virial)
pure virtual
virtual void PmeKSpaceCompute::solve ( Lattice lattice,
const bool  doEnergy,
const bool  doVirial,
float *  data 
)
pure virtual

Implemented in CudaPmeKSpaceCompute.

Member Data Documentation

double* PmeKSpaceCompute::bm1
protected
double * PmeKSpaceCompute::bm2
protected
double * PmeKSpaceCompute::bm3
protected
int PmeKSpaceCompute::j0
protected

Definition at line 274 of file PmeSolverUtil.h.

Referenced by PmeKSpaceCompute(), and CudaPmeKSpaceCompute::solve().

const int PmeKSpaceCompute::jblock
protected

Definition at line 272 of file PmeSolverUtil.h.

int PmeKSpaceCompute::k0
protected

Definition at line 274 of file PmeSolverUtil.h.

Referenced by PmeKSpaceCompute(), and CudaPmeKSpaceCompute::solve().

double PmeKSpaceCompute::kappa
protected

Definition at line 270 of file PmeSolverUtil.h.

Referenced by CudaPmeKSpaceCompute::solve().

const int PmeKSpaceCompute::kblock
protected

Definition at line 272 of file PmeSolverUtil.h.

const int PmeKSpaceCompute::permutation
protected
PmeGrid PmeKSpaceCompute::pmeGrid
protected

Definition at line 267 of file PmeSolverUtil.h.

Referenced by CudaPmeKSpaceCompute::solve().

int PmeKSpaceCompute::size1
protected

Definition at line 273 of file PmeSolverUtil.h.

Referenced by PmeKSpaceCompute(), and CudaPmeKSpaceCompute::solve().

int PmeKSpaceCompute::size2
protected

Definition at line 273 of file PmeSolverUtil.h.

Referenced by PmeKSpaceCompute(), and CudaPmeKSpaceCompute::solve().

int PmeKSpaceCompute::size3
protected

Definition at line 273 of file PmeSolverUtil.h.

Referenced by PmeKSpaceCompute(), and CudaPmeKSpaceCompute::solve().


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