104 auto j =
block->getData<field::GhostLayerField<float, 13>>(jID);
105 auto rho =
block->getData<field::GhostLayerField<float, 1>>(rhoID);
106 auto phi =
block->getData<field::GhostLayerField<float, 1>>(phiID);
108 auto &f_ext_1 = this->f_ext_1_;
109 auto &f_ext_2 = this->f_ext_2_;
111 auto &f_ext_0 = this->f_ext_0_;
112 auto &kT = this->kT_;
114 WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(j->nrOfGhostLayers()))
115 float *
RESTRICT const _data_j = j->dataAt(-1, -1, -1, 0);
116 WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(phi->nrOfGhostLayers()))
117 float *
RESTRICT const _data_phi = phi->dataAt(-1, -1, -1, 0);
118 WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(rho->nrOfGhostLayers()))
119 float *
RESTRICT const _data_rho = rho->dataAt(-1, -1, -1, 0);
120 WALBERLA_ASSERT_GREATER_EQUAL(j->xSizeWithGhostLayer(), int64_t(int64_c(j->xSize()) + 2))
121 const int64_t _size_j_0 = int64_t(int64_c(j->xSize()) + 2);
122 WALBERLA_ASSERT_GREATER_EQUAL(j->ySizeWithGhostLayer(), int64_t(int64_c(j->ySize()) + 2))
123 const int64_t _size_j_1 = int64_t(int64_c(j->ySize()) + 2);
124 WALBERLA_ASSERT_GREATER_EQUAL(j->zSizeWithGhostLayer(), int64_t(int64_c(j->zSize()) + 2))
125 const int64_t _size_j_2 = int64_t(int64_c(j->zSize()) + 2);
126 const int64_t _stride_j_0 = int64_t(j->xStride());
127 const int64_t _stride_j_1 = int64_t(j->yStride());
128 const int64_t _stride_j_2 = int64_t(j->zStride());
129 const int64_t _stride_j_3 = int64_t(1 * int64_t(j->fStride()));
130 const int64_t _stride_phi_0 = int64_t(phi->xStride());
131 const int64_t _stride_phi_1 = int64_t(phi->yStride());
132 const int64_t _stride_phi_2 = int64_t(phi->zStride());
133 const int64_t _stride_rho_0 = int64_t(rho->xStride());
134 const int64_t _stride_rho_1 = int64_t(rho->yStride());
135 const int64_t _stride_rho_2 = int64_t(rho->zStride());
136 internal_823ab2463d465630661d5edc8f90930c::diffusivefluxkernelwithelectrostatic_single_precision_diffusivefluxkernelwithelectrostatic_single_precision(D, _data_j, _data_phi, _data_rho, _size_j_0, _size_j_1, _size_j_2, _stride_j_0, _stride_j_1, _stride_j_2, _stride_j_3, _stride_phi_0, _stride_phi_1, _stride_phi_2, _stride_rho_0, _stride_rho_1, _stride_rho_2, f_ext_0, f_ext_1, f_ext_2, kT, z);
141 CellInterval ci = globalCellInterval;
142 CellInterval blockBB = blocks->getBlockCellBB(*
block);
143 blockBB.expand(ghostLayers);
144 ci.intersect(blockBB);
145 blocks->transformGlobalToBlockLocalCellInterval(ci, *
block);
149 auto j =
block->getData<field::GhostLayerField<float, 13>>(jID);
150 auto rho =
block->getData<field::GhostLayerField<float, 1>>(rhoID);
151 auto phi =
block->getData<field::GhostLayerField<float, 1>>(phiID);
153 auto &f_ext_1 = this->f_ext_1_;
154 auto &f_ext_2 = this->f_ext_2_;
156 auto &f_ext_0 = this->f_ext_0_;
157 auto &kT = this->kT_;
159 WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(j->nrOfGhostLayers()))
160 WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(j->nrOfGhostLayers()))
161 WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(j->nrOfGhostLayers()))
162 float *
RESTRICT const _data_j = j->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0);
163 WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(phi->nrOfGhostLayers()))
164 WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(phi->nrOfGhostLayers()))
165 WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(phi->nrOfGhostLayers()))
166 float *
RESTRICT const _data_phi = phi->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0);
167 WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(rho->nrOfGhostLayers()))
168 WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(rho->nrOfGhostLayers()))
169 WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(rho->nrOfGhostLayers()))
170 float *
RESTRICT const _data_rho = rho->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0);
171 WALBERLA_ASSERT_GREATER_EQUAL(j->xSizeWithGhostLayer(), int64_t(int64_c(ci.xSize()) + 2))
172 const int64_t _size_j_0 = int64_t(int64_c(ci.xSize()) + 2);
173 WALBERLA_ASSERT_GREATER_EQUAL(j->ySizeWithGhostLayer(), int64_t(int64_c(ci.ySize()) + 2))
174 const int64_t _size_j_1 = int64_t(int64_c(ci.ySize()) + 2);
175 WALBERLA_ASSERT_GREATER_EQUAL(j->zSizeWithGhostLayer(), int64_t(int64_c(ci.zSize()) + 2))
176 const int64_t _size_j_2 = int64_t(int64_c(ci.zSize()) + 2);
177 const int64_t _stride_j_0 = int64_t(j->xStride());
178 const int64_t _stride_j_1 = int64_t(j->yStride());
179 const int64_t _stride_j_2 = int64_t(j->zStride());
180 const int64_t _stride_j_3 = int64_t(1 * int64_t(j->fStride()));
181 const int64_t _stride_phi_0 = int64_t(phi->xStride());
182 const int64_t _stride_phi_1 = int64_t(phi->yStride());
183 const int64_t _stride_phi_2 = int64_t(phi->zStride());
184 const int64_t _stride_rho_0 = int64_t(rho->xStride());
185 const int64_t _stride_rho_1 = int64_t(rho->yStride());
186 const int64_t _stride_rho_2 = int64_t(rho->zStride());
187 internal_823ab2463d465630661d5edc8f90930c::diffusivefluxkernelwithelectrostatic_single_precision_diffusivefluxkernelwithelectrostatic_single_precision(D, _data_j, _data_phi, _data_rho, _size_j_0, _size_j_1, _size_j_2, _stride_j_0, _stride_j_1, _stride_j_2, _stride_j_3, _stride_phi_0, _stride_phi_1, _stride_phi_2, _stride_rho_0, _stride_rho_1, _stride_rho_2, f_ext_0, f_ext_1, f_ext_2, kT, z);
static FUNC_PREFIX void diffusivefluxkernelwithelectrostatic_single_precision_diffusivefluxkernelwithelectrostatic_single_precision(float D, float *RESTRICT const _data_j, float *RESTRICT const _data_phi, float *RESTRICT const _data_rho, int64_t const _size_j_0, int64_t const _size_j_1, int64_t const _size_j_2, int64_t const _stride_j_0, int64_t const _stride_j_1, int64_t const _stride_j_2, int64_t const _stride_j_3, int64_t const _stride_phi_0, int64_t const _stride_phi_1, int64_t const _stride_phi_2, int64_t const _stride_rho_0, int64_t const _stride_rho_1, int64_t const _stride_rho_2, float f_ext_0, float f_ext_1, float f_ext_2, float kT, float z)