112 auto force =
block->getData<field::GhostLayerField<double, 3>>(
forceID);
113 auto pdfs =
block->getData<field::GhostLayerField<double, 19>>(
pdfsID);
115 field::GhostLayerField<double, 19> *pdfs_tmp;
118 auto it = cache_pdfs_.find(pdfs);
119 if (it != cache_pdfs_.end()) {
122 pdfs_tmp = pdfs->cloneUninitialized();
123 cache_pdfs_.insert(pdfs_tmp);
127 WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(force->nrOfGhostLayers()))
128 double *
RESTRICT const _data_force = force->dataAt(-1, -1, -1, 0);
129 WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx)
130 WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs->nrOfGhostLayers()))
131 double *
RESTRICT const _data_pdfs = pdfs->dataAt(-1, -1, -1, 0);
132 WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx)
133 WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs_tmp->nrOfGhostLayers()))
134 double *
RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(-1, -1, -1, 0);
135 WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx)
136 WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(
velocity->nrOfGhostLayers()))
138 WALBERLA_ASSERT_EQUAL(
velocity->layout(), field::fzyx)
139 WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(force->xSize()) + 2))
140 const int64_t _size_force_0 = int64_t(int64_c(force->xSize()) + 2);
141 WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx)
142 WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(force->ySize()) + 2))
143 const int64_t _size_force_1 = int64_t(int64_c(force->ySize()) + 2);
144 WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx)
145 WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(force->zSize()) + 2))
146 const int64_t _size_force_2 = int64_t(int64_c(force->zSize()) + 2);
147 WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx)
148 const int64_t _stride_force_0 = int64_t(force->xStride());
149 const int64_t _stride_force_1 = int64_t(force->yStride());
150 const int64_t _stride_force_2 = int64_t(force->zStride());
151 const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride()));
152 const int64_t _stride_pdfs_0 = int64_t(pdfs->xStride());
153 const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride());
154 const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride());
155 const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride()));
156 const int64_t _stride_pdfs_tmp_0 = int64_t(pdfs_tmp->xStride());
157 const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride());
158 const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride());
159 const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride()));
160 const int64_t _stride_velocity_0 = int64_t(
velocity->xStride());
161 const int64_t _stride_velocity_1 = int64_t(
velocity->yStride());
162 const int64_t _stride_velocity_2 = int64_t(
velocity->zStride());
163 const int64_t _stride_velocity_3 = int64_t(1 * int64_t(
velocity->fStride()));
164 internal_streamsweepdoubleprecision_streamsweepdoubleprecision::streamsweepdoubleprecision_streamsweepdoubleprecision(_data_force, _data_pdfs, _data_pdfs_tmp, _data_velocity, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, _stride_velocity_0, _stride_velocity_1, _stride_velocity_2, _stride_velocity_3);
165 pdfs->swapDataPointers(pdfs_tmp);
170 CellInterval ci = globalCellInterval;
171 CellInterval blockBB = blocks->getBlockCellBB(*
block);
172 blockBB.expand(ghostLayers);
173 ci.intersect(blockBB);
174 blocks->transformGlobalToBlockLocalCellInterval(ci, *
block);
178 auto force =
block->getData<field::GhostLayerField<double, 3>>(
forceID);
179 auto pdfs =
block->getData<field::GhostLayerField<double, 19>>(
pdfsID);
181 field::GhostLayerField<double, 19> *pdfs_tmp;
184 auto it = cache_pdfs_.find(pdfs);
185 if (it != cache_pdfs_.end()) {
188 pdfs_tmp = pdfs->cloneUninitialized();
189 cache_pdfs_.insert(pdfs_tmp);
193 WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(force->nrOfGhostLayers()))
194 WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(force->nrOfGhostLayers()))
195 WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(force->nrOfGhostLayers()))
196 double *
RESTRICT const _data_force = force->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0);
197 WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx)
198 WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs->nrOfGhostLayers()))
199 WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs->nrOfGhostLayers()))
200 WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs->nrOfGhostLayers()))
201 double *
RESTRICT const _data_pdfs = pdfs->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0);
202 WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx)
203 WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers()))
204 WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers()))
205 WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers()))
206 double *
RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0);
207 WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx)
208 WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(
velocity->nrOfGhostLayers()))
209 WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(
velocity->nrOfGhostLayers()))
210 WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(
velocity->nrOfGhostLayers()))
211 double *
RESTRICT _data_velocity =
velocity->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0);
212 WALBERLA_ASSERT_EQUAL(
velocity->layout(), field::fzyx)
213 WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(ci.xSize()) + 2))
214 const int64_t _size_force_0 = int64_t(int64_c(ci.xSize()) + 2);
215 WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx)
216 WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(ci.ySize()) + 2))
217 const int64_t _size_force_1 = int64_t(int64_c(ci.ySize()) + 2);
218 WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx)
219 WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(ci.zSize()) + 2))
220 const int64_t _size_force_2 = int64_t(int64_c(ci.zSize()) + 2);
221 WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx)
222 const int64_t _stride_force_0 = int64_t(force->xStride());
223 const int64_t _stride_force_1 = int64_t(force->yStride());
224 const int64_t _stride_force_2 = int64_t(force->zStride());
225 const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride()));
226 const int64_t _stride_pdfs_0 = int64_t(pdfs->xStride());
227 const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride());
228 const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride());
229 const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride()));
230 const int64_t _stride_pdfs_tmp_0 = int64_t(pdfs_tmp->xStride());
231 const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride());
232 const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride());
233 const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride()));
234 const int64_t _stride_velocity_0 = int64_t(
velocity->xStride());
235 const int64_t _stride_velocity_1 = int64_t(
velocity->yStride());
236 const int64_t _stride_velocity_2 = int64_t(
velocity->zStride());
237 const int64_t _stride_velocity_3 = int64_t(1 * int64_t(
velocity->fStride()));
238 internal_streamsweepdoubleprecision_streamsweepdoubleprecision::streamsweepdoubleprecision_streamsweepdoubleprecision(_data_force, _data_pdfs, _data_pdfs_tmp, _data_velocity, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, _stride_velocity_0, _stride_velocity_1, _stride_velocity_2, _stride_velocity_3);
239 pdfs->swapDataPointers(pdfs_tmp);
static FUNC_PREFIX void streamsweepdoubleprecision_streamsweepdoubleprecision(double *RESTRICT const _data_force, double *RESTRICT const _data_pdfs, double *RESTRICT _data_pdfs_tmp, double *RESTRICT _data_velocity, int64_t const _size_force_0, int64_t const _size_force_1, int64_t const _size_force_2, int64_t const _stride_force_0, int64_t const _stride_force_1, int64_t const _stride_force_2, int64_t const _stride_force_3, int64_t const _stride_pdfs_0, int64_t const _stride_pdfs_1, int64_t const _stride_pdfs_2, int64_t const _stride_pdfs_3, int64_t const _stride_pdfs_tmp_0, int64_t const _stride_pdfs_tmp_1, int64_t const _stride_pdfs_tmp_2, int64_t const _stride_pdfs_tmp_3, int64_t const _stride_velocity_0, int64_t const _stride_velocity_1, int64_t const _stride_velocity_2, int64_t const _stride_velocity_3)