/[escript]/trunk/dudley/test/python/fixme_run_generators.py
ViewVC logotype

Diff of /trunk/dudley/test/python/fixme_run_generators.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/finley/test/python/test_generators.py revision 626 by elspeth, Thu Mar 23 02:16:36 2006 UTC trunk/finley/test/python/run_generators.py revision 1388 by trankine, Fri Jan 11 07:45:58 2008 UTC
# Line 1  Line 1 
1    #
2  # $Id$  # $Id$
3    #
4    #######################################################
5    #
6    #           Copyright 2003-2007 by ACceSS MNRF
7    #       Copyright 2007 by University of Queensland
8    #
9    #                http://esscc.uq.edu.au
10    #        Primary Business: Queensland, Australia
11    #  Licensed under the Open Software License version 3.0
12    #     http://www.opensource.org/licenses/osl-3.0.php
13    #
14    #######################################################
15    #
16    
17  """  """
18  checks the mesh generators against the reference meshes in test_meshes  checks the mesh generators against the reference meshes in test_meshes and test the finley integration schemes.
19  """  """
20    
21  __copyright__="""  Copyright (c) 2006 by ACcESS MNRF  __copyright__="""  Copyright (c) 2006 by ACcESS MNRF
# Line 10  __copyright__="""  Copyright (c) 2006 by Line 23  __copyright__="""  Copyright (c) 2006 by
23                  Primary Business: Queensland, Australia"""                  Primary Business: Queensland, Australia"""
24  __license__="""Licensed under the Open Software License version 3.0  __license__="""Licensed under the Open Software License version 3.0
25               http://www.opensource.org/licenses/osl-3.0.php"""               http://www.opensource.org/licenses/osl-3.0.php"""
 TEST_FILE_EXT=".test"  
 REERFENCE_FILE_DIR="test_meshes"  
26    
27  import sys  import sys
28    import os
29  import unittest  import unittest
30  from esys.escript import *  from esys.escript import *
31  from esys.finley import Interval,Rectangle,Brick,JoinFaces  from esys.finley import Rectangle,Brick,JoinFaces, ReadGmsh, ReadMesh
32    
33    try:
34         FINLEY_TEST_DATA=os.environ['FINLEY_TEST_DATA']
35    except KeyError:
36         FINLEY_TEST_DATA='.'
37    
38    try:
39         FINLEY_WORKDIR=os.environ['FINLEY_WORKDIR']
40    except KeyError:
41         FINLEY_WORKDIR='.'
42    
43    FINLEY_TEST_MESH_PATH=FINLEY_TEST_DATA+"/data_meshes/"
44    if os.name == "nt":
45       FINLEY_TEST_MESH_PATH = FINLEY_TEST_MESH_PATH+"win32/"
46    FINLEY_WORKDIR_PATH=FINLEY_WORKDIR+"/"
47    
48    TEST_FILE_EXT=".test"
49  class Test_Generators(unittest.TestCase):  class Test_Generators(unittest.TestCase):
50    
51     def checker(self,dom,reference):     def checker(self,dom,reference):
52        dom_file=reference+TEST_FILE_EXT        dom_file=FINLEY_WORKDIR_PATH+TEST_FILE_EXT
53        dom.write(dom_file)        dom.write(dom_file)
54    # Uncomment this section to dump the files for regression testing
55    #      if True:
56    #         dom.write(FINLEY_TEST_MESH_PATH+reference)
57        dom_string=open(dom_file).read().splitlines()        dom_string=open(dom_file).read().splitlines()
58        ref_string=open(REERFENCE_FILE_DIR+"/"+reference).read().splitlines()        ref_string=open(FINLEY_TEST_MESH_PATH+reference).read().splitlines()
59        self.failUnlessEqual(len(dom_string),len(ref_string),"number of lines in mesh files does not match reference")        self.failUnlessEqual(len(dom_string),len(ref_string),"number of lines in mesh files does not match reference")
60        for l in range(1,len(ref_string)):        for l in range(1,len(ref_string)):
61           self.failUnlessEqual(dom_string[l].strip(),ref_string[l].strip(),"line %d (%s) in mesh files does not match reference (%s)"%(l,ref_string[l].strip(),dom_string[l].strip()))           self.failUnlessEqual(dom_string[l].strip(),ref_string[l].strip(),"line %d (%s) in mesh files does not match reference (%s)"%(l,ref_string[l].strip(),dom_string[l].strip()))
62    
    def test_hex_1D_order1(self):  
       file="hex_1D_order1.msh"  
       my_dom=Interval(1,1)  
       self.checker(my_dom,file)  
   
    def test_hex_1D_order1_onFace(self):  
       file="hex_1D_order1_onFace.msh"  
       my_dom=Interval(1,1,useElementsOnFace=1)  
       self.checker(my_dom,file)  
   
    def test_hex_1D_order2(self):  
       file="hex_1D_order2.msh"  
       my_dom=Interval(1,2)  
       self.checker(my_dom,file)  
   
    def test_hex_1D_order2_onFace(self):  
       file="hex_1D_order2_onFace.msh"  
       my_dom=Interval(1,2,useElementsOnFace=1)  
       self.checker(my_dom,file)  
   
63     def test_hex_2D_order1(self):     def test_hex_2D_order1(self):
64        file="hex_2D_order1.msh"        file="hex_2D_order1.msh"
65        my_dom=Rectangle(1,1,1)        my_dom=Rectangle(1,1,1)
# Line 94  class Test_Generators(unittest.TestCase) Line 105  class Test_Generators(unittest.TestCase)
105        ms1=Rectangle(1,1,1,l1=0.5,useElementsOnFace=False)        ms1=Rectangle(1,1,1,l1=0.5,useElementsOnFace=False)
106        ms2=Rectangle(1,1,1,l1=0.5,useElementsOnFace=False)        ms2=Rectangle(1,1,1,l1=0.5,useElementsOnFace=False)
107        ms2.setX(ms2.getX()+[0,0.5])        ms2.setX(ms2.getX()+[0,0.5])
108        my_dom=JoinFaces([ms1,ms2])        my_dom=JoinFaces([ms1,ms2],optimize=False)
109        self.checker(my_dom,file)        self.checker(my_dom,file)
110    
111     def test_hex_contact_2D_order1_onFace(self):     def test_hex_contact_2D_order1_onFace(self):
# Line 102  class Test_Generators(unittest.TestCase) Line 113  class Test_Generators(unittest.TestCase)
113        ms1=Rectangle(1,1,1,l1=0.5,useElementsOnFace=True)        ms1=Rectangle(1,1,1,l1=0.5,useElementsOnFace=True)
114        ms2=Rectangle(1,1,1,l1=0.5,useElementsOnFace=True)        ms2=Rectangle(1,1,1,l1=0.5,useElementsOnFace=True)
115        ms2.setX(ms2.getX()+[0,0.5])        ms2.setX(ms2.getX()+[0,0.5])
116        my_dom=JoinFaces([ms1,ms2])        my_dom=JoinFaces([ms1,ms2],optimize=False)
117        self.checker(my_dom,file)        self.checker(my_dom,file)
118    
119     def test_hex_contact_2D_order2(self):     def test_hex_contact_2D_order2(self):
# Line 110  class Test_Generators(unittest.TestCase) Line 121  class Test_Generators(unittest.TestCase)
121        ms1=Rectangle(1,1,2,l1=0.5,useElementsOnFace=False)        ms1=Rectangle(1,1,2,l1=0.5,useElementsOnFace=False)
122        ms2=Rectangle(1,1,2,l1=0.5,useElementsOnFace=False)        ms2=Rectangle(1,1,2,l1=0.5,useElementsOnFace=False)
123        ms2.setX(ms2.getX()+[0,0.5])        ms2.setX(ms2.getX()+[0,0.5])
124        my_dom=JoinFaces([ms1,ms2])        my_dom=JoinFaces([ms1,ms2],optimize=False)
125        self.checker(my_dom,file)        self.checker(my_dom,file)
126    
127     def test_hex_contact_2D_order2_onFace(self):     def test_hex_contact_2D_order2_onFace(self):
# Line 118  class Test_Generators(unittest.TestCase) Line 129  class Test_Generators(unittest.TestCase)
129        ms1=Rectangle(1,1,2,l1=0.5,useElementsOnFace=True)        ms1=Rectangle(1,1,2,l1=0.5,useElementsOnFace=True)
130        ms2=Rectangle(1,1,2,l1=0.5,useElementsOnFace=True)        ms2=Rectangle(1,1,2,l1=0.5,useElementsOnFace=True)
131        ms2.setX(ms2.getX()+[0,0.5])        ms2.setX(ms2.getX()+[0,0.5])
132        my_dom=JoinFaces([ms1,ms2])        my_dom=JoinFaces([ms1,ms2],optimize=False)
133        self.checker(my_dom,file)        self.checker(my_dom,file)
134    
135     def test_hex_contact_3D_order1(self):     def test_hex_contact_3D_order1(self):
# Line 126  class Test_Generators(unittest.TestCase) Line 137  class Test_Generators(unittest.TestCase)
137        ms1=Brick(1,1,1,1,l2=0.5,useElementsOnFace=False)        ms1=Brick(1,1,1,1,l2=0.5,useElementsOnFace=False)
138        ms2=Brick(1,1,1,1,l2=0.5,useElementsOnFace=False)        ms2=Brick(1,1,1,1,l2=0.5,useElementsOnFace=False)
139        ms2.setX(ms2.getX()+[0,0,0.5])        ms2.setX(ms2.getX()+[0,0,0.5])
140        my_dom=JoinFaces([ms1,ms2])        my_dom=JoinFaces([ms1,ms2],optimize=False)
141        self.checker(my_dom,file)        self.checker(my_dom,file)
142    
143     def test_hex_contact_3D_order1_onFace(self):     def test_hex_contact_3D_order1_onFace(self):
# Line 134  class Test_Generators(unittest.TestCase) Line 145  class Test_Generators(unittest.TestCase)
145        ms1=Brick(1,1,1,1,l2=0.5,useElementsOnFace=True)        ms1=Brick(1,1,1,1,l2=0.5,useElementsOnFace=True)
146        ms2=Brick(1,1,1,1,l2=0.5,useElementsOnFace=True)        ms2=Brick(1,1,1,1,l2=0.5,useElementsOnFace=True)
147        ms2.setX(ms2.getX()+[0,0,0.5])        ms2.setX(ms2.getX()+[0,0,0.5])
148        my_dom=JoinFaces([ms1,ms2])        my_dom=JoinFaces([ms1,ms2],optimize=False)
149        self.checker(my_dom,file)        self.checker(my_dom,file)
150    
151     def test_hex_contact_3D_order2(self):     def test_hex_contact_3D_order2(self):
# Line 142  class Test_Generators(unittest.TestCase) Line 153  class Test_Generators(unittest.TestCase)
153        ms1=Brick(1,1,1,2,l2=0.5,useElementsOnFace=False)        ms1=Brick(1,1,1,2,l2=0.5,useElementsOnFace=False)
154        ms2=Brick(1,1,1,2,l2=0.5,useElementsOnFace=False)        ms2=Brick(1,1,1,2,l2=0.5,useElementsOnFace=False)
155        ms2.setX(ms2.getX()+[0,0,0.5])        ms2.setX(ms2.getX()+[0,0,0.5])
156        my_dom=JoinFaces([ms1,ms2])        my_dom=JoinFaces([ms1,ms2],optimize=False)
157        self.checker(my_dom,file)        self.checker(my_dom,file)
158    
159     def test_hex_contact_3D_order2_onFace(self):     def test_hex_contact_3D_order2_onFace(self):
# Line 150  class Test_Generators(unittest.TestCase) Line 161  class Test_Generators(unittest.TestCase)
161        ms1=Brick(1,1,1,2,l2=0.5,useElementsOnFace=True)        ms1=Brick(1,1,1,2,l2=0.5,useElementsOnFace=True)
162        ms2=Brick(1,1,1,2,l2=0.5,useElementsOnFace=True)        ms2=Brick(1,1,1,2,l2=0.5,useElementsOnFace=True)
163        ms2.setX(ms2.getX()+[0,0,0.5])        ms2.setX(ms2.getX()+[0,0,0.5])
164        my_dom=JoinFaces([ms1,ms2])        my_dom=JoinFaces([ms1,ms2],optimize=False)
165        self.checker(my_dom,file)        self.checker(my_dom,file)
166    
167    class Test_GMSHReader(unittest.TestCase):
168       def compare(self, test_file, reference_file):
169          dom_string=open(test_file).read().splitlines()
170          ref_string=open(reference_file).read().splitlines()
171          self.failUnlessEqual(len(dom_string),len(ref_string),"number of lines in mesh files does not match reference")
172          for l in range(1,len(ref_string)):
173             self.failUnlessEqual(dom_string[l].strip(),ref_string[l].strip(),"line %d (%s) in mesh files does not match reference (%s)"%(l,ref_string[l].strip(),dom_string[l].strip()))
174    
175       def test_Tri3(self):
176           file="tri3_gmsh.msh"
177           ref ="tri3.fly"
178           test = FINLEY_WORKDIR+os.sep+"tri3_test.fly"
179           dom = ReadGmsh(FINLEY_TEST_MESH_PATH+os.sep+file,2,optimize=False)
180           dom.write(test)
181           self.compare(test, FINLEY_TEST_MESH_PATH+os.sep+ref)
182    
183       def test_Tri6(self):
184           file="tri6_gmsh.msh"
185           ref="tri6.fly"
186           test = FINLEY_WORKDIR+os.sep+"tri8_test.fly"
187           dom = ReadGmsh(FINLEY_TEST_MESH_PATH+os.sep+file,2,optimize=False)
188           dom.write(test)
189           self.compare(test, FINLEY_TEST_MESH_PATH+os.sep+ref)
190    
191       def test_Tet4(self):
192           file="tet4_gmsh.msh"
193           ref="tet4.fly"
194           test = FINLEY_WORKDIR+os.sep+"tet4_test.fly"
195           dom = ReadGmsh(FINLEY_TEST_MESH_PATH+os.sep+file,3,optimize=False)
196           dom.write(test)
197           self.compare(test, FINLEY_TEST_MESH_PATH+os.sep+ref)
198    
199       def test_Tet10(self):
200           file="tet10_gmsh.msh"
201           ref="tet10.fly"
202           test = FINLEY_WORKDIR+os.sep+"tet10_test.fly"
203           dom = ReadGmsh(FINLEY_TEST_MESH_PATH+os.sep+file,3,optimize=False)
204           dom.write(test)
205           self.compare(test, FINLEY_TEST_MESH_PATH+os.sep+ref)
206    
207    class Test_Reader(unittest.TestCase):
208       def test_ReadWriteTagNames(self):
209           file="hex_2D_order2.msh"
210           test = FINLEY_WORKDIR+os.sep+"test.fly"
211           dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+file,3,optimize=False)
212           insertTagNames(dom,A=1,B=2)
213           dom.write(test)
214           dom2 = ReadMesh(test,3,optimize=False)
215           t=getTagNames(dom)
216           self.failUnless(len(t)==6)
217           self.failUnless("A" in t)
218           self.failUnless("B" in t)
219           self.failUnless(dom2.getTag("A") == 1)
220           self.failUnless(dom2.getTag("B") == 2)
221           self.failUnless(dom2.isValidTagName("A"))
222           self.failUnless(dom2.isValidTagName("B"))
223    
224    class Test_Integration(unittest.TestCase):
225       TOL=EPSILON*100.
226       def __test_2DQ(self,dom,order):
227           x=Function(dom).getX()
228           x_bound=FunctionOnBoundary(dom).getX()
229           for i in xrange(order+1):
230             for j in xrange(order+1):
231                 res=integrate(x[0]**i*x[1]**j)
232                 ref=1./((i+1)*(j+1))
233                 error=abs(res-ref)/abs(ref)
234                 self.failUnless(error<=self.TOL,"integration for order (%s,%s) failed. True value = %s, calculated = %s"%(i,j,ref,res))
235    
236                 res=integrate(x_bound[0]**i*x_bound[1]**j)
237                 ref=0
238                 if i == 0:
239                    ref += 2./(j+1)
240                 else:
241                    ref += 1./(j+1)
242                 if j == 0:
243                    ref += 2./(i+1)
244                 else:
245                    ref += 1./(i+1)
246                 error=abs(res-ref)/abs(ref)
247                 self.failUnless(error<=self.TOL,"surface integration for order (%s,%s) failed. True value = %s, calculated = %s"%(i,j,ref,res))
248                
249       def __test_2DT(self,dom,order,raise_tol=1.):
250           x=Function(dom).getX()
251           x_bound=FunctionOnBoundary(dom).getX()
252           for i in xrange(order+1):
253             for j in xrange(order+1):
254               if i+j<=order:
255                 res=integrate(x[0]**i*x[1]**j)
256                 ref=1./((i+1)*(j+1))
257                 error=abs(res-ref)/abs(ref)
258                 # print order,error
259                 self.failUnless(error<=self.TOL*raise_tol,"integration for order (%s,%s) failed. True value = %s, calculated = %s"%(i,j,ref,res))
260    
261                 res=integrate(x_bound[0]**i*x_bound[1]**j)
262                 ref=0
263                 if i == 0:
264                    ref += 2./(j+1)
265                 else:
266                    ref += 1./(j+1)
267                 if j == 0:
268                    ref += 2./(i+1)
269                 else:
270                    ref += 1./(i+1)
271                 error=abs(res-ref)/abs(ref)
272                 self.failUnless(error<=self.TOL*raise_tol,"surface integration for order (%s,%s) failed. True value = %s, calculated = %s"%(i,j,ref,res))
273    
274    
275       def __test_3DQ(self,dom,order):
276           x=Function(dom).getX()
277           x_bound=FunctionOnBoundary(dom).getX()
278           for i in xrange(order+1):
279             for j in xrange(order+1):
280               for k in xrange(order+1):
281                 res=integrate(x[0]**i*x[1]**j*x[2]**k)
282                 ref=1./((i+1)*(j+1)*(k+1))
283                 error=abs(res-ref)/abs(ref)
284                 self.failUnless(error<=self.TOL,"integration for order (%s,%s,%s) failed. True value = %s, calculated = %s"%(i,j,k,ref,res))
285    
286                 res=integrate(x_bound[0]**i*x_bound[1]**j*x_bound[2]**k)
287                 ref=0
288                 if i == 0:
289                    ref += 2./((j+1)*(k+1))
290                 else:
291                    ref += 1./((j+1)*(k+1))
292                 if j == 0:
293                    ref += 2./((i+1)*(k+1))
294                 else:
295                    ref += 1./((i+1)*(k+1))
296                 if k == 0:
297                    ref += 2./((i+1)*(j+1))
298                 else:
299                    ref += 1./((i+1)*(j+1))
300                 error=abs(res-ref)/abs(ref)
301                 self.failUnless(error<=self.TOL,"surface integration for order (%s,%s,%s) failed. True value = %s, calculated = %s"%(i,j,k,ref,res))
302    
303       def __test_3DT(self,dom,order,raise_tol=1.):
304           x=Function(dom).getX()
305           x_bound=FunctionOnBoundary(dom).getX()
306           for i in xrange(order+1):
307             for j in xrange(order+1):
308               for k in xrange(order+1):
309                 if i+j+k<=order:
310                    res=integrate(x[0]**i*x[1]**j*x[2]**k)
311                    ref=1./((i+1)*(j+1)*(k+1))
312                    error=abs(res-ref)/abs(ref)
313                    self.failUnless(error<=self.TOL*raise_tol,"integration for order (%s,%s,%s) failed. True value = %s, calculated = %s"%(i,j,k,ref,res))
314    
315                    res=integrate(x_bound[0]**i*x_bound[1]**j*x_bound[2]**k)
316                    ref=0
317                    if i == 0:
318                       ref += 2./((j+1)*(k+1))
319                    else:
320                       ref += 1./((j+1)*(k+1))
321                    if j == 0:
322                       ref += 2./((i+1)*(k+1))
323                    else:
324                       ref += 1./((i+1)*(k+1))
325                    if k == 0:
326                       ref += 2./((i+1)*(j+1))
327                    else:
328                       ref += 1./((i+1)*(j+1))
329                    error=abs(res-ref)/abs(ref)
330                    self.failUnless(error<=self.TOL*raise_tol,"surface integration for order (%s,%s,%s) failed. True value = %s, calculated = %s"%(i,j,k,ref,res))
331    
332       def test_hex2D_order1(self):
333          my_dom=Rectangle(1,1,integrationOrder=1)
334          self.__test_2DQ(my_dom,1)
335       def test_hex2D_order2(self):
336          my_dom=Rectangle(1,1,integrationOrder=2)
337          self.__test_2DQ(my_dom,2)
338       def test_hex2D_order3(self):
339          my_dom=Rectangle(1,1,integrationOrder=3)
340          self.__test_2DQ(my_dom,3)
341       def test_hex2D_order4(self):
342          my_dom=Rectangle(1,1,integrationOrder=4)
343          self.__test_2DQ(my_dom,4)
344       def test_hex2D_order5(self):
345          my_dom=Rectangle(1,1,integrationOrder=5)
346          self.__test_2DQ(my_dom,5)
347       def test_hex2D_order6(self):
348          my_dom=Rectangle(1,1,integrationOrder=6)
349          self.__test_2DQ(my_dom,6)
350       def test_hex2D_order7(self):
351          my_dom=Rectangle(1,1,integrationOrder=7)
352          self.__test_2DQ(my_dom,7)
353       def test_hex2D_order8(self):
354          my_dom=Rectangle(1,1,integrationOrder=8)
355          self.__test_2DQ(my_dom,8)
356       def test_hex2D_order9(self):
357          my_dom=Rectangle(1,1,integrationOrder=9)
358          self.__test_2DQ(my_dom,9)
359       def test_hex2D_order10(self):
360          my_dom=Rectangle(1,1,integrationOrder=10)
361          self.__test_2DQ(my_dom,10)
362    
363       def test_Tet2D_order1(self):
364          my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tri3.fly",optimize=False,integrationOrder=1)
365          self.__test_2DT(my_dom,1)
366       def test_Tet2D_order2(self):
367          my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tri3.fly",optimize=False,integrationOrder=2)
368          self.__test_2DT(my_dom,2)
369       def test_Tet2D_order3(self):
370          my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tri3.fly",optimize=False,integrationOrder=3)
371          self.__test_2DT(my_dom,3)
372       def test_Tet2D_order4(self):
373          my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tri3.fly",optimize=False,integrationOrder=4)
374          self.__test_2DT(my_dom,4)
375       def test_Tet2D_order5(self):
376          my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tri3.fly",optimize=False,integrationOrder=5)
377          self.__test_2DT(my_dom,5)
378       def test_Tet2D_order6(self):
379          my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tri3.fly",optimize=False,integrationOrder=6)
380          self.__test_2DT(my_dom,6)
381       def test_Tet2D_order7(self):
382          my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tri3.fly",optimize=False,integrationOrder=7)
383          self.__test_2DT(my_dom,7)
384       def test_Tet2D_order8(self):
385          my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tri3.fly",optimize=False,integrationOrder=8)
386          self.__test_2DT(my_dom,8,1./sqrt(EPSILON))
387       def test_Tet2D_order9(self):
388          my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tri3.fly",optimize=False,integrationOrder=9)
389          self.__test_2DT(my_dom,9,1./sqrt(EPSILON))
390       def test_Tet2D_order10(self):
391          my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tri3.fly",optimize=False,integrationOrder=10)
392          self.__test_2DT(my_dom,10)
393    
394       def test_hex3D_order1(self):
395          my_dom=Brick(1,1,1,integrationOrder=1)
396          self.__test_3DQ(my_dom,1)
397       def test_hex3D_order2(self):
398          my_dom=Brick(1,1,1,integrationOrder=2)
399          self.__test_3DQ(my_dom,2)
400       def test_hex3D_order3(self):
401          my_dom=Brick(1,1,1,integrationOrder=3)
402          self.__test_3DQ(my_dom,3)
403       def test_hex3D_order4(self):
404          my_dom=Brick(1,1,1,integrationOrder=4)
405          self.__test_3DQ(my_dom,4)
406       def test_hex3D_order5(self):
407          my_dom=Brick(1,1,1,integrationOrder=5)
408          self.__test_3DQ(my_dom,5)
409       def test_hex3D_order6(self):
410          my_dom=Brick(1,1,1,integrationOrder=6)
411          self.__test_3DQ(my_dom,6)
412       def test_hex3D_order7(self):
413          my_dom=Brick(1,1,1,integrationOrder=7)
414          self.__test_3DQ(my_dom,7)
415       def test_hex3D_order8(self):
416          my_dom=Brick(1,1,1,integrationOrder=8)
417          self.__test_3DQ(my_dom,8)
418       def test_hex3D_order9(self):
419          my_dom=Brick(1,1,1,integrationOrder=9)
420          self.__test_3DQ(my_dom,9)
421       def test_hex3D_order10(self):
422          my_dom=Brick(1,1,1,integrationOrder=10)
423          self.__test_3DQ(my_dom,10)
424    
425       def test_Tet3D_order1(self):
426          my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tet4.fly",optimize=False,integrationOrder=1)
427          self.__test_3DT(my_dom,1)
428       def test_Tet3D_order2(self):
429          my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tet4.fly",optimize=False,integrationOrder=2)
430          self.__test_3DT(my_dom,2)
431       def test_Tet3D_order3(self):
432          my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tet4.fly",optimize=False,integrationOrder=3)
433          self.__test_3DT(my_dom,3)
434       def test_Tet3D_order4(self):
435          my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tet4.fly",optimize=False,integrationOrder=4)
436          self.__test_3DT(my_dom,4)
437       def test_Tet3D_order5(self):
438          my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tet4.fly",optimize=False,integrationOrder=5)
439          self.__test_3DT(my_dom,5)
440       def test_Tet3D_order6(self):
441          my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tet4.fly",optimize=False,integrationOrder=6)
442          self.__test_3DT(my_dom,6,1./sqrt(EPSILON))
443       def test_Tet3D_order7(self):
444          my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tet4.fly",optimize=False,integrationOrder=7)
445          self.__test_3DT(my_dom,7,1./sqrt(EPSILON))
446       def test_Tet3D_order8(self):
447          my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tet4.fly",optimize=False,integrationOrder=8)
448          self.__test_3DT(my_dom,8,1./sqrt(EPSILON))
449       def test_Tet3D_order9(self):
450          my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tet4.fly",optimize=False,integrationOrder=9)
451          self.__test_3DT(my_dom,9,1./sqrt(EPSILON))
452       def test_Tet3D_order10(self):
453          my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tet4.fly",optimize=False,integrationOrder=10)
454          self.__test_3DT(my_dom,10)
455    
456  if __name__ == '__main__':  if __name__ == '__main__':
457     suite = unittest.TestSuite()     suite = unittest.TestSuite()
458     suite.addTest(unittest.makeSuite(Test_Generators))     suite.addTest(unittest.makeSuite(Test_Generators))
459       suite.addTest(unittest.makeSuite(Test_GMSHReader))
460       suite.addTest(unittest.makeSuite(Test_Reader))
461       suite.addTest(unittest.makeSuite(Test_Integration))
462     s=unittest.TextTestRunner(verbosity=2).run(suite)     s=unittest.TextTestRunner(verbosity=2).run(suite)
463     if s.wasSuccessful():     if not s.wasSuccessful(): sys.exit(1)
464       sys.exit(0)  
    else:  
      sys.exit(1)  

Legend:
Removed from v.626  
changed lines
  Added in v.1388

  ViewVC Help
Powered by ViewVC 1.1.26