PmeKSpaceCompute Class Reference

#include <PmeSolverUtil.h>

Inheritance diagram for PmeKSpaceCompute:

CudaPmeKSpaceCompute List of all members.

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, pmeGrid, size1, size2, and size3.

00277                                                       : 
00278     pmeGrid(pmeGrid), permutation(permutation),
00279     jblock(jblock), kblock(kblock), kappa(kappa) {
00280 
00281     bm1 = new double[pmeGrid.K1];
00282     bm2 = new double[pmeGrid.K2];
00283     bm3 = new double[pmeGrid.K3];
00284     // Use compute_b_moduli from PmeKSpace.C
00285     extern void compute_b_moduli(double *bm, int K, int order);
00286     compute_b_moduli(bm1, pmeGrid.K1, pmeGrid.order);
00287     compute_b_moduli(bm2, pmeGrid.K2, pmeGrid.order);
00288     compute_b_moduli(bm3, pmeGrid.K3, pmeGrid.order);
00289 
00290     int i0, i1, j1, k1;
00291     getPencilDim(pmeGrid, permutation, jblock, kblock, i0, i1, j0, j1, k0, k1);
00292     size1 = i1-i0+1;
00293     size2 = j1-j0+1;
00294     size3 = k1-k0+1;
00295   }

virtual PmeKSpaceCompute::~PmeKSpaceCompute (  )  [inline, virtual]

Definition at line 296 of file PmeSolverUtil.h.

References bm1, bm2, and bm3.

00296                               {
00297     delete [] bm1;
00298     delete [] bm2;
00299     delete [] bm3;
00300   }


Member Function Documentation

virtual double PmeKSpaceCompute::getEnergy (  )  [pure virtual]

Implemented in CudaPmeKSpaceCompute.

Referenced by PmePencilZ::submitReductions(), and PmePencilXYZ::submitReductions().

virtual void PmeKSpaceCompute::getVirial ( double *  virial  )  [pure virtual]

Implemented in CudaPmeKSpaceCompute.

Referenced by PmePencilZ::submitReductions(), and PmePencilXYZ::submitReductions().

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]

Definition at line 269 of file PmeSolverUtil.h.

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

double * PmeKSpaceCompute::bm2 [protected]

Definition at line 269 of file PmeSolverUtil.h.

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

double * PmeKSpaceCompute::bm3 [protected]

Definition at line 269 of file PmeSolverUtil.h.

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

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]

Definition at line 271 of file PmeSolverUtil.h.

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

PmeGrid PmeKSpaceCompute::pmeGrid [protected]

Definition at line 267 of file PmeSolverUtil.h.

Referenced by CudaPmeKSpaceCompute::CudaPmeKSpaceCompute(), PmeKSpaceCompute(), and 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:
Generated on Thu Nov 23 01:17:19 2017 for NAMD by  doxygen 1.4.7