@@ -46,9 +46,9 @@ function dss_load_perimeter_data_kernel!(
46
46
sized = (nlevels, Nq, Nq, nfidx, nelems) # size of data
47
47
48
48
if gidx ≤ prod (sizep)
49
- (level, p, fidx, elem) = Topologies . _get_idx (sizep, gidx)
49
+ (level, p, fidx, elem) = cart_ind (sizep, gidx). I
50
50
(ip, jp) = perimeter[p]
51
- data_idx = Topologies . _get_idx (sized, (level, ip, jp, fidx, elem))
51
+ data_idx = linear_ind (sized, (level, ip, jp, fidx, elem))
52
52
pperimeter_data[level, p, fidx, elem] = pdata[data_idx]
53
53
end
54
54
return nothing
@@ -86,9 +86,9 @@ function dss_unload_perimeter_data_kernel!(
86
86
sized = (nlevels, Nq, Nq, nfidx, nelems) # size of data
87
87
88
88
if gidx ≤ prod (sizep)
89
- (level, p, fidx, elem) = Topologies . _get_idx (sizep, gidx)
89
+ (level, p, fidx, elem) = cart_ind (sizep, gidx). I
90
90
(ip, jp) = perimeter[p]
91
- data_idx = Topologies . _get_idx (sized, (level, ip, jp, fidx, elem))
91
+ data_idx = linear_ind (sized, (level, ip, jp, fidx, elem))
92
92
pdata[data_idx] = pperimeter_data[level, p, fidx, elem]
93
93
end
94
94
return nothing
@@ -139,7 +139,7 @@ function dss_local_kernel!(
139
139
(nlevels, nperimeter, nfidx, _) = size (pperimeter_data)
140
140
if gidx ≤ nlevels * nfidx * nlocalvertices # local vertices
141
141
sizev = (nlevels, nfidx, nlocalvertices)
142
- (level, fidx, vertexid) = Topologies . _get_idx (sizev, gidx)
142
+ (level, fidx, vertexid) = cart_ind (sizev, gidx). I
143
143
sum_data = FT (0 )
144
144
st, en =
145
145
local_vertex_offset[vertexid], local_vertex_offset[vertexid + 1 ]
@@ -157,7 +157,7 @@ function dss_local_kernel!(
157
157
nfacedof = div (nperimeter - 4 , 4 )
158
158
sizef = (nlevels, nfidx, nlocalfaces)
159
159
(level, fidx, faceid) =
160
- Topologies . _get_idx (sizef, gidx - nlevels * nfidx * nlocalvertices)
160
+ cart_ind (sizef, gidx - nlevels * nfidx * nlocalvertices). I
161
161
(lidx1, face1, lidx2, face2, reversed) = interior_faces[faceid]
162
162
(first1, inc1, last1) =
163
163
Topologies. perimeter_face_indices_cuda (face1, nfacedof, false )
@@ -247,21 +247,18 @@ function dss_transform_kernel!(
247
247
sizet_wt = (Nq, Nq, 1 , nelems)
248
248
sizet_metric = (nlevels, Nq, Nq, nmetric, nelems)
249
249
250
- (level, p, localelemno) = Topologies . _get_idx (sizet, gidx)
250
+ (level, p, localelemno) = cart_ind (sizet, gidx). I
251
251
elem = localelems[localelemno]
252
252
(ip, jp) = perimeter[p]
253
253
254
- weight = pweight[Topologies . _get_idx (sizet_wt, (ip, jp, 1 , elem))]
254
+ weight = pweight[linear_ind (sizet_wt, (ip, jp, 1 , elem))]
255
255
for fidx in scalarfidx
256
- data_idx =
257
- Topologies. _get_idx (sizet_data, (level, ip, jp, fidx, elem))
256
+ data_idx = linear_ind (sizet_data, (level, ip, jp, fidx, elem))
258
257
pperimeter_data[level, p, fidx, elem] = pdata[data_idx] * weight
259
258
end
260
259
for fidx in covariant12fidx
261
- data_idx1 =
262
- Topologies. _get_idx (sizet_data, (level, ip, jp, fidx, elem))
263
- data_idx2 =
264
- Topologies. _get_idx (sizet_data, (level, ip, jp, fidx + 1 , elem))
260
+ data_idx1 = linear_ind (sizet_data, (level, ip, jp, fidx, elem))
261
+ data_idx2 = linear_ind (sizet_data, (level, ip, jp, fidx + 1 , elem))
265
262
(idx11, idx12, idx21, idx22) =
266
263
Topologies. _get_idx_metric (sizet_metric, (level, ip, jp, elem))
267
264
pperimeter_data[level, p, fidx, elem] =
@@ -276,10 +273,8 @@ function dss_transform_kernel!(
276
273
) * weight
277
274
end
278
275
for fidx in contravariant12fidx
279
- data_idx1 =
280
- Topologies. _get_idx (sizet_data, (level, ip, jp, fidx, elem))
281
- data_idx2 =
282
- Topologies. _get_idx (sizet_data, (level, ip, jp, fidx + 1 , elem))
276
+ data_idx1 = linear_ind (sizet_data, (level, ip, jp, fidx, elem))
277
+ data_idx2 = linear_ind (sizet_data, (level, ip, jp, fidx + 1 , elem))
283
278
(idx11, idx12, idx21, idx22) =
284
279
Topologies. _get_idx_metric (sizet_metric, (level, ip, jp, elem))
285
280
pperimeter_data[level, p, fidx, elem] =
@@ -363,19 +358,16 @@ function dss_untransform_kernel!(
363
358
sizet_wt = (Nq, Nq, 1 , nelems)
364
359
sizet_metric = (nlevels, Nq, Nq, nmetric, nelems)
365
360
366
- (level, p, localelemno) = Topologies . _get_idx (sizet, gidx)
361
+ (level, p, localelemno) = cart_ind (sizet, gidx). I
367
362
elem = localelems[localelemno]
368
363
ip, jp = perimeter[p]
369
364
for fidx in scalarfidx
370
- data_idx =
371
- Topologies. _get_idx (sizet_data, (level, ip, jp, fidx, elem))
365
+ data_idx = linear_ind (sizet_data, (level, ip, jp, fidx, elem))
372
366
pdata[data_idx] = pperimeter_data[level, p, fidx, elem]
373
367
end
374
368
for fidx in covariant12fidx
375
- data_idx1 =
376
- Topologies. _get_idx (sizet_data, (level, ip, jp, fidx, elem))
377
- data_idx2 =
378
- Topologies. _get_idx (sizet_data, (level, ip, jp, fidx + 1 , elem))
369
+ data_idx1 = linear_ind (sizet_data, (level, ip, jp, fidx, elem))
370
+ data_idx2 = linear_ind (sizet_data, (level, ip, jp, fidx + 1 , elem))
379
371
(idx11, idx12, idx21, idx22) =
380
372
Topologies. _get_idx_metric (sizet_metric, (level, ip, jp, elem))
381
373
pdata[data_idx1] =
@@ -386,10 +378,8 @@ function dss_untransform_kernel!(
386
378
p∂x∂ξ[idx22] * pperimeter_data[level, p, fidx + 1 , elem]
387
379
end
388
380
for fidx in contravariant12fidx
389
- data_idx1 =
390
- Topologies. _get_idx (sizet_data, (level, ip, jp, fidx, elem))
391
- data_idx2 =
392
- Topologies. _get_idx (sizet_data, (level, ip, jp, fidx + 1 , elem))
381
+ data_idx1 = linear_ind (sizet_data, (level, ip, jp, fidx, elem))
382
+ data_idx2 = linear_ind (sizet_data, (level, ip, jp, fidx + 1 , elem))
393
383
(idx11, idx12, idx21, idx22) =
394
384
Topologies. _get_idx_metric (sizet_metric, (level, ip, jp, elem))
395
385
pdata[data_idx1] =
@@ -445,7 +435,7 @@ function dss_local_ghost_kernel!(
445
435
nghostvertices = length (ghost_vertex_offset) - 1
446
436
if gidx ≤ nlevels * nfidx * nghostvertices
447
437
sizev = (nlevels, nfidx, nghostvertices)
448
- (level, fidx, vertexid) = Topologies . _get_idx (sizev, gidx)
438
+ (level, fidx, vertexid) = cart_ind (sizev, gidx). I
449
439
sum_data = FT (0 )
450
440
st, en =
451
441
ghost_vertex_offset[vertexid], ghost_vertex_offset[vertexid + 1 ]
@@ -506,8 +496,8 @@ function fill_send_buffer_kernel!(
506
496
sizet = (nlevels, nfid, nsend)
507
497
# if gidx ≤ nsend * nlevels * nfid
508
498
if gidx ≤ nlevels * nfid * nsend
509
- # (isend, level, fidx) = Topologies._get_idx (sizet, gidx)
510
- (level, fidx, isend) = Topologies . _get_idx (sizet, gidx)
499
+ # (isend, level, fidx) = cart_ind (sizet, gidx).I
500
+ (level, fidx, isend) = cart_ind (sizet, gidx). I
511
501
lidx = send_buf_idx[isend, 1 ]
512
502
ip = send_buf_idx[isend, 2 ]
513
503
idx = level + ((fidx - 1 ) + (isend - 1 ) * nfid) * nlevels
@@ -551,8 +541,8 @@ function load_from_recv_buffer_kernel!(
551
541
sizet = (nlevels, nfid, nrecv)
552
542
# if gidx ≤ nrecv * nlevels * nfid
553
543
if gidx ≤ nlevels * nfid * nrecv
554
- # (irecv, level, fidx) = Topologies._get_idx (sizet, gidx)
555
- (level, fidx, irecv) = Topologies . _get_idx (sizet, gidx)
544
+ # (irecv, level, fidx) = cart_ind (sizet, gidx).I
545
+ (level, fidx, irecv) = cart_ind (sizet, gidx). I
556
546
lidx = recv_buf_idx[irecv, 1 ]
557
547
ip = recv_buf_idx[irecv, 2 ]
558
548
idx = level + ((fidx - 1 ) + (irecv - 1 ) * nfid) * nlevels
@@ -605,7 +595,7 @@ function dss_ghost_kernel!(
605
595
606
596
if gidx ≤ nlevels * nfidx * nghostvertices
607
597
(level, fidx, ghostvertexidx) =
608
- Topologies . _get_idx ((nlevels, nfidx, nghostvertices), gidx)
598
+ cart_ind ((nlevels, nfidx, nghostvertices), gidx). I
609
599
idxresult, lvertresult = repr_ghost_vertex[ghostvertexidx]
610
600
ipresult = perimeter_vertex_node_index (lvertresult)
611
601
result = pperimeter_data[level, ipresult, fidx, idxresult]
0 commit comments