JDFTx  1.2.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 ManagedMemory

Public Types

typedef double DataType
 Type of data in container (useful for templating)
 
- Public Types inherited from FieldData
typedef void DataType
 this base class has no specific data type
 

Public Member Functions

DECLARE_DATA_ACCESS DECLARE_DATA_PREF_ACCESS 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
void absorbScale () const
 absorb scale factor into data
 
void zero ()
 initialize to zero
 
void * data (bool shouldAbsorbScale=true)
 get a pointer to the actual data (after absorbing the scale factor, unless otherwise specified)
 
const void * data (bool shouldAbsorbScale=true) const
 get a const pointer to the actual data (after absorbing the scale factor, unless otherwise specified)
 
void * dataGpu (bool shouldAbsorbScale=true)
 get a pointer to the actual data (after absorbing the scale factor, unless otherwise specified)
 
const void * dataGpu (bool shouldAbsorbScale=true) const
 get a const pointer to the actual data (after absorbing the scale factor, unless otherwise specified)
 
DECLARE_DATA_PREF_ACCESS bool isOnGpu () const
 Check where the data is (for #ifdef simplicity exposed even when no GPU_ENABLED)
 
 FieldData (const GridInfo &gInfo, string category, int nElem, int nDoublesPerElem=1, bool onGpu=false)
 
void copyData (const FieldData &other)
 copy data and scale (used by clone())
 
void send (int dest, int tag=0) const
 send to another process
 
void recv (int src, int tag=0)
 receive from another process
 
void bcast (int root=0)
 synchronize across processes (using value on specified root process)
 
void allReduce (MPIUtil::ReduceOp op, bool safeMode=false)
 apply all-to-all reduction
 

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
int nElem
 number of elements = #gInfo.nr
 
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: