27 bool top,
bool xDir,
bool yDir,
bool zDir) {
32 const int sign = top ? -1 : 1;
36 memoryArea.
at(x - sign * boundaryCell * xDir,
37 y - sign * boundaryCell * yDir,
38 z - sign * boundaryCell * zDir)
39 = memoryArea.
at( x + sign * (-boundaryCell + nx) * xDir,
40 y + sign * (-boundaryCell + ny) * yDir,
41 z + sign * (-boundaryCell + nz) * zDir);
const size_t nz
Definition: View.hpp:134
#define __host__
Definition: types.hpp:46
Definition: Periodic.hpp:22
__device__ __host__ T & at(size_t x, size_t y, size_t z)
at returns a reference to the element at the given location
Definition: View.hpp:65
size_t nx
Definition: VolumeFactory.cpp:87
size_t ny
Definition: VolumeFactory.cpp:88
const size_t nx
Definition: View.hpp:132
__device__ __host__ real sign(real a)
Definition: sign.hpp:19
const size_t ny
Definition: View.hpp:133
size_t numberOfGhostCells
Definition: VolumeFactory.cpp:90
#define __device__
Definition: types.hpp:45
size_t nz
Definition: VolumeFactory.cpp:89
Various utility functions to implement the tecno flux.
Definition: types.hpp:30
__device__ static __host__ void applyBoundary(alsfvm::memory::View< real > &memoryArea, int x, int y, int z, int boundaryCell, int numberOfGhostCells, bool top, bool xDir, bool yDir, bool zDir)
Definition: Periodic.hpp:24