Adding regression tests that check 7pt, 19pt, positive/negative definite, singular
problems with periodic and Neumann conditions. Related to [issue915].
This commit is contained in:
parent
44ac0f1d52
commit
7b286bd16f
85
test/TEST_sstruct/sstruct.in.19aniso
Normal file
85
test/TEST_sstruct/sstruct.in.19aniso
Normal file
@ -0,0 +1,85 @@
|
||||
|
||||
###########################################################
|
||||
|
||||
# GridCreate: ndim nparts
|
||||
GridCreate: 3 1
|
||||
|
||||
# GridSetExtents: part ilower(ndim) iupper(ndim)
|
||||
GridSetExtents: 0 (1- 1- 1-) (8+ 4+ 4+)
|
||||
|
||||
# GridSetVariables: part nvars vartypes[nvars]
|
||||
# CELL = 0
|
||||
GridSetVariables: 0 1 [0]
|
||||
|
||||
# GridSetPeriodic: part periodic[ndim]
|
||||
GridSetPeriodic: 0 [0 0 4]
|
||||
|
||||
###########################################################
|
||||
|
||||
# StencilCreate: nstencils sizes[nstencils]
|
||||
StencilCreate: 1 [19]
|
||||
|
||||
# StencilSetEntry: stencil_num entry offset[ndim] var value
|
||||
StencilSetEntry: 0 0 [ 1 1 0 ] 0 0.0
|
||||
StencilSetEntry: 0 1 [ 1 0 0 ] 0 100.0
|
||||
StencilSetEntry: 0 2 [ 1 -1 0 ] 0 0.0
|
||||
StencilSetEntry: 0 3 [ 0 -1 0 ] 0 10000.0
|
||||
StencilSetEntry: 0 4 [ -1 -1 0 ] 0 0.0
|
||||
StencilSetEntry: 0 5 [ -1 0 0 ] 0 100.0
|
||||
StencilSetEntry: 0 6 [ -1 1 0 ] 0 0.0
|
||||
StencilSetEntry: 0 7 [ 0 1 0 ] 0 10000.0
|
||||
StencilSetEntry: 0 8 [ 0 0 0 ] 0 -20208.0
|
||||
StencilSetEntry: 0 9 [ 1 0 -1 ] 0 0.0
|
||||
StencilSetEntry: 0 10 [ 0 -1 -1 ] 0 0.0
|
||||
StencilSetEntry: 0 11 [ -1 0 -1 ] 0 0.0
|
||||
StencilSetEntry: 0 12 [ 0 1 -1 ] 0 0.0
|
||||
StencilSetEntry: 0 13 [ 0 0 -1 ] 0 4.0
|
||||
StencilSetEntry: 0 14 [ 1 0 1 ] 0 0.0
|
||||
StencilSetEntry: 0 15 [ 0 -1 1 ] 0 0.0
|
||||
StencilSetEntry: 0 16 [ -1 0 1 ] 0 0.0
|
||||
StencilSetEntry: 0 17 [ 0 1 1 ] 0 0.0
|
||||
StencilSetEntry: 0 18 [ 0 0 1 ] 0 4.0
|
||||
|
||||
###########################################################
|
||||
|
||||
# GraphSetStencil: part var stencil_num
|
||||
GraphSetStencil: 0 0 0
|
||||
|
||||
###########################################################
|
||||
|
||||
# Neumann in both x and y
|
||||
|
||||
# MatrixSetValues: \
|
||||
# part ilower(ndim) iupper(ndim) stride[ndim] var entry value
|
||||
# west
|
||||
MatrixSetValues: 0 (1- 1- 1-) (1- 4+ 4+) [1 1 1] 0 5 0.0
|
||||
MatrixSetValues: 0 (1- 1- 1-) (1- 4+ 4+) [1 1 1] 0 8 -20108.0
|
||||
# east
|
||||
MatrixSetValues: 0 (8+ 1- 1-) (8+ 4+ 4+) [1 1 1] 0 1 0.0
|
||||
MatrixSetValues: 0 (8+ 1- 1-) (8+ 4+ 4+) [1 1 1] 0 8 -20108.0
|
||||
# south
|
||||
MatrixSetValues: 0 (1- 1- 1-) (8+ 1- 4+) [1 1 1] 0 3 0.0
|
||||
MatrixSetValues: 0 (1- 1- 1-) (8+ 1- 4+) [1 1 1] 0 8 -10208.0
|
||||
# north
|
||||
MatrixSetValues: 0 (1- 4+ 1-) (8+ 4+ 4+) [1 1 1] 0 7 0.0
|
||||
MatrixSetValues: 0 (1- 4+ 1-) (8+ 4+ 4+) [1 1 1] 0 8 -10208.0
|
||||
# lower
|
||||
#MatrixSetValues: 0 (1- 1- 1-) (8+ 4+ 1-) [1 1 1] 0 13 0.0
|
||||
# upper
|
||||
#MatrixSetValues: 0 (1- 1- 4+) (8+ 4+ 4+) [1 1 1] 0 18 0.0
|
||||
|
||||
MatrixSetValues: 0 (1- 1- 1-) (1- 1- 4+) [1 1 1] 0 8 -10108.0
|
||||
MatrixSetValues: 0 (8+ 1- 1-) (8+ 1- 4+) [1 1 1] 0 8 -10108.0
|
||||
MatrixSetValues: 0 (1- 4+ 1-) (1- 4+ 4+) [1 1 1] 0 8 -10108.0
|
||||
MatrixSetValues: 0 (8+ 4+ 1-) (8+ 4+ 4+) [1 1 1] 0 8 -10108.0
|
||||
|
||||
###########################################################
|
||||
|
||||
# ProcessPoolCreate: num_pools
|
||||
ProcessPoolCreate: 1
|
||||
|
||||
# ProcessPoolSetPart: pool part
|
||||
ProcessPoolSetPart: 0 0
|
||||
|
||||
###########################################################
|
||||
|
||||
85
test/TEST_sstruct/sstruct.in.19iso
Normal file
85
test/TEST_sstruct/sstruct.in.19iso
Normal file
@ -0,0 +1,85 @@
|
||||
|
||||
###########################################################
|
||||
|
||||
# GridCreate: ndim nparts
|
||||
GridCreate: 3 1
|
||||
|
||||
# GridSetExtents: part ilower(ndim) iupper(ndim)
|
||||
GridSetExtents: 0 (1- 1- 1-) (8+ 4+ 4+)
|
||||
|
||||
# GridSetVariables: part nvars vartypes[nvars]
|
||||
# CELL = 0
|
||||
GridSetVariables: 0 1 [0]
|
||||
|
||||
# GridSetPeriodic: part periodic[ndim]
|
||||
GridSetPeriodic: 0 [0 0 4]
|
||||
|
||||
###########################################################
|
||||
|
||||
# StencilCreate: nstencils sizes[nstencils]
|
||||
StencilCreate: 1 [19]
|
||||
|
||||
# StencilSetEntry: stencil_num entry offset[ndim] var value
|
||||
StencilSetEntry: 0 0 [ 1 1 0 ] 0 0.0
|
||||
StencilSetEntry: 0 1 [ 1 0 0 ] 0 1.0
|
||||
StencilSetEntry: 0 2 [ 1 -1 0 ] 0 0.0
|
||||
StencilSetEntry: 0 3 [ 0 -1 0 ] 0 1.0
|
||||
StencilSetEntry: 0 4 [ -1 -1 0 ] 0 0.0
|
||||
StencilSetEntry: 0 5 [ -1 0 0 ] 0 1.0
|
||||
StencilSetEntry: 0 6 [ -1 1 0 ] 0 0.0
|
||||
StencilSetEntry: 0 7 [ 0 1 0 ] 0 1.0
|
||||
StencilSetEntry: 0 8 [ 0 0 0 ] 0 -6.0
|
||||
StencilSetEntry: 0 9 [ 1 0 -1 ] 0 0.0
|
||||
StencilSetEntry: 0 10 [ 0 -1 -1 ] 0 0.0
|
||||
StencilSetEntry: 0 11 [ -1 0 -1 ] 0 0.0
|
||||
StencilSetEntry: 0 12 [ 0 1 -1 ] 0 0.0
|
||||
StencilSetEntry: 0 13 [ 0 0 -1 ] 0 1.0
|
||||
StencilSetEntry: 0 14 [ 1 0 1 ] 0 0.0
|
||||
StencilSetEntry: 0 15 [ 0 -1 1 ] 0 0.0
|
||||
StencilSetEntry: 0 16 [ -1 0 1 ] 0 0.0
|
||||
StencilSetEntry: 0 17 [ 0 1 1 ] 0 0.0
|
||||
StencilSetEntry: 0 18 [ 0 0 1 ] 0 1.0
|
||||
|
||||
###########################################################
|
||||
|
||||
# GraphSetStencil: part var stencil_num
|
||||
GraphSetStencil: 0 0 0
|
||||
|
||||
###########################################################
|
||||
|
||||
# Neumann in both x and y
|
||||
|
||||
# MatrixSetValues: \
|
||||
# part ilower(ndim) iupper(ndim) stride[ndim] var entry value
|
||||
# west
|
||||
MatrixSetValues: 0 (1- 1- 1-) (1- 4+ 4+) [1 1 1] 0 5 0.0
|
||||
MatrixSetValues: 0 (1- 1- 1-) (1- 4+ 4+) [1 1 1] 0 8 -5.0
|
||||
# east
|
||||
MatrixSetValues: 0 (8+ 1- 1-) (8+ 4+ 4+) [1 1 1] 0 1 0.0
|
||||
MatrixSetValues: 0 (8+ 1- 1-) (8+ 4+ 4+) [1 1 1] 0 8 -5.0
|
||||
# south
|
||||
MatrixSetValues: 0 (1- 1- 1-) (8+ 1- 4+) [1 1 1] 0 3 0.0
|
||||
MatrixSetValues: 0 (1- 1- 1-) (8+ 1- 4+) [1 1 1] 0 8 -5.0
|
||||
# north
|
||||
MatrixSetValues: 0 (1- 4+ 1-) (8+ 4+ 4+) [1 1 1] 0 7 0.0
|
||||
MatrixSetValues: 0 (1- 4+ 1-) (8+ 4+ 4+) [1 1 1] 0 8 -5.0
|
||||
# lower
|
||||
#MatrixSetValues: 0 (1- 1- 1-) (8+ 4+ 1-) [1 1 1] 0 13 0.0
|
||||
# upper
|
||||
#MatrixSetValues: 0 (1- 1- 4+) (8+ 4+ 4+) [1 1 1] 0 18 0.0
|
||||
|
||||
MatrixSetValues: 0 (1- 1- 1-) (1- 1- 4+) [1 1 1] 0 8 -4.0
|
||||
MatrixSetValues: 0 (8+ 1- 1-) (8+ 1- 4+) [1 1 1] 0 8 -4.0
|
||||
MatrixSetValues: 0 (1- 4+ 1-) (1- 4+ 4+) [1 1 1] 0 8 -4.0
|
||||
MatrixSetValues: 0 (8+ 4+ 1-) (8+ 4+ 4+) [1 1 1] 0 8 -4.0
|
||||
|
||||
###########################################################
|
||||
|
||||
# ProcessPoolCreate: num_pools
|
||||
ProcessPoolCreate: 1
|
||||
|
||||
# ProcessPoolSetPart: pool part
|
||||
ProcessPoolSetPart: 0 0
|
||||
|
||||
###########################################################
|
||||
|
||||
71
test/TEST_sstruct/sstruct.in.7aniso
Normal file
71
test/TEST_sstruct/sstruct.in.7aniso
Normal file
@ -0,0 +1,71 @@
|
||||
|
||||
###########################################################
|
||||
|
||||
# GridCreate: ndim nparts
|
||||
GridCreate: 3 1
|
||||
|
||||
# GridSetExtents: part ilower(ndim) iupper(ndim)
|
||||
GridSetExtents: 0 (1- 1- 1-) (8+ 4+ 4+)
|
||||
|
||||
# GridSetVariables: part nvars vartypes[nvars]
|
||||
# CELL = 0
|
||||
GridSetVariables: 0 1 [0]
|
||||
|
||||
# GridSetPeriodic: part periodic[ndim]
|
||||
GridSetPeriodic: 0 [0 0 4]
|
||||
|
||||
###########################################################
|
||||
|
||||
# StencilCreate: nstencils sizes[nstencils]
|
||||
StencilCreate: 1 [7]
|
||||
|
||||
# StencilSetEntry: stencil_num entry offset[ndim] var value
|
||||
StencilSetEntry: 0 0 [ 0 0 0] 0 -20208.0
|
||||
StencilSetEntry: 0 1 [-1 0 0] 0 100.0
|
||||
StencilSetEntry: 0 2 [ 1 0 0] 0 100.0
|
||||
StencilSetEntry: 0 3 [ 0 -1 0] 0 10000.0
|
||||
StencilSetEntry: 0 4 [ 0 1 0] 0 10000.0
|
||||
StencilSetEntry: 0 5 [ 0 0 -1] 0 4.0
|
||||
StencilSetEntry: 0 6 [ 0 0 1] 0 4.0
|
||||
|
||||
###########################################################
|
||||
|
||||
# GraphSetStencil: part var stencil_num
|
||||
GraphSetStencil: 0 0 0
|
||||
|
||||
###########################################################
|
||||
|
||||
# MatrixSetValues: \
|
||||
# part ilower(ndim) iupper(ndim) stride[ndim] var entry value
|
||||
# west
|
||||
MatrixSetValues: 0 (1- 1- 1-) (1- 4+ 4+) [1 1 1] 0 1 0.0
|
||||
MatrixSetValues: 0 (1- 1- 1-) (1- 4+ 4+) [1 1 1] 0 0 -20108.0
|
||||
# east
|
||||
MatrixSetValues: 0 (8+ 1- 1-) (8+ 4+ 4+) [1 1 1] 0 2 0.0
|
||||
MatrixSetValues: 0 (8+ 1- 1-) (8+ 4+ 4+) [1 1 1] 0 0 -20108.0
|
||||
# south
|
||||
MatrixSetValues: 0 (1- 1- 1-) (8+ 1- 4+) [1 1 1] 0 3 0.0
|
||||
MatrixSetValues: 0 (1- 1- 1-) (8+ 1- 4+) [1 1 1] 0 0 -10208.0
|
||||
# north
|
||||
MatrixSetValues: 0 (1- 4+ 1-) (8+ 4+ 4+) [1 1 1] 0 4 0.0
|
||||
MatrixSetValues: 0 (1- 4+ 1-) (8+ 4+ 4+) [1 1 1] 0 0 -10208.0
|
||||
# lower
|
||||
#MatrixSetValues: 0 (1- 1- 1-) (8+ 4+ 1-) [1 1 1] 0 5 0.0
|
||||
# upper
|
||||
#MatrixSetValues: 0 (1- 1- 4+) (8+ 4+ 4+) [1 1 1] 0 6 0.0
|
||||
|
||||
MatrixSetValues: 0 (1- 1- 1-) (1- 1- 4+) [1 1 1] 0 0 -10108.0
|
||||
MatrixSetValues: 0 (8+ 1- 1-) (8+ 1- 4+) [1 1 1] 0 0 -10108.0
|
||||
MatrixSetValues: 0 (1- 4+ 1-) (1- 4+ 4+) [1 1 1] 0 0 -10108.0
|
||||
MatrixSetValues: 0 (8+ 4+ 1-) (8+ 4+ 4+) [1 1 1] 0 0 -10108.0
|
||||
|
||||
###########################################################
|
||||
|
||||
# ProcessPoolCreate: num_pools
|
||||
ProcessPoolCreate: 1
|
||||
|
||||
# ProcessPoolSetPart: pool part
|
||||
ProcessPoolSetPart: 0 0
|
||||
|
||||
###########################################################
|
||||
|
||||
71
test/TEST_sstruct/sstruct.in.7iso
Normal file
71
test/TEST_sstruct/sstruct.in.7iso
Normal file
@ -0,0 +1,71 @@
|
||||
|
||||
###########################################################
|
||||
|
||||
# GridCreate: ndim nparts
|
||||
GridCreate: 3 1
|
||||
|
||||
# GridSetExtents: part ilower(ndim) iupper(ndim)
|
||||
GridSetExtents: 0 (1- 1- 1-) (8+ 4+ 4+)
|
||||
|
||||
# GridSetVariables: part nvars vartypes[nvars]
|
||||
# CELL = 0
|
||||
GridSetVariables: 0 1 [0]
|
||||
|
||||
# GridSetPeriodic: part periodic[ndim]
|
||||
GridSetPeriodic: 0 [0 0 4]
|
||||
|
||||
###########################################################
|
||||
|
||||
# StencilCreate: nstencils sizes[nstencils]
|
||||
StencilCreate: 1 [7]
|
||||
|
||||
# StencilSetEntry: stencil_num entry offset[ndim] var value
|
||||
StencilSetEntry: 0 0 [ 0 0 0] 0 -6.0
|
||||
StencilSetEntry: 0 1 [-1 0 0] 0 1.0
|
||||
StencilSetEntry: 0 2 [ 1 0 0] 0 1.0
|
||||
StencilSetEntry: 0 3 [ 0 -1 0] 0 1.0
|
||||
StencilSetEntry: 0 4 [ 0 1 0] 0 1.0
|
||||
StencilSetEntry: 0 5 [ 0 0 -1] 0 1.0
|
||||
StencilSetEntry: 0 6 [ 0 0 1] 0 1.0
|
||||
|
||||
###########################################################
|
||||
|
||||
# GraphSetStencil: part var stencil_num
|
||||
GraphSetStencil: 0 0 0
|
||||
|
||||
###########################################################
|
||||
|
||||
# MatrixSetValues: \
|
||||
# part ilower(ndim) iupper(ndim) stride[ndim] var entry value
|
||||
# west
|
||||
MatrixSetValues: 0 (1- 1- 1-) (1- 4+ 4+) [1 1 1] 0 1 0.0
|
||||
MatrixSetValues: 0 (1- 1- 1-) (1- 4+ 4+) [1 1 1] 0 0 -5.0
|
||||
# east
|
||||
MatrixSetValues: 0 (8+ 1- 1-) (8+ 4+ 4+) [1 1 1] 0 2 0.0
|
||||
MatrixSetValues: 0 (8+ 1- 1-) (8+ 4+ 4+) [1 1 1] 0 0 -5.0
|
||||
# south
|
||||
MatrixSetValues: 0 (1- 1- 1-) (8+ 1- 4+) [1 1 1] 0 3 0.0
|
||||
MatrixSetValues: 0 (1- 1- 1-) (8+ 1- 4+) [1 1 1] 0 0 -5.0
|
||||
# north
|
||||
MatrixSetValues: 0 (1- 4+ 1-) (8+ 4+ 4+) [1 1 1] 0 4 0.0
|
||||
MatrixSetValues: 0 (1- 4+ 1-) (8+ 4+ 4+) [1 1 1] 0 0 -5.0
|
||||
# lower
|
||||
#MatrixSetValues: 0 (1- 1- 1-) (8+ 4+ 1-) [1 1 1] 0 5 0.0
|
||||
# upper
|
||||
#MatrixSetValues: 0 (1- 1- 4+) (8+ 4+ 4+) [1 1 1] 0 6 0.0
|
||||
|
||||
MatrixSetValues: 0 (1- 1- 1-) (1- 1- 4+) [1 1 1] 0 0 -4.0
|
||||
MatrixSetValues: 0 (8+ 1- 1-) (8+ 1- 4+) [1 1 1] 0 0 -4.0
|
||||
MatrixSetValues: 0 (1- 4+ 1-) (1- 4+ 4+) [1 1 1] 0 0 -4.0
|
||||
MatrixSetValues: 0 (8+ 4+ 1-) (8+ 4+ 4+) [1 1 1] 0 0 -4.0
|
||||
|
||||
###########################################################
|
||||
|
||||
# ProcessPoolCreate: num_pools
|
||||
ProcessPoolCreate: 1
|
||||
|
||||
# ProcessPoolSetPart: pool part
|
||||
ProcessPoolSetPart: 0 0
|
||||
|
||||
###########################################################
|
||||
|
||||
85
test/TEST_sstruct/sstruct.in.p19aniso
Normal file
85
test/TEST_sstruct/sstruct.in.p19aniso
Normal file
@ -0,0 +1,85 @@
|
||||
|
||||
###########################################################
|
||||
|
||||
# GridCreate: ndim nparts
|
||||
GridCreate: 3 1
|
||||
|
||||
# GridSetExtents: part ilower(ndim) iupper(ndim)
|
||||
GridSetExtents: 0 (1- 1- 1-) (8+ 4+ 4+)
|
||||
|
||||
# GridSetVariables: part nvars vartypes[nvars]
|
||||
# CELL = 0
|
||||
GridSetVariables: 0 1 [0]
|
||||
|
||||
# GridSetPeriodic: part periodic[ndim]
|
||||
GridSetPeriodic: 0 [0 0 4]
|
||||
|
||||
###########################################################
|
||||
|
||||
# StencilCreate: nstencils sizes[nstencils]
|
||||
StencilCreate: 1 [19]
|
||||
|
||||
# StencilSetEntry: stencil_num entry offset[ndim] var value
|
||||
StencilSetEntry: 0 0 [ 1 1 0 ] 0 0.0
|
||||
StencilSetEntry: 0 1 [ 1 0 0 ] 0 -100.0
|
||||
StencilSetEntry: 0 2 [ 1 -1 0 ] 0 0.0
|
||||
StencilSetEntry: 0 3 [ 0 -1 0 ] 0 -10000.0
|
||||
StencilSetEntry: 0 4 [ -1 -1 0 ] 0 0.0
|
||||
StencilSetEntry: 0 5 [ -1 0 0 ] 0 -100.0
|
||||
StencilSetEntry: 0 6 [ -1 1 0 ] 0 0.0
|
||||
StencilSetEntry: 0 7 [ 0 1 0 ] 0 -10000.0
|
||||
StencilSetEntry: 0 8 [ 0 0 0 ] 0 20208.0
|
||||
StencilSetEntry: 0 9 [ 1 0 -1 ] 0 0.0
|
||||
StencilSetEntry: 0 10 [ 0 -1 -1 ] 0 0.0
|
||||
StencilSetEntry: 0 11 [ -1 0 -1 ] 0 0.0
|
||||
StencilSetEntry: 0 12 [ 0 1 -1 ] 0 0.0
|
||||
StencilSetEntry: 0 13 [ 0 0 -1 ] 0 -4.0
|
||||
StencilSetEntry: 0 14 [ 1 0 1 ] 0 0.0
|
||||
StencilSetEntry: 0 15 [ 0 -1 1 ] 0 0.0
|
||||
StencilSetEntry: 0 16 [ -1 0 1 ] 0 0.0
|
||||
StencilSetEntry: 0 17 [ 0 1 1 ] 0 0.0
|
||||
StencilSetEntry: 0 18 [ 0 0 1 ] 0 -4.0
|
||||
|
||||
###########################################################
|
||||
|
||||
# GraphSetStencil: part var stencil_num
|
||||
GraphSetStencil: 0 0 0
|
||||
|
||||
###########################################################
|
||||
|
||||
# Neumann in both x and y
|
||||
|
||||
# MatrixSetValues: \
|
||||
# part ilower(ndim) iupper(ndim) stride[ndim] var entry value
|
||||
# west
|
||||
MatrixSetValues: 0 (1- 1- 1-) (1- 4+ 4+) [1 1 1] 0 5 0.0
|
||||
MatrixSetValues: 0 (1- 1- 1-) (1- 4+ 4+) [1 1 1] 0 8 20108.0
|
||||
# east
|
||||
MatrixSetValues: 0 (8+ 1- 1-) (8+ 4+ 4+) [1 1 1] 0 1 0.0
|
||||
MatrixSetValues: 0 (8+ 1- 1-) (8+ 4+ 4+) [1 1 1] 0 8 20108.0
|
||||
# south
|
||||
MatrixSetValues: 0 (1- 1- 1-) (8+ 1- 4+) [1 1 1] 0 3 0.0
|
||||
MatrixSetValues: 0 (1- 1- 1-) (8+ 1- 4+) [1 1 1] 0 8 10208.0
|
||||
# north
|
||||
MatrixSetValues: 0 (1- 4+ 1-) (8+ 4+ 4+) [1 1 1] 0 7 0.0
|
||||
MatrixSetValues: 0 (1- 4+ 1-) (8+ 4+ 4+) [1 1 1] 0 8 10208.0
|
||||
# lower
|
||||
#MatrixSetValues: 0 (1- 1- 1-) (8+ 4+ 1-) [1 1 1] 0 13 0.0
|
||||
# upper
|
||||
#MatrixSetValues: 0 (1- 1- 4+) (8+ 4+ 4+) [1 1 1] 0 18 0.0
|
||||
|
||||
MatrixSetValues: 0 (1- 1- 1-) (1- 1- 4+) [1 1 1] 0 8 10108.0
|
||||
MatrixSetValues: 0 (8+ 1- 1-) (8+ 1- 4+) [1 1 1] 0 8 10108.0
|
||||
MatrixSetValues: 0 (1- 4+ 1-) (1- 4+ 4+) [1 1 1] 0 8 10108.0
|
||||
MatrixSetValues: 0 (8+ 4+ 1-) (8+ 4+ 4+) [1 1 1] 0 8 10108.0
|
||||
|
||||
###########################################################
|
||||
|
||||
# ProcessPoolCreate: num_pools
|
||||
ProcessPoolCreate: 1
|
||||
|
||||
# ProcessPoolSetPart: pool part
|
||||
ProcessPoolSetPart: 0 0
|
||||
|
||||
###########################################################
|
||||
|
||||
85
test/TEST_sstruct/sstruct.in.p19iso
Normal file
85
test/TEST_sstruct/sstruct.in.p19iso
Normal file
@ -0,0 +1,85 @@
|
||||
|
||||
###########################################################
|
||||
|
||||
# GridCreate: ndim nparts
|
||||
GridCreate: 3 1
|
||||
|
||||
# GridSetExtents: part ilower(ndim) iupper(ndim)
|
||||
GridSetExtents: 0 (1- 1- 1-) (8+ 4+ 4+)
|
||||
|
||||
# GridSetVariables: part nvars vartypes[nvars]
|
||||
# CELL = 0
|
||||
GridSetVariables: 0 1 [0]
|
||||
|
||||
# GridSetPeriodic: part periodic[ndim]
|
||||
GridSetPeriodic: 0 [0 0 4]
|
||||
|
||||
###########################################################
|
||||
|
||||
# StencilCreate: nstencils sizes[nstencils]
|
||||
StencilCreate: 1 [19]
|
||||
|
||||
# StencilSetEntry: stencil_num entry offset[ndim] var value
|
||||
StencilSetEntry: 0 0 [ 1 1 0 ] 0 0.0
|
||||
StencilSetEntry: 0 1 [ 1 0 0 ] 0 -1.0
|
||||
StencilSetEntry: 0 2 [ 1 -1 0 ] 0 0.0
|
||||
StencilSetEntry: 0 3 [ 0 -1 0 ] 0 -1.0
|
||||
StencilSetEntry: 0 4 [ -1 -1 0 ] 0 0.0
|
||||
StencilSetEntry: 0 5 [ -1 0 0 ] 0 -1.0
|
||||
StencilSetEntry: 0 6 [ -1 1 0 ] 0 0.0
|
||||
StencilSetEntry: 0 7 [ 0 1 0 ] 0 -1.0
|
||||
StencilSetEntry: 0 8 [ 0 0 0 ] 0 6.0
|
||||
StencilSetEntry: 0 9 [ 1 0 -1 ] 0 0.0
|
||||
StencilSetEntry: 0 10 [ 0 -1 -1 ] 0 0.0
|
||||
StencilSetEntry: 0 11 [ -1 0 -1 ] 0 0.0
|
||||
StencilSetEntry: 0 12 [ 0 1 -1 ] 0 0.0
|
||||
StencilSetEntry: 0 13 [ 0 0 -1 ] 0 -1.0
|
||||
StencilSetEntry: 0 14 [ 1 0 1 ] 0 0.0
|
||||
StencilSetEntry: 0 15 [ 0 -1 1 ] 0 0.0
|
||||
StencilSetEntry: 0 16 [ -1 0 1 ] 0 0.0
|
||||
StencilSetEntry: 0 17 [ 0 1 1 ] 0 0.0
|
||||
StencilSetEntry: 0 18 [ 0 0 1 ] 0 -1.0
|
||||
|
||||
###########################################################
|
||||
|
||||
# GraphSetStencil: part var stencil_num
|
||||
GraphSetStencil: 0 0 0
|
||||
|
||||
###########################################################
|
||||
|
||||
# Neumann in both x and y
|
||||
|
||||
# MatrixSetValues: \
|
||||
# part ilower(ndim) iupper(ndim) stride[ndim] var entry value
|
||||
# west
|
||||
MatrixSetValues: 0 (1- 1- 1-) (1- 4+ 4+) [1 1 1] 0 5 0.0
|
||||
MatrixSetValues: 0 (1- 1- 1-) (1- 4+ 4+) [1 1 1] 0 8 5.0
|
||||
# east
|
||||
MatrixSetValues: 0 (8+ 1- 1-) (8+ 4+ 4+) [1 1 1] 0 1 0.0
|
||||
MatrixSetValues: 0 (8+ 1- 1-) (8+ 4+ 4+) [1 1 1] 0 8 5.0
|
||||
# south
|
||||
MatrixSetValues: 0 (1- 1- 1-) (8+ 1- 4+) [1 1 1] 0 3 0.0
|
||||
MatrixSetValues: 0 (1- 1- 1-) (8+ 1- 4+) [1 1 1] 0 8 5.0
|
||||
# north
|
||||
MatrixSetValues: 0 (1- 4+ 1-) (8+ 4+ 4+) [1 1 1] 0 7 0.0
|
||||
MatrixSetValues: 0 (1- 4+ 1-) (8+ 4+ 4+) [1 1 1] 0 8 5.0
|
||||
# lower
|
||||
#MatrixSetValues: 0 (1- 1- 1-) (8+ 4+ 1-) [1 1 1] 0 13 0.0
|
||||
# upper
|
||||
#MatrixSetValues: 0 (1- 1- 4+) (8+ 4+ 4+) [1 1 1] 0 18 0.0
|
||||
|
||||
MatrixSetValues: 0 (1- 1- 1-) (1- 1- 4+) [1 1 1] 0 8 4.0
|
||||
MatrixSetValues: 0 (8+ 1- 1-) (8+ 1- 4+) [1 1 1] 0 8 4.0
|
||||
MatrixSetValues: 0 (1- 4+ 1-) (1- 4+ 4+) [1 1 1] 0 8 4.0
|
||||
MatrixSetValues: 0 (8+ 4+ 1-) (8+ 4+ 4+) [1 1 1] 0 8 4.0
|
||||
|
||||
###########################################################
|
||||
|
||||
# ProcessPoolCreate: num_pools
|
||||
ProcessPoolCreate: 1
|
||||
|
||||
# ProcessPoolSetPart: pool part
|
||||
ProcessPoolSetPart: 0 0
|
||||
|
||||
###########################################################
|
||||
|
||||
71
test/TEST_sstruct/sstruct.in.p7aniso
Normal file
71
test/TEST_sstruct/sstruct.in.p7aniso
Normal file
@ -0,0 +1,71 @@
|
||||
|
||||
###########################################################
|
||||
|
||||
# GridCreate: ndim nparts
|
||||
GridCreate: 3 1
|
||||
|
||||
# GridSetExtents: part ilower(ndim) iupper(ndim)
|
||||
GridSetExtents: 0 (1- 1- 1-) (8+ 4+ 4+)
|
||||
|
||||
# GridSetVariables: part nvars vartypes[nvars]
|
||||
# CELL = 0
|
||||
GridSetVariables: 0 1 [0]
|
||||
|
||||
# GridSetPeriodic: part periodic[ndim]
|
||||
GridSetPeriodic: 0 [0 0 4]
|
||||
|
||||
###########################################################
|
||||
|
||||
# StencilCreate: nstencils sizes[nstencils]
|
||||
StencilCreate: 1 [7]
|
||||
|
||||
# StencilSetEntry: stencil_num entry offset[ndim] var value
|
||||
StencilSetEntry: 0 0 [ 0 0 0] 0 20208.0
|
||||
StencilSetEntry: 0 1 [-1 0 0] 0 -100.0
|
||||
StencilSetEntry: 0 2 [ 1 0 0] 0 -100.0
|
||||
StencilSetEntry: 0 3 [ 0 -1 0] 0 -10000.0
|
||||
StencilSetEntry: 0 4 [ 0 1 0] 0 -10000.0
|
||||
StencilSetEntry: 0 5 [ 0 0 -1] 0 -4.0
|
||||
StencilSetEntry: 0 6 [ 0 0 1] 0 -4.0
|
||||
|
||||
###########################################################
|
||||
|
||||
# GraphSetStencil: part var stencil_num
|
||||
GraphSetStencil: 0 0 0
|
||||
|
||||
###########################################################
|
||||
|
||||
# MatrixSetValues: \
|
||||
# part ilower(ndim) iupper(ndim) stride[ndim] var entry value
|
||||
# west
|
||||
MatrixSetValues: 0 (1- 1- 1-) (1- 4+ 4+) [1 1 1] 0 1 0.0
|
||||
MatrixSetValues: 0 (1- 1- 1-) (1- 4+ 4+) [1 1 1] 0 0 20108.0
|
||||
# east
|
||||
MatrixSetValues: 0 (8+ 1- 1-) (8+ 4+ 4+) [1 1 1] 0 2 0.0
|
||||
MatrixSetValues: 0 (8+ 1- 1-) (8+ 4+ 4+) [1 1 1] 0 0 20108.0
|
||||
# south
|
||||
MatrixSetValues: 0 (1- 1- 1-) (8+ 1- 4+) [1 1 1] 0 3 0.0
|
||||
MatrixSetValues: 0 (1- 1- 1-) (8+ 1- 4+) [1 1 1] 0 0 10208.0
|
||||
# north
|
||||
MatrixSetValues: 0 (1- 4+ 1-) (8+ 4+ 4+) [1 1 1] 0 4 0.0
|
||||
MatrixSetValues: 0 (1- 4+ 1-) (8+ 4+ 4+) [1 1 1] 0 0 10208.0
|
||||
# lower
|
||||
#MatrixSetValues: 0 (1- 1- 1-) (8+ 4+ 1-) [1 1 1] 0 5 0.0
|
||||
# upper
|
||||
#MatrixSetValues: 0 (1- 1- 4+) (8+ 4+ 4+) [1 1 1] 0 6 0.0
|
||||
|
||||
MatrixSetValues: 0 (1- 1- 1-) (1- 1- 4+) [1 1 1] 0 0 10108.0
|
||||
MatrixSetValues: 0 (8+ 1- 1-) (8+ 1- 4+) [1 1 1] 0 0 10108.0
|
||||
MatrixSetValues: 0 (1- 4+ 1-) (1- 4+ 4+) [1 1 1] 0 0 10108.0
|
||||
MatrixSetValues: 0 (8+ 4+ 1-) (8+ 4+ 4+) [1 1 1] 0 0 10108.0
|
||||
|
||||
###########################################################
|
||||
|
||||
# ProcessPoolCreate: num_pools
|
||||
ProcessPoolCreate: 1
|
||||
|
||||
# ProcessPoolSetPart: pool part
|
||||
ProcessPoolSetPart: 0 0
|
||||
|
||||
###########################################################
|
||||
|
||||
71
test/TEST_sstruct/sstruct.in.p7iso
Normal file
71
test/TEST_sstruct/sstruct.in.p7iso
Normal file
@ -0,0 +1,71 @@
|
||||
|
||||
###########################################################
|
||||
|
||||
# GridCreate: ndim nparts
|
||||
GridCreate: 3 1
|
||||
|
||||
# GridSetExtents: part ilower(ndim) iupper(ndim)
|
||||
GridSetExtents: 0 (1- 1- 1-) (8+ 4+ 4+)
|
||||
|
||||
# GridSetVariables: part nvars vartypes[nvars]
|
||||
# CELL = 0
|
||||
GridSetVariables: 0 1 [0]
|
||||
|
||||
# GridSetPeriodic: part periodic[ndim]
|
||||
GridSetPeriodic: 0 [0 0 4]
|
||||
|
||||
###########################################################
|
||||
|
||||
# StencilCreate: nstencils sizes[nstencils]
|
||||
StencilCreate: 1 [7]
|
||||
|
||||
# StencilSetEntry: stencil_num entry offset[ndim] var value
|
||||
StencilSetEntry: 0 0 [ 0 0 0] 0 6.0
|
||||
StencilSetEntry: 0 1 [-1 0 0] 0 -1.0
|
||||
StencilSetEntry: 0 2 [ 1 0 0] 0 -1.0
|
||||
StencilSetEntry: 0 3 [ 0 -1 0] 0 -1.0
|
||||
StencilSetEntry: 0 4 [ 0 1 0] 0 -1.0
|
||||
StencilSetEntry: 0 5 [ 0 0 -1] 0 -1.0
|
||||
StencilSetEntry: 0 6 [ 0 0 1] 0 -1.0
|
||||
|
||||
###########################################################
|
||||
|
||||
# GraphSetStencil: part var stencil_num
|
||||
GraphSetStencil: 0 0 0
|
||||
|
||||
###########################################################
|
||||
|
||||
# MatrixSetValues: \
|
||||
# part ilower(ndim) iupper(ndim) stride[ndim] var entry value
|
||||
# west
|
||||
MatrixSetValues: 0 (1- 1- 1-) (1- 4+ 4+) [1 1 1] 0 1 0.0
|
||||
MatrixSetValues: 0 (1- 1- 1-) (1- 4+ 4+) [1 1 1] 0 0 5.0
|
||||
# east
|
||||
MatrixSetValues: 0 (8+ 1- 1-) (8+ 4+ 4+) [1 1 1] 0 2 0.0
|
||||
MatrixSetValues: 0 (8+ 1- 1-) (8+ 4+ 4+) [1 1 1] 0 0 5.0
|
||||
# south
|
||||
MatrixSetValues: 0 (1- 1- 1-) (8+ 1- 4+) [1 1 1] 0 3 0.0
|
||||
MatrixSetValues: 0 (1- 1- 1-) (8+ 1- 4+) [1 1 1] 0 0 5.0
|
||||
# north
|
||||
MatrixSetValues: 0 (1- 4+ 1-) (8+ 4+ 4+) [1 1 1] 0 4 0.0
|
||||
MatrixSetValues: 0 (1- 4+ 1-) (8+ 4+ 4+) [1 1 1] 0 0 5.0
|
||||
# lower
|
||||
#MatrixSetValues: 0 (1- 1- 1-) (8+ 4+ 1-) [1 1 1] 0 5 0.0
|
||||
# upper
|
||||
#MatrixSetValues: 0 (1- 1- 4+) (8+ 4+ 4+) [1 1 1] 0 6 0.0
|
||||
|
||||
MatrixSetValues: 0 (1- 1- 1-) (1- 1- 4+) [1 1 1] 0 0 4.0
|
||||
MatrixSetValues: 0 (8+ 1- 1-) (8+ 1- 4+) [1 1 1] 0 0 4.0
|
||||
MatrixSetValues: 0 (1- 4+ 1-) (1- 4+ 4+) [1 1 1] 0 0 4.0
|
||||
MatrixSetValues: 0 (8+ 4+ 1-) (8+ 4+ 4+) [1 1 1] 0 0 4.0
|
||||
|
||||
###########################################################
|
||||
|
||||
# ProcessPoolCreate: num_pools
|
||||
ProcessPoolCreate: 1
|
||||
|
||||
# ProcessPoolSetPart: pool part
|
||||
ProcessPoolSetPart: 0 0
|
||||
|
||||
###########################################################
|
||||
|
||||
@ -1,17 +1,37 @@
|
||||
#!/bin/ksh
|
||||
|
||||
#=============================================================================
|
||||
# sstruct: compares the struct solvers from calls from sstruct & struct
|
||||
# itself.
|
||||
# Compare the struct solvers called from sstruct & struct interfaces
|
||||
#=============================================================================
|
||||
|
||||
mpirun -np 1 ./struct -n 12 12 12 -solver 1 -istart -3 -3 -3 -relax 1 -rap 1 \
|
||||
> sstruct_struct.out.1
|
||||
> sstruct_struct.out.1
|
||||
mpirun -np 1 ./sstruct -in sstruct.in.struct -solver 201 -relax 1 -rap 1 -rhsone \
|
||||
> sstruct_struct.out.201
|
||||
> sstruct_struct.out.201
|
||||
|
||||
mpirun -np 1 ./struct -n 12 12 12 -solver 0 -istart -3 -3 -3 -relax 1 \
|
||||
> sstruct_struct.out.0
|
||||
> sstruct_struct.out.0
|
||||
mpirun -np 1 ./sstruct -in sstruct.in.struct -solver 200 -relax 1 -rhsone \
|
||||
> sstruct_struct.out.200
|
||||
> sstruct_struct.out.200
|
||||
|
||||
#=============================================================================
|
||||
# Compare 19pt, 7pt, positive, and negative definite
|
||||
#=============================================================================
|
||||
|
||||
mpirun -np 2 sstruct -in sstruct.in.19aniso -P 2 1 1 -solver 201 \
|
||||
> sstruct_struct.out.10
|
||||
mpirun -np 2 sstruct -in sstruct.in.p19aniso -P 2 1 1 -solver 201 \
|
||||
> sstruct_struct.out.11
|
||||
mpirun -np 2 sstruct -in sstruct.in.7aniso -P 2 1 1 -solver 201 \
|
||||
> sstruct_struct.out.12
|
||||
mpirun -np 2 sstruct -in sstruct.in.p7aniso -P 2 1 1 -solver 201 \
|
||||
> sstruct_struct.out.13
|
||||
|
||||
mpirun -np 2 sstruct -in sstruct.in.19iso -P 2 1 1 -solver 201 \
|
||||
> sstruct_struct.out.15
|
||||
mpirun -np 2 sstruct -in sstruct.in.p19iso -P 2 1 1 -solver 201 \
|
||||
> sstruct_struct.out.16
|
||||
mpirun -np 2 sstruct -in sstruct.in.7iso -P 2 1 1 -solver 201 \
|
||||
> sstruct_struct.out.17
|
||||
mpirun -np 2 sstruct -in sstruct.in.p7iso -P 2 1 1 -solver 201 \
|
||||
> sstruct_struct.out.18
|
||||
|
||||
@ -14,3 +14,35 @@ Final Relative Residual Norm = 2.753739e-07
|
||||
Iterations = 16
|
||||
Final Relative Residual Norm = 6.891627e-07
|
||||
|
||||
# Output file: sstruct_struct.out.10
|
||||
Iterations = 8
|
||||
Final Relative Residual Norm = 3.476646e-07
|
||||
|
||||
# Output file: sstruct_struct.out.11
|
||||
Iterations = 8
|
||||
Final Relative Residual Norm = 3.476646e-07
|
||||
|
||||
# Output file: sstruct_struct.out.12
|
||||
Iterations = 8
|
||||
Final Relative Residual Norm = 3.476646e-07
|
||||
|
||||
# Output file: sstruct_struct.out.13
|
||||
Iterations = 8
|
||||
Final Relative Residual Norm = 3.476646e-07
|
||||
|
||||
# Output file: sstruct_struct.out.15
|
||||
Iterations = 23
|
||||
Final Relative Residual Norm = 9.655301e-07
|
||||
|
||||
# Output file: sstruct_struct.out.16
|
||||
Iterations = 23
|
||||
Final Relative Residual Norm = 9.655301e-07
|
||||
|
||||
# Output file: sstruct_struct.out.17
|
||||
Iterations = 23
|
||||
Final Relative Residual Norm = 9.655301e-07
|
||||
|
||||
# Output file: sstruct_struct.out.18
|
||||
Iterations = 23
|
||||
Final Relative Residual Norm = 9.655301e-07
|
||||
|
||||
|
||||
@ -11,14 +11,10 @@
|
||||
# $Revision$
|
||||
#EHEADER**********************************************************************
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
TNAME=`basename $0 .sh`
|
||||
|
||||
#=============================================================================
|
||||
# sstruct: Tests the struct solvers called from the sstruct interface
|
||||
# Compare the struct solvers called from sstruct & struct interfaces
|
||||
#=============================================================================
|
||||
|
||||
tail -3 ${TNAME}.out.0 > ${TNAME}.testdata
|
||||
@ -31,6 +27,26 @@ tail -3 ${TNAME}.out.1 > ${TNAME}.testdata
|
||||
tail -3 ${TNAME}.out.201 > ${TNAME}.testdata.temp
|
||||
diff ${TNAME}.testdata ${TNAME}.testdata.temp >&2
|
||||
|
||||
#=============================================================================
|
||||
# Compare 19pt, 7pt, positive, and negative definite
|
||||
#=============================================================================
|
||||
|
||||
tail -3 ${TNAME}.out.10 > ${TNAME}.testdata
|
||||
tail -3 ${TNAME}.out.11 > ${TNAME}.testdata.temp
|
||||
diff ${TNAME}.testdata ${TNAME}.testdata.temp >&2
|
||||
tail -3 ${TNAME}.out.12 > ${TNAME}.testdata.temp
|
||||
diff ${TNAME}.testdata ${TNAME}.testdata.temp >&2
|
||||
tail -3 ${TNAME}.out.13 > ${TNAME}.testdata.temp
|
||||
diff ${TNAME}.testdata ${TNAME}.testdata.temp >&2
|
||||
|
||||
tail -3 ${TNAME}.out.15 > ${TNAME}.testdata
|
||||
tail -3 ${TNAME}.out.16 > ${TNAME}.testdata.temp
|
||||
diff ${TNAME}.testdata ${TNAME}.testdata.temp >&2
|
||||
tail -3 ${TNAME}.out.17 > ${TNAME}.testdata.temp
|
||||
diff ${TNAME}.testdata ${TNAME}.testdata.temp >&2
|
||||
tail -3 ${TNAME}.out.18 > ${TNAME}.testdata.temp
|
||||
diff ${TNAME}.testdata ${TNAME}.testdata.temp >&2
|
||||
|
||||
#=============================================================================
|
||||
# compare with baseline case
|
||||
#=============================================================================
|
||||
@ -40,6 +56,14 @@ FILES="\
|
||||
${TNAME}.out.1\
|
||||
${TNAME}.out.200\
|
||||
${TNAME}.out.201\
|
||||
${TNAME}.out.10\
|
||||
${TNAME}.out.11\
|
||||
${TNAME}.out.12\
|
||||
${TNAME}.out.13\
|
||||
${TNAME}.out.15\
|
||||
${TNAME}.out.16\
|
||||
${TNAME}.out.17\
|
||||
${TNAME}.out.18\
|
||||
"
|
||||
|
||||
for i in $FILES
|
||||
|
||||
Loading…
Reference in New Issue
Block a user