Exemplo n.º 1
0
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))
Exemplo n.º 2
0
 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)
Exemplo n.º 3
0
 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
Exemplo n.º 4
0
 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)
Exemplo n.º 5
0
 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)