def constructBasis(basisallocator, basisrule): ''' Build an element to basis (distributed) map based on a basisrule''' manager = ppdd.ddictmanager(ppdd.elementddictinfo(basisallocator.mesh), True) etob = manager.getDict() localPopulateBasis(etob, basisrule, basisallocator) manager.sync() return pcbu.CellToBases(etob, range(basisallocator.mesh.nelements))
def testDictWithCopy(self): info = MockDictInfo() ld = {} ddm = ppdd.ddictmanager(info, ld) ddict = ddm.getDict() a = 4 initialisedict(ddict, a) ddm.sync() for (key, value) in ld.items(): self.assertEqual(key+a, value)
def __init__(self, problem, ibc, systemklass, quadpoints, factor = 1, *args, **kwargs): self.problem = problem self.etobmanager = ppdd.ddictmanager(ppdd.elementddictinfo(problem.mesh, True), True) self.etob = self.etobmanager.getDict() self.quadpoints = quadpoints self.controller = BasisController(problem.mesh, quadpoints, self.etob, ibc) self.etobmanager.sync() self.factor = factor self.nelements = problem.mesh.nelements self.sysargs = args self.syskwargs = kwargs self.systemklass = systemklass
def testDict(self): info = MockDictInfo() ddm = ppdd.ddictmanager(info) ddict = ddm.getDict() a = 7 initialisedict(ddict, a) ddm.sync() results = checkdict(ddict, a) for (a1, a2) in results: np.testing.assert_array_equal(a1,a2) initialisedict(ddict, a)
def __init__(self, problem, controller, systemklass, *args, **kwargs): self.problem = problem self.etobmanager = ppdd.ddictmanager(ppdd.elementddictinfo(problem.mesh, True), True) self.etob = self.etobmanager.getDict() self.controller = controller self.createsys = lambda basis: systemklass(problem, basis, *args, **kwargs)