40 PARAMETERS parameters,
41 std::size_t n) __global__ {
42 const CellID i = blockIdx.x * blockDim.x + threadIdx.x;
47 auto cellIdCoarse = data.template getField<fields::refinement::CELL_ID_COARSE>();
48 auto cellIdFine = data.template getField<fields::refinement::CELL_ID_FINE>();
51 if (cellIdCoarse[0][i] != 0) {
52 Cell cCell{cLattice, cellIdCoarse[0][i]};
53 Cell fCell{fLattice, cellIdFine[0][i]};
55 OPERATOR().apply(cCell, fCell, cData, parameters);
58 if constexpr (OPERATOR::data::template contains<fields::refinement::CONTEXT_NEIGHBORS>()) {
59 Cell fCell{fLattice, cellIdFine[0][i]};
61 fLattice.getLatticeR(cellIdFine[0][i])};
63 OPERATOR().apply(cCell, fCell, cData, parameters);
65 Cell fCell{fLattice, cellIdFine[0][i]};
67 fLattice.getLatticeR(cellIdFine[0][i])};
69 OPERATOR().apply(cCell, fCell, cData, parameters);
Context for the execution of block refinement operators.