Exemple #1
0
    def test_setitem( self ):
        actnum = IntVector(default_value = 1 , initial_size = 1000)
        for i in range(100):
            actnum[i] = 0

        grid = EclGrid.createRectangular( (10,10,10) , (1,1,1) , actnum = actnum)
        kw = Ecl3DKW.create( "KW" , grid , EclTypeEnum.ECL_FLOAT_TYPE , default_value = 77)
        
        with self.assertRaises(IndexError):
            kw[1000]

        with self.assertRaises(IndexError):
            kw[0,10,100]

        with self.assertRaises(ValueError):
            kw[1,1]

        with self.assertRaises(ValueError):
            kw[1,1,1,1]

        kw.assign(99)
        self.assertEqual( kw[0,0,0] , 77 )
        self.assertEqual( kw[0,0,1] , 99 )

        
        with self.assertRaises(ValueError):
            kw[0,0,0] = 88
            
        kw[0,0,1] = 100 
        self.assertEqual( kw[0,0,1] , 100 )
Exemple #2
0
    def test_getitem(self):
        actnum = IntVector(default_value=1, initial_size=1000)
        for i in range(100):
            actnum[i] = 0

        grid = EclGrid.createRectangular((10, 10, 10), (1, 1, 1),
                                         actnum=actnum)
        kw = Ecl3DKW.create("KW",
                            grid,
                            EclTypeEnum.ECL_FLOAT_TYPE,
                            default_value=77)

        with self.assertRaises(IndexError):
            kw[1000]

        with self.assertRaises(IndexError):
            kw[0, 10, 100]

        with self.assertRaises(ValueError):
            kw[1, 1]

        with self.assertRaises(ValueError):
            kw[1, 1, 1, 1]

        kw.assign(99)

        self.assertEqual(kw[0, 0, 0], 77)
        self.assertEqual(kw[0, 0, 1], 99)
    def test_region_filter(self):
        nx = 10
        ny = 10
        nz = 1
        actnum = IntVector( initial_size = nx*ny*nz , default_value = 1 )
        actnum[nx*ny - 1] = 0
        
        grid = EclGrid.createRectangular( (nx,ny,nz) , (1,1,1) , actnum = actnum)
        self.assertEqual( grid.getNumActive() , nx*ny*nz - 1 )
        
        kw = Ecl3DKW.create( "REGIONS" , grid , EclTypeEnum.ECL_INT_TYPE , global_active = True )
        kw.assign( 0 )
        kw[0:nx*ny/2] = 1
        kw[5,2,0] = 0
        kw[0,9,0] = 2

        kw.fixUninitialized( grid )

        # Not assigned because they are in contact with a '2'; these
        # two are problem cells.
        self.assertEqual( kw[0,ny - 2,0] , 0)
        self.assertEqual( kw[1,ny - 1,0] , 0)

        # Not assigned because it is inactive
        self.assertEqual( kw[nx - 1,ny - 1,0] , 0)
        
        self.assertEqual( kw[5,2,0] , 1 )
        for j in range(5,10):
            self.assertEqual( kw[5,j,0] , 1 )

        for i in range(10):
            self.assertEqual( kw[i,7,0] , 1 )
Exemple #4
0
    def test_create( self ):
        actnum = IntVector(default_value = 1 , initial_size = 1000)
        for i in range(100):
            actnum[i] = 0

        grid = EclGrid.createRectangular( (10,10,10) , (1,1,1) , actnum = actnum)
        kw = Ecl3DKW.create( "KW" , grid , EclTypeEnum.ECL_FLOAT_TYPE )
        self.assertEqual( len(kw) , grid.getNumActive())

        self.assertEqual( (10,10,10) , kw.dims() )
Exemple #5
0
    def test_create(self):
        actnum = IntVector(default_value=1, initial_size=1000)
        for i in range(100):
            actnum[i] = 0

        grid = EclGrid.createRectangular((10, 10, 10), (1, 1, 1),
                                         actnum=actnum)
        kw = Ecl3DKW.create("KW", grid, EclTypeEnum.ECL_FLOAT_TYPE)
        self.assertEqual(len(kw), grid.getNumActive())

        self.assertEqual((10, 10, 10), kw.dims())
Exemple #6
0
    def test_create_global_size( self ):
        actnum = IntVector(default_value = 1 , initial_size = 1000)
        for i in range(100):
            actnum[i] = 0

        grid = EclGrid.createRectangular( (10,10,10) , (1,1,1) , actnum = actnum)
        kw = Ecl3DKW.create( "KW" , grid , EclTypeEnum.ECL_FLOAT_TYPE , global_active = True)
        self.assertEqual( len(kw) , grid.getGlobalSize())

        kw.assign(50)
        self.assertEqual( kw[0,0,0] , 50 )

        kw[0,0,0] = 45
        self.assertEqual( kw[0,0,0] , 45 )
