Template Class SimulationRegion

Class Documentation

template<typename VALUETYPE>
class SimulationRegion

Public Functions

inline void reinitBox(const double *boxv)
inline void affineTransform(const double *affine_map)
inline void reinitOrigin(const double *orig)
inline void reinitOrigin(const std::vector<double> &orig)
void backup()
void recover()
SimulationRegion()
~SimulationRegion()
inline double *getBoxTensor()
inline const double *getBoxTensor() const
inline double *getRecBoxTensor()
inline const double *getRecBoxTensor() const
inline double *getBoxOrigin()
inline const double *getBoxOrigin() const
inline double getVolume() const
inline void toFaceDistance(double *dd) const
inline void phys2Inter(double *i_v, const VALUETYPE *p_v) const
inline void inter2Phys(VALUETYPE *p_v, const double *i_v) const
inline bool isPeriodic(const int dim) const
inline double *getShiftVec(const int index = 0)
inline const double *getShiftVec(const int index = 0) const
inline int getShiftIndex(const int *idx) const
inline int getNullShiftIndex() const
inline void shiftCoord(const int *idx, VALUETYPE &x, VALUETYPE &y, VALUETYPE &z) const
inline void diffNearestNeighbor(const VALUETYPE *r0, const VALUETYPE *r1, VALUETYPE *phys) const
inline virtual void diffNearestNeighbor(const VALUETYPE x0, const VALUETYPE y0, const VALUETYPE z0, const VALUETYPE x1, const VALUETYPE y1, const VALUETYPE z1, VALUETYPE &dx, VALUETYPE &dy, VALUETYPE &dz) const
inline virtual void diffNearestNeighbor(const VALUETYPE x0, const VALUETYPE y0, const VALUETYPE z0, const VALUETYPE x1, const VALUETYPE y1, const VALUETYPE z1, VALUETYPE &dx, VALUETYPE &dy, VALUETYPE &dz, int &shift_x, int &shift_y, int &shift_z) const
inline virtual void diffNearestNeighbor(const VALUETYPE x0, const VALUETYPE y0, const VALUETYPE z0, const VALUETYPE x1, const VALUETYPE y1, const VALUETYPE z1, VALUETYPE &dx, VALUETYPE &dy, VALUETYPE &dz, VALUETYPE &shift_x, VALUETYPE &shift_y, VALUETYPE &shift_z) const

Public Static Functions

static inline int compactIndex(const int *idx)
static inline int getNumbShiftVec()
static inline int getShiftVecTotalSize()

Protected Functions

void computeShiftVec()
inline double *getInterShiftVec(const int index = 0)
inline const double *getInterShiftVec(const int index = 0) const

Protected Attributes

double shift_vec[shift_vec_size]
double inter_shift_vec[shift_vec_size]

Protected Static Functions

static inline int index3to1(const int tx, const int ty, const int tz)

Protected Static Attributes

static const int SPACENDIM = 3
static const int DBOX_XX = 1
static const int DBOX_YY = 1
static const int DBOX_ZZ = 1
static const int NBOX_XX = DBOX_XX * 2 + 1
static const int NBOX_YY = DBOX_YY * 2 + 1
static const int NBOX_ZZ = DBOX_ZZ * 2 + 1
static const int shift_info_size = NBOX_XX * NBOX_YY * NBOX_ZZ
static const int shift_vec_size = SPACENDIM * shift_info_size