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

Diff of /trunk/finley/test/python/run_utilOnFinley.py

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

revision 814 by gross, Wed Aug 23 09:31:10 2006 UTC revision 2748 by gross, Tue Nov 17 07:32:59 2009 UTC
# Line 1  Line 1 
 # $Id$  
1    
2  __copyright__="""  Copyright (c) 2006 by ACcESS MNRF  ########################################################
3                      http://www.access.edu.au  #
4                  Primary Business: Queensland, Australia"""  # Copyright (c) 2003-2009 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-2009 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  __license__="""Licensed under the Open Software License version 3.0
19               http://www.opensource.org/licenses/osl-3.0.php"""  http://www.opensource.org/licenses/osl-3.0.php"""
20    __url__="https://launchpad.net/escript-finley"
21    
22  import unittest  import unittest
23  from test_util import Test_util as Test_util  from test_util import Test_util as Test_util
24  from test_util import Test_Util_SpatialFunctions, Test_Util_SpatialFunctions_noGradOnBoundary  from test_util import Test_Util_SpatialFunctions, Test_Util_SpatialFunctions_noGradOnBoundary, Test_Util_SpatialFunctions_noGradOnBoundary_noContact
25  from test_symbols import Test_symbols  from test_symbols import Test_symbols
26    
27  from esys.escript import FunctionOnBoundary  from esys.escript import *
28  from esys.finley import Rectangle,Brick,JoinFaces  from esys.finley import Rectangle,Brick,JoinFaces,ReadMesh
29  import sys  import sys
30    import os
31    
32    try:
33         FINLEY_TEST_DATA=os.environ['FINLEY_TEST_DATA']
34    except KeyError:
35         FINLEY_TEST_DATA='.'
36    
37    FINLEY_TEST_MESH_PATH=os.path.join(FINLEY_TEST_DATA,"data_meshes")
38    
39    
40  NE=4 # number elements, must be even  NE=4 # number elements, must be even
41    
# Line 24  class Test_UtilOnFinley(Test_util,Test_s Line 47  class Test_UtilOnFinley(Test_util,Test_s
47         del self.functionspace         del self.functionspace
48         del self.domain         del self.domain
49    
50  class Test_Util_SpatialFunctionsOnFinley2DOrder1(Test_Util_SpatialFunctions_noGradOnBoundary):  class Test_Util_SpatialFunctionsOnFinleyTet2DOrder1(Test_Util_SpatialFunctions_noGradOnBoundary_noContact):
51        def setUp(self):
52            self.order=1
53            self.domain = ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order1.fly"),optimize=False)
54        def tearDown(self):
55            del self.order
56            del self.domain
57    
58    class Test_Util_SpatialFunctionsOnFinleyTet2DOrder2(Test_Util_SpatialFunctions_noGradOnBoundary_noContact):
59        def setUp(self):
60            self.order=2
61            self.domain = ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order2.fly"),optimize=False)
62        def tearDown(self):
63            del self.order
64            del self.domain
65    
66    class Test_Util_SpatialFunctionsOnFinleyTet2DMacro(Test_Util_SpatialFunctions_noGradOnBoundary_noContact):
67        def setUp(self):
68            self.order=1
69            self.domain = ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_macro.fly"),optimize=False)
70        def tearDown(self):
71            del self.order
72            del self.domain
73    
74    class Test_Util_SpatialFunctionsOnFinleyTet3DOrder1(Test_Util_SpatialFunctions_noGradOnBoundary_noContact):
75        def setUp(self):
76            self.order=1
77            self.domain = ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order1.fly"),optimize=False)
78        def tearDown(self):
79            del self.order
80            del self.domain
81    
82    class Test_Util_SpatialFunctionsOnFinleyTet3DOrder2(Test_Util_SpatialFunctions_noGradOnBoundary_noContact):
83        def setUp(self):
84            self.order=2
85            self.domain = ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order2.fly"),optimize=False)
86        def tearDown(self):
87            del self.order
88            del self.domain
89    
90    class Test_Util_SpatialFunctionsOnFinleyTet3DMacro(Test_Util_SpatialFunctions_noGradOnBoundary_noContact):
91        def setUp(self):
92            self.order=1
93            self.domain = ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_macro.fly"),optimize=False)
94        def tearDown(self):
95            del self.order
96            del self.domain
97    
98    class Test_Util_SpatialFunctionsOnFinleyHex2DOrder1(Test_Util_SpatialFunctions_noGradOnBoundary_noContact):
99        def setUp(self):
100            self.order=1
101            self.domain = Rectangle(n0=NE,n1=NE,order=1)
102        def tearDown(self):
103            del self.order
104            del self.domain
105    
106    class Test_Util_SpatialFunctionsOnFinleyHex2DOrder2(Test_Util_SpatialFunctions_noGradOnBoundary_noContact):
107        def setUp(self):
108            self.order=2
109            self.domain = Rectangle(n0=NE,n1=NE,order=2)
110        def tearDown(self):
111            del self.order
112            del self.domain
113    
114    class Test_Util_SpatialFunctionsOnFinleyHex2DMacro(Test_Util_SpatialFunctions_noGradOnBoundary_noContact):
115        def setUp(self):
116            self.order=1
117            self.domain = Rectangle(n0=NE,n1=NE,order=-1)
118        def tearDown(self):
119            del self.order
120            del self.domain
121    
122    class Test_Util_SpatialFunctionsOnFinleyHex3DOrder1(Test_Util_SpatialFunctions_noGradOnBoundary_noContact):
123        def setUp(self):
124            self.order=1
125            self.domain = Brick(n0=NE,n1=NE,n2=NE,order=1)
126        def tearDown(self):
127            del self.order
128            del self.domain
129    
130    class Test_Util_SpatialFunctionsOnFinleyHex3DOrder2(Test_Util_SpatialFunctions_noGradOnBoundary_noContact):
131        def setUp(self):
132            self.order=2
133            self.domain = Brick(n0=NE,n1=NE,n2=NE,order=2)
134        def tearDown(self):
135            del self.order
136            del self.domain
137    
138    class Test_Util_SpatialFunctionsOnFinleyHex3DMacro(Test_Util_SpatialFunctions_noGradOnBoundary_noContact):
139        def setUp(self):
140            self.order=1
141            self.domain = Brick(n0=NE,n1=NE,n2=NE,order=-1)
142        def tearDown(self):
143            del self.order
144            del self.domain
145    
146    class Test_Util_SpatialFunctionsOnFinleyHex2DOrder1withContact(Test_Util_SpatialFunctions_noGradOnBoundary):
147      def setUp(self):      def setUp(self):
148          self.order=1          self.order=1
149          d1 = Rectangle(n0=NE/2+1,n1=NE,l0=0.5,order=1)          d1 = Rectangle(n0=NE/2+1,n1=NE,l0=0.5,order=1)
150          d2 = Rectangle(n0=NE/2,n1=NE,l0=0.5,order=1)          d2 = Rectangle(n0=NE/2,n1=NE,l0=0.5,order=1)
151          d2.setX(d2.getX()+[0.5,0.])          d2.setX(d2.getX()+[0.5,0.])
152          self.domain = JoinFaces([d1,d2])          self.domain = JoinFaces([d1,d2],optimize=False)
153      def tearDown(self):      def tearDown(self):
154          del self.order          del self.order
155          del self.domain          del self.domain
156    
157  class Test_Util_SpatialFunctionsOnFinley2DOrder2(Test_Util_SpatialFunctions_noGradOnBoundary):  class Test_Util_SpatialFunctionsOnFinleyHex2DOrder2withContact(Test_Util_SpatialFunctions_noGradOnBoundary):
158      def setUp(self):      def setUp(self):
159          self.order=2          self.order=2
160          d1 = Rectangle(n0=NE/2,n1=NE,l0=0.5,order=2)          d1 = Rectangle(n0=NE/2,n1=NE,l0=0.5,order=2)
161          d2 = Rectangle(n0=NE/2,n1=NE,l0=0.5,order=2)          d2 = Rectangle(n0=NE/2,n1=NE,l0=0.5,order=2)
162          d2.setX(d2.getX()+[0.5,0.])          d2.setX(d2.getX()+[0.5,0.])
163          self.domain = JoinFaces([d1,d2])          self.domain = JoinFaces([d1,d2],optimize=False)
164      def tearDown(self):      def tearDown(self):
165          del self.order          del self.order
166          del self.domain          del self.domain
167    
168  class Test_Util_SpatialFunctionsOnFinley3DOrder1(Test_Util_SpatialFunctions_noGradOnBoundary):  class Test_Util_SpatialFunctionsOnFinleyHex3DOrder1withContact(Test_Util_SpatialFunctions_noGradOnBoundary):
169      def setUp(self):      def setUp(self):
170          self.order=1          self.order=1
171          d1 = Brick(n0=NE/2+1,n1=NE,n2=NE,l0=0.5,order=1)          d1 = Brick(n0=NE/2+1,n1=NE,n2=NE,l0=0.5,order=1)
172          d2 = Brick(n0=NE/2,n1=NE,n2=NE,l0=0.5,order=1)          d2 = Brick(n0=NE/2,n1=NE,n2=NE,l0=0.5,order=1)
173          d2.setX(d2.getX()+[0.5,0.,0.])          d2.setX(d2.getX()+[0.5,0.,0.])
174          self.domain = JoinFaces([d1,d2])          self.domain = JoinFaces([d1,d2],optimize=False)
175      def tearDown(self):      def tearDown(self):
176          del self.order          del self.order
177          del self.domain          del self.domain
178    
179  class Test_Util_SpatialFunctionsOnFinley3DOrder2(Test_Util_SpatialFunctions_noGradOnBoundary):  class Test_Util_SpatialFunctionsOnFinleyHex3DOrder2withContact(Test_Util_SpatialFunctions_noGradOnBoundary):
180      def setUp(self):      def setUp(self):
181          self.order=2          self.order=2
182          d1 = Brick(n0=NE/2+1,n1=NE,n2=NE,l0=0.5,order=2)          d1 = Brick(n0=NE/2+1,n1=NE,n2=NE,l0=0.5,order=2)
183          d2 = Brick(n0=NE/2,n1=NE,n2=NE,l0=0.5,order=2)          d2 = Brick(n0=NE/2,n1=NE,n2=NE,l0=0.5,order=2)
184          d2.setX(d2.getX()+[0.5,0.,0.])          d2.setX(d2.getX()+[0.5,0.,0.])
185          self.domain = JoinFaces([d1,d2])          self.domain = JoinFaces([d1,d2],optimize=False)
186      def tearDown(self):      def tearDown(self):
187          del self.order          del self.order
188          del self.domain          del self.domain
189    
190  class Test_Util_SpatialFunctionsOnFinley2DOrder1useElementsOnFace(Test_Util_SpatialFunctions):  class Test_Util_SpatialFunctionsOnFinleyHex2DOrder1useElementsOnFacewithContact(Test_Util_SpatialFunctions):
191      def setUp(self):      def setUp(self):
192          self.order=1          self.order=1
193          d1 = Rectangle(n0=NE/2+1,n1=NE,l0=0.5,order=1,useElementsOnFace=True)          d1 = Rectangle(n0=NE/2+1,n1=NE,l0=0.5,order=1,useElementsOnFace=True)
194          d2 = Rectangle(n0=NE/2,n1=NE,l0=0.5,order=1,useElementsOnFace=True)          d2 = Rectangle(n0=NE/2,n1=NE,l0=0.5,order=1,useElementsOnFace=True)
195          d2.setX(d2.getX()+[0.5,0.])          d2.setX(d2.getX()+[0.5,0.])
196          self.domain = JoinFaces([d1,d2])          self.domain = JoinFaces([d1,d2],optimize=False)
197      def tearDown(self):      def tearDown(self):
198          del self.order          del self.order
199          del self.domain          del self.domain
200    
201  class Test_Util_SpatialFunctionsOnFinley2DOrder2useElementsOnFace(Test_Util_SpatialFunctions):  class Test_Util_SpatialFunctionsOnFinleyHex2DOrder2useElementsOnFacewithContact(Test_Util_SpatialFunctions):
202      def setUp(self):      def setUp(self):
203          self.order=2          self.order=2
204          d1 = Rectangle(n0=NE/2+1,n1=NE,l0=0.5,order=2,useElementsOnFace=True)          d1 = Rectangle(n0=NE/2+1,n1=NE,l0=0.5,order=2,useElementsOnFace=True)
205          d2 = Rectangle(n0=NE/2,n1=NE,l0=0.5,order=2,useElementsOnFace=True)          d2 = Rectangle(n0=NE/2,n1=NE,l0=0.5,order=2,useElementsOnFace=True)
206          d2.setX(d2.getX()+[0.5,0.])          d2.setX(d2.getX()+[0.5,0.])
207          self.domain = JoinFaces([d1,d2])          self.domain = JoinFaces([d1,d2],optimize=False)
208      def tearDown(self):      def tearDown(self):
209          del self.order          del self.order
210          del self.domain          del self.domain
211    
212  class Test_Util_SpatialFunctionsOnFinley3DOrder1useElementsOnFace(Test_Util_SpatialFunctions):  class Test_Util_SpatialFunctionsOnFinleyHex3DOrder1useElementsOnFacewithContact(Test_Util_SpatialFunctions):
213      def setUp(self):      def setUp(self):
214          self.order=1          self.order=1
215          d1 = Brick(n0=NE/2,n1=NE,n2=NE,l0=0.5,order=1,useElementsOnFace=True)          d1 = Brick(n0=NE/2,n1=NE,n2=NE,l0=0.5,order=1,useElementsOnFace=True)
216          d2 = Brick(n0=NE/2+1,n1=NE,n2=NE,l0=0.5,order=1,useElementsOnFace=True)          d2 = Brick(n0=NE/2+1,n1=NE,n2=NE,l0=0.5,order=1,useElementsOnFace=True)
217          d2.setX(d2.getX()+[0.5,0.,0.])          d2.setX(d2.getX()+[0.5,0.,0.])
218          self.domain = JoinFaces([d1,d2])          self.domain = JoinFaces([d1,d2],optimize=False)
219      def tearDown(self):      def tearDown(self):
220          del self.order          del self.order
221          del self.domain          del self.domain
222    
223  class Test_Util_SpatialFunctionsOnFinley3DOrder2useElementsOnFace(Test_Util_SpatialFunctions):  class Test_Util_SpatialFunctionsOnFinleyHex3DOrder2useElementsOnFacewithContact(Test_Util_SpatialFunctions):
224      def setUp(self):      def setUp(self):
225          self.order=2          self.order=2
226          d1 = Brick(n0=NE/2,n1=NE,n2=NE,l0=0.5,order=2,useElementsOnFace=True)          d1 = Brick(n0=NE/2,n1=NE,n2=NE,l0=0.5,order=2,useElementsOnFace=True)
227          d2 = Brick(n0=NE/2+1,n1=NE,n2=NE,l0=0.5,order=2,useElementsOnFace=True)          d2 = Brick(n0=NE/2+1,n1=NE,n2=NE,l0=0.5,order=2,useElementsOnFace=True)
228          d2.setX(d2.getX()+[0.5,0.,0.])          d2.setX(d2.getX()+[0.5,0.,0.])
229          self.domain = JoinFaces([d1,d2])          self.domain = JoinFaces([d1,d2],optimize=False)
230      def tearDown(self):      def tearDown(self):
231          del self.order          del self.order
232          del self.domain          del self.domain
233    
234  if __name__ == '__main__':  if __name__ == '__main__':
235     suite = unittest.TestSuite()     suite = unittest.TestSuite()
236     suite.addTest(Test_UtilOnFinley("test_generalTensorTransposedProduct_Symbol_rank1_taggedData_rank3_offset1"))     if True:
237     # suite.addTest(unittest.makeSuite(Test_UtilOnFinley))        suite.addTest(unittest.makeSuite(Test_UtilOnFinley))
238     # suite.addTest(unittest.makeSuite(Test_Util_SpatialFunctionsOnFinley2DOrder1))        suite.addTest(unittest.makeSuite(Test_Util_SpatialFunctionsOnFinleyTet2DOrder1))
239     # suite.addTest(unittest.makeSuite(Test_Util_SpatialFunctionsOnFinley2DOrder2))        suite.addTest(unittest.makeSuite(Test_Util_SpatialFunctionsOnFinleyTet2DOrder2))
240     # suite.addTest(unittest.makeSuite(Test_Util_SpatialFunctionsOnFinley3DOrder1))        suite.addTest(unittest.makeSuite(Test_Util_SpatialFunctionsOnFinleyTet2DMacro))
241     # suite.addTest(unittest.makeSuite(Test_Util_SpatialFunctionsOnFinley3DOrder2))        suite.addTest(unittest.makeSuite(Test_Util_SpatialFunctionsOnFinleyTet3DOrder1))
242     # suite.addTest(unittest.makeSuite(Test_Util_SpatialFunctionsOnFinley2DOrder1useElementsOnFace))        suite.addTest(unittest.makeSuite(Test_Util_SpatialFunctionsOnFinleyTet3DOrder2))
243     # suite.addTest(unittest.makeSuite(Test_Util_SpatialFunctionsOnFinley2DOrder2useElementsOnFace))        suite.addTest(unittest.makeSuite(Test_Util_SpatialFunctionsOnFinleyTet3DMacro))
244     # suite.addTest(unittest.makeSuite(Test_Util_SpatialFunctionsOnFinley3DOrder1useElementsOnFace))        suite.addTest(unittest.makeSuite(Test_Util_SpatialFunctionsOnFinleyHex2DOrder1))
245     # suite.addTest(unittest.makeSuite(Test_Util_SpatialFunctionsOnFinley3DOrder2useElementsOnFace))        suite.addTest(unittest.makeSuite(Test_Util_SpatialFunctionsOnFinleyHex2DOrder2))
246     s=unittest.TextTestRunner(verbosity=2).run(suite)        suite.addTest(unittest.makeSuite(Test_Util_SpatialFunctionsOnFinleyHex2DMacro))
247     if s.wasSuccessful():        suite.addTest(unittest.makeSuite(Test_Util_SpatialFunctionsOnFinleyHex3DOrder1))
248       sys.exit(0)        suite.addTest(unittest.makeSuite(Test_Util_SpatialFunctionsOnFinleyHex3DOrder2))
249          suite.addTest(unittest.makeSuite(Test_Util_SpatialFunctionsOnFinleyHex3DMacro))
250          # These tests use JoinFaces and are not MPI parallel
251          if getMPISizeWorld() == 1:
252            suite.addTest(unittest.makeSuite(Test_Util_SpatialFunctionsOnFinleyHex2DOrder1withContact))
253            suite.addTest(unittest.makeSuite(Test_Util_SpatialFunctionsOnFinleyHex2DOrder2withContact))
254            suite.addTest(unittest.makeSuite(Test_Util_SpatialFunctionsOnFinleyHex3DOrder1withContact))
255            suite.addTest(unittest.makeSuite(Test_Util_SpatialFunctionsOnFinleyHex3DOrder2withContact))
256            suite.addTest(unittest.makeSuite(Test_Util_SpatialFunctionsOnFinleyHex2DOrder1useElementsOnFacewithContact))
257            suite.addTest(unittest.makeSuite(Test_Util_SpatialFunctionsOnFinleyHex2DOrder2useElementsOnFacewithContact))
258            suite.addTest(unittest.makeSuite(Test_Util_SpatialFunctionsOnFinleyHex3DOrder1useElementsOnFacewithContact))
259            suite.addTest(unittest.makeSuite(Test_Util_SpatialFunctionsOnFinleyHex3DOrder2useElementsOnFacewithContact))
260     else:     else:
261       sys.exit(1)        pass
262         s=unittest.TextTestRunner(verbosity=2).run(suite)
263       if not s.wasSuccessful(): sys.exit(1)
264    

Legend:
Removed from v.814  
changed lines
  Added in v.2748

  ViewVC Help
Powered by ViewVC 1.1.26