예제 #1
0
 def setUp(self):
     self.order = 2
     d1 = Rectangle(n0=NE // 2, n1=NE, l0=0.5, order=2, useElementsOnFace=0)
     d2 = Rectangle(n0=NE // 2, n1=NE, l0=0.5, order=2, useElementsOnFace=0)
     d2.setX(d2.getX() + [0.5, 0.])
     if getMPISizeWorld() > 1:
         with self.assertRaises(NotImplementedError) as pkg:
             self.domain = JoinFaces([d1, d2], optimize=False)
         e = pkg.exception
         if FINLEY_MERGE_ERROR not in str(e):
             raise e
         raise unittest.SkipTest(FINLEY_MERGE_ERROR)
     else:
         self.domain = JoinFaces([d1, d2], optimize=False)
 def test_hex_contact_3D_order2_onFace(self):
     file = "hex_contact_3D_order2_onFace.msh"
     ms1 = Brick(1, 1, 1, 2, l2=0.5, useElementsOnFace=True)
     ms2 = Brick(1, 1, 1, 2, l2=0.5, useElementsOnFace=True)
     ms2.setX(ms2.getX() + [0, 0, 0.5])
     my_dom = JoinFaces([ms1, ms2], optimize=False)
     self.checker(my_dom, file)
 def test_hex_contact_2D_order2(self):
     file = "hex_contact_2D_order2.msh"
     ms1 = Rectangle(1, 1, 2, l1=0.5, useElementsOnFace=False)
     ms2 = Rectangle(1, 1, 2, l1=0.5, useElementsOnFace=False)
     ms2.setX(ms2.getX() + [0, 0.5])
     my_dom = JoinFaces([ms1, ms2], optimize=False)
     self.checker(my_dom, file)
     full = False
 elif o == "2F":
     o2 = 2
     full = True
 else:
     o2 = 1
     full = False
 if c == "Yes":
     dom1 = getMesh(NE_X, NE_Y, t, d, o2, full,
                    r == "Yes", 0.5)
     dom2 = getMesh(NE_X, NE_Y, t, d, o2, full,
                    r == "Yes", 0.5)
     x = dom2.getX().copy()
     x[0] = 1. - x[0]
     dom2.setX(x)
     dom = JoinFaces([dom1, dom2])
 else:
     dom = getMesh(NE_X, NE_Y, t, d, o2, full,
                   r == "Yes", 1.)
 # set tags:
 for fs in [
         ContinuousFunction(dom),
         Function(dom),
         FunctionOnBoundary(dom),
         FunctionOnContactOne(dom)
 ]:
     m = whereNegative(fs.getX()[d - 1] - CUT)
     fs.getDomain().setTagMap('tag1', 1)
     fs.setTags('tag1', m)
     fs.setTags(100, 1 - m)
 dom.write(os.path.join(MESH_DIRECTORY, filename))