aboutsummaryrefslogtreecommitdiff
path: root/boltzgen/kernel/target/cell_index.py
blob: 7e74dc5c3afe18deb048c263db3bbade840e7c0b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class CellIndexer:
    def __init__(self, geometry):
        self.geometry   = geometry

    def neighbor(self, c_i):
        return self.gid(*[ c for _, c in enumerate(c_i) ])

class XYZ(CellIndexer):
    pass

    def gid(self, x, y, z=0):
        return x*self.geometry.size_y*self.geometry.size_z + y*self.geometry.size_z + z

class ZYX(CellIndexer):
    pass

    def gid(self, x, y, z=0):
        return z*self.geometry.size_x*self.geometry.size_y + y*self.geometry.size_x + x