summer 2022 work- LBC halo cleanup
Context
The aim of this development is to be able to use lbc_lnk
with (potentially multiple) arrays that have different shapes for any of their dimensions, including for dimension 1 and 2 (because the arrays can include 0, 1 or 2 halos).
Proposal
This work will be done in several steps:
-
update/replace the arrays m[ij]g and m[ij][01] so they work with arrays containing 0 to nn_hls halos. This 1D arrays are replaced by 2D arrays, the second dimension being the halo size.
By default we therefore replace everywhere:-
mig(ji)
bymig(ji,nn_hls)
. Same story formjg
-
mig0(ji)
bymig(ji,0)
and suppressmig0
. Same story formjg0
-
mi0(ji)
bymi0(ji,nn_hls)
. Same story formi1
,mj0
,mj1
-
-
update basic ew/ns communications: lbc_lnk_pt2pt_generic -
update NP folding: update lbc_nfd_generic.h90 and mpp_nfd_generic -
update neighborhood collective communications: lbc_lnk_neicoll_generic.h90
Edited by Sebastien Masson