JDFTx  1.7.0
ScalarFieldData Struct Reference

Real space real scalar field data Do not use this data structure directly or from a simple pointer ScalarFieldData*; work only with ScalarField's. The public functions of ScalarFieldData can be accessed with -> from the ScalarField. More...

#include <ScalarField.h>

Inheritance diagram for ScalarFieldData:
FieldData< double > ManagedMemory< double >

Public Types

typedef double DataType
 Type of data in container (useful for templating)
 

Public Member Functions

ScalarField clone () const
 clone the data (NOTE: assigning ScalarField's makes a new reference to the same data)
 
 ScalarFieldData (const GridInfo &gInfo, bool onGpu, PrivateTag)
 called only by ScalarFieldData::alloc()
 
matrix toMatrix () const
 convert to (complex) matrix
 
- Public Member Functions inherited from FieldData< double >
 FieldData (const GridInfo &gInfo, string category, int nElem, bool onGpu=false)
 
void copyData (const FieldData< double > &other)
 Copy data and scale (used by clone())
 
void absorbScale () const
 Absorb scale factor into data.
 
double * data (bool shouldAbsorbScale=true)
 get a pointer to the actual data (after absorbing the scale factor, unless otherwise specified)
 
const double * data (bool shouldAbsorbScale=true) const
 get a const pointer to the actual data (after absorbing the scale factor, unless otherwise specified)
 
double * dataGpu (bool shouldAbsorbScale=true)
 get a pointer to the actual data (after absorbing the scale factor, unless otherwise specified)
 
const double * dataGpu (bool shouldAbsorbScale=true) const
 get a const pointer to the actual data (after absorbing the scale factor, unless otherwise specified)
 
double * dataPref (bool shouldAbsorbScale=true)
 
const double * dataPref (bool shouldAbsorbScale=true) const
 
void zero ()
 initialize to zero
 
bool isOnGpu () const
 Check where the data is (for #ifdef simplicity exposed even when no GPU_ENABLED)
 
void sendData (const MPIUtil *mpiUtil, int dest, int tag, MPIUtil::Request *request=0) const
 
void recvData (const MPIUtil *mpiUtil, int dest, int tag, MPIUtil::Request *request=0)
 
void bcastData (const MPIUtil *mpiUtil, int root=0, MPIUtil::Request *request=0)
 
void allReduceData (const MPIUtil *mpiUtil, MPIUtil::ReduceOp op, bool safeMode=false, MPIUtil::Request *request=0)
 
void reduceData (const MPIUtil *mpiUtil, MPIUtil::ReduceOp op, int root=0, MPIUtil::Request *request=0)
 

Static Public Member Functions

static ScalarField alloc (const GridInfo &gInfo, bool onGpu=false)
 Create real space data.
 

Additional Inherited Members

- Public Attributes inherited from FieldData< double >
const int nElem
 number of elements
 
double scale
 overall scale factor of the data array
 
const GridInfogInfo
 simulation grid info
 

Detailed Description

Real space real scalar field data Do not use this data structure directly or from a simple pointer ScalarFieldData*; work only with ScalarField's. The public functions of ScalarFieldData can be accessed with -> from the ScalarField.


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