Exemple #7
0
    def test_fix_uninitialized(self):
        nx = 10
        ny = 11
        nz = 12
        grid = EclGrid.createRectangular( (nx,ny,nz) , (1,1,1) )
        kw = Ecl3DKW.create("REGIONS" , grid , EclTypeEnum.ECL_INT_TYPE , global_active = True)
        kw.assign(3)
        self.assertEqual( 3 * nx*ny*nz , sum(kw))

        kw[1,1,1] = 0
        kw[3,3,3] = 0
        kw[6,6,6] = 0

        self.assertEqual( 3 * nx*ny*nz - 9 , sum(kw))
        kw.fixUninitialized( grid )
        self.assertEqual( 3 * nx*ny*nz , sum(kw))
Exemple #8
0
    def test_compressed_copy(self):
        actnum = IntVector(default_value = 1 , initial_size = 1000)
        for i in range(500):
            actnum[2*i + 1] = 0

        grid = EclGrid.createRectangular( (10,10,10) , (1,1,1) , actnum = actnum)
        kw  = Ecl3DKW.create( "KW" , grid , EclTypeEnum.ECL_INT_TYPE , global_active = True)
        for i in range(len(kw)):
            kw[i] = i
        
        kw_copy = kw.compressedCopy()
        self.assertTrue( isinstance( kw_copy , EclKW ) )

        self.assertEqual(len(kw_copy) , 500)
        for i in range(len(kw_copy)):
            self.assertEqual(kw_copy[i] , 2*i)
Exemple #9
0
    def test_create_global_size(self):
        actnum = IntVector(default_value=1, initial_size=1000)
        for i in range(100):
            actnum[i] = 0

        grid = EclGrid.createRectangular((10, 10, 10), (1, 1, 1),
                                         actnum=actnum)
        kw = Ecl3DKW.create("KW",
                            grid,
                            EclTypeEnum.ECL_FLOAT_TYPE,
                            global_active=True)
        self.assertEqual(len(kw), grid.getGlobalSize())

        kw.assign(50)
        self.assertEqual(kw[0, 0, 0], 50)

        kw[0, 0, 0] = 45
        self.assertEqual(kw[0, 0, 0], 45)
Exemple #10
0
    def test_fix_uninitialized(self):
        nx = 10
        ny = 11
        nz = 12
        grid = EclGrid.createRectangular((nx, ny, nz), (1, 1, 1))
        kw = Ecl3DKW.create("REGIONS",
                            grid,
                            EclTypeEnum.ECL_INT_TYPE,
                            global_active=True)
        kw.assign(3)
        self.assertEqual(3 * nx * ny * nz, sum(kw))

        kw[1, 1, 1] = 0
        kw[3, 3, 3] = 0
        kw[6, 6, 6] = 0

        self.assertEqual(3 * nx * ny * nz - 9, sum(kw))
        kw.fixUninitialized(grid)
        self.assertEqual(3 * nx * ny * nz, sum(kw))
Exemple #11
0
    def test_compressed_copy(self):
        actnum = IntVector(default_value=1, initial_size=1000)
        for i in range(500):
            actnum[2 * i + 1] = 0

        grid = EclGrid.createRectangular((10, 10, 10), (1, 1, 1),
                                         actnum=actnum)
        kw = Ecl3DKW.create("KW",
                            grid,
                            EclTypeEnum.ECL_INT_TYPE,
                            global_active=True)
        for i in range(len(kw)):
            kw[i] = i

        kw_copy = kw.compressedCopy()
        self.assertTrue(isinstance(kw_copy, EclKW))

        self.assertEqual(len(kw_copy), 500)
        for i in range(len(kw_copy)):
            self.assertEqual(kw_copy[i], 2 * i)
Exemple #12
0
 def test_default(self):
     grid = EclGrid.createRectangular( (10,10,10) , (1,1,1))
     kw  = Ecl3DKW.create( "KW" , grid , EclTypeEnum.ECL_FLOAT_TYPE )
     kw.setDefault(55)
     self.assertTrue( 55 , kw.getDefault())
Exemple #13
0
 def test_default(self):
     grid = EclGrid.createRectangular((10, 10, 10), (1, 1, 1))
     kw = Ecl3DKW.create("KW", grid, EclTypeEnum.ECL_FLOAT_TYPE)
     kw.setDefault(55)
     self.assertTrue(55, kw.getDefault())