70 double *buffer =
reinterpret_cast<double *
>(byte_buffer);
72 auto field =
block->getData<field::GhostLayerField<double, 3>>(fieldID);
75 field->getSliceBeforeGhostLayer(dir, ci, 1,
false);
97 double *
RESTRICT _data_buffer = buffer;
98 WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin(), -int_c(field->nrOfGhostLayers()))
99 WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin(), -int_c(field->nrOfGhostLayers()))
100 WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin(), -int_c(field->nrOfGhostLayers()))
101 double *
RESTRICT const _data_field = field->dataAt(ci.xMin(), ci.yMin(), ci.zMin(), 0);
102 WALBERLA_ASSERT_GREATER_EQUAL(field->xSizeWithGhostLayer(), int64_t(int64_c(ci.xSize()) + 0))
103 const int64_t _size_field_0 = int64_t(int64_c(ci.xSize()) + 0);
104 WALBERLA_ASSERT_GREATER_EQUAL(field->ySizeWithGhostLayer(), int64_t(int64_c(ci.ySize()) + 0))
105 const int64_t _size_field_1 = int64_t(int64_c(ci.ySize()) + 0);
106 WALBERLA_ASSERT_GREATER_EQUAL(field->zSizeWithGhostLayer(), int64_t(int64_c(ci.zSize()) + 0))
107 const int64_t _size_field_2 = int64_t(int64_c(ci.zSize()) + 0);
108 const int64_t _stride_field_0 = int64_t(field->xStride());
109 const int64_t _stride_field_1 = int64_t(field->yStride());
110 const int64_t _stride_field_2 = int64_t(field->zStride());
111 const int64_t _stride_field_3 = int64_t(1 * int64_t(field->fStride()));
117 WALBERLA_ASSERT(
false);
122 double *buffer =
reinterpret_cast<double *
>(byte_buffer);
124 auto field =
block->getData<field::GhostLayerField<double, 3>>(fieldID);
127 field->getGhostRegion(dir, ci, 1,
false);
128 auto communciationDirection = stencil::inverseDir[dir];
130 switch (communciationDirection) {
150 double *
RESTRICT const _data_buffer = buffer;
151 WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin(), -int_c(field->nrOfGhostLayers()))
152 WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin(), -int_c(field->nrOfGhostLayers()))
153 WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin(), -int_c(field->nrOfGhostLayers()))
154 double *
RESTRICT _data_field = field->dataAt(ci.xMin(), ci.yMin(), ci.zMin(), 0);
155 WALBERLA_ASSERT_GREATER_EQUAL(field->xSizeWithGhostLayer(), int64_t(int64_c(ci.xSize()) + 0))
156 const int64_t _size_field_0 = int64_t(int64_c(ci.xSize()) + 0);
157 WALBERLA_ASSERT_GREATER_EQUAL(field->ySizeWithGhostLayer(), int64_t(int64_c(ci.ySize()) + 0))
158 const int64_t _size_field_1 = int64_t(int64_c(ci.ySize()) + 0);
159 WALBERLA_ASSERT_GREATER_EQUAL(field->zSizeWithGhostLayer(), int64_t(int64_c(ci.zSize()) + 0))
160 const int64_t _size_field_2 = int64_t(int64_c(ci.zSize()) + 0);
161 const int64_t _stride_field_0 = int64_t(field->xStride());
162 const int64_t _stride_field_1 = int64_t(field->yStride());
163 const int64_t _stride_field_2 = int64_t(field->zStride());
164 const int64_t _stride_field_3 = int64_t(1 * int64_t(field->fStride()));
170 WALBERLA_ASSERT(
false);
175 auto field =
block->getData<field::GhostLayerField<double, 3>>(fieldID);
178 field->getGhostRegion(dir, ci, 1,
false);
180 uint_t elementsPerCell = uint_t{0u};
202 elementsPerCell = uint_t{3u};
206 elementsPerCell = uint_t{0u};
208 return ci.numCells() * elementsPerCell *
sizeof(double);
static FUNC_PREFIX void pack_SW_BW_W_TW_NW_BS_S_TS_B_C_T_BN_N_TN_SE_BE_E_TE_NE(double *RESTRICT _data_buffer, double *RESTRICT const _data_field, int64_t const _size_field_0, int64_t const _size_field_1, int64_t const _size_field_2, int64_t const _stride_field_0, int64_t const _stride_field_1, int64_t const _stride_field_2, int64_t const _stride_field_3)
static FUNC_PREFIX void unpack_SW_BW_W_TW_NW_BS_S_TS_B_C_T_BN_N_TN_SE_BE_E_TE_NE(double *RESTRICT const _data_buffer, double *RESTRICT _data_field, int64_t const _size_field_0, int64_t const _size_field_1, int64_t const _size_field_2, int64_t const _stride_field_0, int64_t const _stride_field_1, int64_t const _stride_field_2, int64_t const _stride_field_3)