Domain

Parallel Domain data structures and helper functions.

Enums

enum DataLocation

Values:

enumerator CPU
enumerator DEVICE

Functions

void ReadBinaryFile(char *FILENAME, double *Data, size_t N)
void ReadCheckpoint(char *FILENAME, double *cDen, double *cfq, size_t Np)
void WriteCheckpoint(const char *FILENAME, const double *cDen, const double *cfq, size_t Np)
class Box
#include <Domain.h>

information about a box

Public Members

int ifirst[3]
int ilast[3]
class Domain
#include <Mesh.h>
class Patch
#include <Domain.h>

store patch data

Public Functions

template<class TYPE>
std::shared_ptr<PatchData<TYPE>> createPatchData(DataLocation location) const

Create patch data.

inline const Box &getBox() const

Return the box for the patch.

Patch &operator=(const Patch&) = delete

Assignment operator.

Patch() = delete

Empty constructor.

Patch(const Patch&) = delete

Copy constructor.

Private Members

Box d_box
Domain *d_domain
int d_owner
template<class TYPE>
class PatchData
#include <Domain.h>

Public Functions

void beginCommunication()

Start communication.

void copy(const PatchData &rhs)

Copy data from another PatchData.

inline TYPE *data()

Get the raw data pointer.

inline const TYPE *data() const

Get the raw data pointer.

void endCommunication()

End communication.

inline const Patch &getPatch() const

Get the patch.

TYPE operator()(int, int, int) const

Access ghost values.

Private Members

TYPE *d_data
TYPE *d_gcw
DataLocation d_location
const Patch *d_patch
template<class TYPE>
class PatchData
#include <Domain.h>

Public Functions

void beginCommunication()

Start communication.

void copy(const PatchData &rhs)

Copy data from another PatchData.

inline TYPE *data()

Get the raw data pointer.

inline const TYPE *data() const

Get the raw data pointer.

void endCommunication()

End communication.

inline const Patch &getPatch() const

Get the patch.

TYPE operator()(int, int, int) const

Access ghost values.

Private Members

TYPE *d_data
TYPE *d_gcw
DataLocation d_location
const Patch *d_patch