# Copyright (c) 1998 Lawrence Livermore National Security, LLC and other
# HYPRE Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)


###########################################################
#
#   ---------------
#   |             |
#   |   part 1    |
#   |             | 
#   | j           |
#   | |           |
#   | ---i        |
#   ---------------
#   |             |
#   |   part 0    |
#   |             | 
#   | j           |
#   | |           |
#   | ---i        |
#   ---------------
#
###########################################################

# GridCreate: ndim nparts
GridCreate: 2 2

# GridSetExtents: part ilower(ndim) iupper(ndim)
GridSetExtents: 0 (2- 2-) (3+ 3+)
GridSetExtents: 1 (2- 2-) (3+ 3+)

# GridSetVariables: part nvars vartypes[nvars]
# CELL  = 0
GridSetVariables: 0 1 [0]
GridSetVariables: 1 1 [0]

# GridSetNeighborPart: part      ilower(ndim)      iupper(ndim) \
#                      nbor_part nbor_ilower(ndim) nbor_iupper(ndim) \
#                      index_map[ndim] index_dir[ndim]
GridSetNeighborPart: 0 (1+ 4-) (4- 4-) 1 (1+ 2-) (4- 2-) [0 1] [1 1]
GridSetNeighborPart: 1 (1+ 1+) (4- 1+) 0 (1+ 3+) (4- 3+) [0 1] [1 1]

###########################################################

# StencilCreate: nstencils sizes[nstencils]
StencilCreate: 1 [5]

# StencilSetEntry: stencil_num entry offset[ndim] var value
StencilSetEntry: 0  0 [-1  0] 0 -1.0
StencilSetEntry: 0  1 [ 0  1] 0 -1.0
StencilSetEntry: 0  2 [ 1  0] 0 -1.0
StencilSetEntry: 0  3 [ 0 -1] 0 -1.0
StencilSetEntry: 0  4 [ 0  0] 0  4.0

###########################################################

# GraphSetStencil: part var stencil_num
GraphSetStencil: 0 0 0
GraphSetStencil: 1 0 0

###########################################################

# MatrixSetValues: \
#   part ilower(ndim) iupper(ndim) stride[ndim] var entry value
MatrixSetValues: 0 (2- 2-) (2- 3+) [1 1] 0 0 0.0
MatrixSetValues: 0 (3+ 2-) (3+ 3+) [1 1] 0 2 0.0
MatrixSetValues: 0 (2- 2-) (3+ 2-) [1 1] 0 3 0.0
#MatrixSetValues: 0 (2- 3+) (3+ 3+) [1 1] 0 1 0.0

MatrixSetValues: 1 (2- 2-) (2- 3+) [1 1] 0 0 0.0
MatrixSetValues: 1 (3+ 2-) (3+ 3+) [1 1] 0 2 0.0
#MatrixSetValues: 1 (2- 2-) (3+ 2-) [1 1] 0 3 0.0
MatrixSetValues: 1 (2- 3+) (3+ 3+) [1 1] 0 1 0.0

###########################################################

# ProcessPoolCreate: num_pools
ProcessPoolCreate: 1

# ProcessPoolSetPart: pool part
ProcessPoolSetPart: 0 0
ProcessPoolSetPart: 0 1

###########################################################

