/[escript]/trunk/finley/test/python/run_generators.py
ViewVC logotype

Contents of /trunk/finley/test/python/run_generators.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2344 - (show annotations)
Mon Mar 30 02:13:58 2009 UTC (10 years, 4 months ago) by jfenwick
File MIME type: text/x-python
File size: 19642 byte(s)
Change __url__ to launchpad site

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

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

  ViewVC Help
Powered by ViewVC 1.1.26