JDFTx  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 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< 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: