Example #1
0
 def testLocalVandermondes(self):
     # This test is more about exercising the code than testing any results.  We need a know simple mesh to do that
     dirs = numpy.array([[1,0]])
     k = 3
     pw = pcb.PlaneWaves(dirs, k)
     faceid = 0
     numquads = 3
     meshes = tum.examplemeshes2d()
     for mesh in meshes:
         mq = pmm.MeshQuadratures(mesh, puq.legendrequadrature(numquads))
         e2b = pcb.constructBasis(mesh, pcb.UniformBasisRule([pw]))
         LV = pcv.LocalVandermondes(mesh, e2b, mq)
         for faceid in range(mesh.nfaces):
             v = LV.getValues(faceid)
             d = LV.getDerivs(faceid)
             self.assertEqual(v.shape, (numquads, 1))
             self.assertEqual(d.shape, (numquads, 1))
             self.assertEqual(LV.numbases[faceid], 1)        
Example #2
0
 def testReference(self):        
     meshes = [tum.regularsquaremesh(2)]
     meshes = tum.examplemeshes2d()
     structuredpoints = pug.StructuredPoints([[0.01,0.01],[0.99,0.99]], [20,30])
     rules = [pcbr.ReferenceBasisRule(pcbr.Dubiner(p)) for p in range(3)]
     pcbtt.basisDerivatives(rules, meshes, structuredpoints, k=1.0)