Example #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))
Example #2
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
Example #3
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)