added permx and globIdx test, test darcy conversion
This commit is contained in:
@@ -4,6 +4,11 @@ import sunbeam
|
||||
class TestProps(unittest.TestCase):
|
||||
spe3 = None
|
||||
|
||||
def assertClose(self, expected, observed, epsilon=1e-18):
|
||||
diff = abs(expected - observed)
|
||||
if diff > epsilon:
|
||||
raise AssertionError('|%g - %g| = %g > %g' % (expected, observed, diff, epsilon))
|
||||
|
||||
def setUp(self):
|
||||
if self.spe3 is None:
|
||||
self.spe3 = sunbeam.parse('spe3/SPE3CASE1.DATA')
|
||||
@@ -32,3 +37,21 @@ class TestProps(unittest.TestCase):
|
||||
p = self.props
|
||||
reg = p.getRegions('SATNUM')
|
||||
self.assertEqual(0, len(reg))
|
||||
|
||||
def test_permx_values(self):
|
||||
def md2si(md):
|
||||
"""millidarcy->SI"""
|
||||
return md * 1e-3 * 9.869233e-13
|
||||
e3dp = self.props
|
||||
grid = self.spe3.grid()
|
||||
permx = e3dp['PERMX']
|
||||
print('set(PERMX) = %s' % set(permx))
|
||||
# 130mD, 40mD, 20mD, and 150mD, respectively, top to bottom
|
||||
darcys = {0:md2si(130), 1:md2si(40), 2:md2si(20), 3:md2si(150)}
|
||||
for i in range(grid.getNX()):
|
||||
for j in range(grid.getNY()):
|
||||
for k in range(grid.getNZ()):
|
||||
g_idx = grid.globalIndex(i,j,k)
|
||||
perm = permx[g_idx]
|
||||
darcy = darcys[k]
|
||||
self.assertClose(darcy, perm)
|
||||
|
||||
Reference in New Issue
Block a user