def test_ilyr(self): """ Should assign grid nodes to layers """ shape = (128, 1, 64) vm = VM(shape=shape) # top layer should be 0 for i in vm.ilyr.flatten(): self.assertEqual(i, 0) # last layer should be equal to the number of interfaces for nr in [1, 2, 10]: vm.rf = 5 * np.ones((nr, vm.nx, vm.ny)) self.assertEqual(np.max(vm.ilyr), nr)
def test_get_layer_bounds(self): """ Should get surfaces bounding a layer. """ shape = (128, 1, 64) vm = VM(shape=shape) # top and bottom should be model boundary if no layers self.assertEqual(vm.nr, 0) z0, z1 = vm.get_layer_bounds(0) for _z in z0: self.assertEqual(_z, vm.r1[2]) for _z in z1: self.assertEqual(_z, vm.r2[2]) # bottom of first layer should be first interface vm.rf = 5 * np.ones((1, vm.nx, vm.ny)) z0, z1 = vm.get_layer_bounds(0) for _z in z0: self.assertEqual(_z, vm.r1[2]) for _z in z1: self.assertEqual(_z, 5) # top of second layer should be first interface z0, z1 = vm.get_layer_bounds(1) for _z in z0: self.assertEqual(_z, 5) for _z in z1: self.assertEqual(_z, vm.r2[2])