build_mesh_2d_local Subroutine

public subroutine build_mesh_2d_local(mesh, ix_first, iy_first, nx_local, ny_local, is_ok, message)

Slice the (global) metric arrays of mesh into this rank's local sub-block. Cells ix_first..ix_first+nx_local-1, iy_first..iy_first+ny_local-1 (1-based global). xi-faces span nx_local+1 columns starting at global column ix_first; eta-faces span ny_local+1 rows starting at iy_first. Shared inter-rank faces are identical on both ranks because both slice the same global metrics. No-op for uniform grids (they use scalar dx/dy).

Arguments

Type IntentOptional Attributes Name
type(mesh_2d_t), intent(inout) :: mesh
integer, intent(in) :: ix_first
integer, intent(in) :: iy_first
integer, intent(in) :: nx_local
integer, intent(in) :: ny_local
logical, intent(out) :: is_ok
character(len=*), intent(out) :: message