blob: 4b619826ac9138ce5037ee2878dd7ac935f0727d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
from utility.ndindex import ndindex
class Geometry:
def __init__(self, size_x, size_y, size_z = 1):
self.size_x = size_x
self.size_y = size_y
self.size_z = size_z
self.volume = size_x * size_y * size_z
def inner_cells(self):
for idx in numpy.ndindex(self.inner_size()):
yield tuple(map(lambda i: i + 1, idx))
def size(self):
if self.size_z == 1:
return (self.size_x, self.size_y)
else:
return (self.size_x, self.size_y, self.size_z)
def inner_size(self):
if self.size_z == 1:
return (self.size_x-2, self.size_y-2)
else:
return (self.size_x-2, self.size_y-2, self.size_z-2)
|