コード例 #1
0
ファイル: grid.py プロジェクト: lehner/gpt
def grid_from_description(description):
    p = description.split(";")
    fdimensions = [int(x) for x in p[0].strip("[]").split(",")]
    precision = gpt.str_to_precision(p[1])
    cb = str_to_checkerboarding(p[2], len(fdimensions))
    obj = None
    return grid(fdimensions, precision, cb, obj)
コード例 #2
0
    def __init__(self, first, second=None, third=None, fourth=None):
        if type(first) == str:
            # create from description
            p = first.split(";")
            fdimensions = [int(x) for x in p[0].strip("[]").split(",")]
            precision = gpt.str_to_precision(p[1])
            cb = str_to_checkerboarding(p[2])
        else:
            fdimensions = first
            precision = second
            if third is None:
                cb = full
            else:
                cb = third
            obj = fourth

        self.fdimensions = fdimensions
        self.gsites = np.prod(self.fdimensions)
        self.precision = precision
        self.cb = cb
        self.nd = len(self.fdimensions)

        if obj == None:
            self.obj = cgpt.create_grid(fdimensions, precision, cb)
        else:
            self.obj = obj

        # processor is mpi rank, may not be lexicographical (cartesian) rank
        self.processor, self.Nprocessors, self.processor_coor, self.gdimensions, self.ldimensions = cgpt.grid_get_processor(
            self.obj)
        self.mpi = [
            self.gdimensions[i] // self.ldimensions[i] for i in range(self.nd)
        ]
コード例 #3
0
ファイル: grid.py プロジェクト: spieseba/gpt
def grid_from_description(description):
    p = description.split(";")
    assert len(p) % 3 == 0
    parent = None
    for i in reversed(range(len(p) // 3)):
        fdimensions = [int(x) for x in p[3 * i + 0].strip("[]").split(",")]
        precision = gpt.str_to_precision(p[3 * i + 1])
        cb = str_to_checkerboarding(p[3 * i + 2], len(fdimensions))
        obj = None
        mpi = None if parent is None else parent.mpi
        parent = grid(fdimensions, precision, cb, obj, parent=parent, mpi=mpi)
    return parent