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

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

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

revision 1185 by gross, Thu May 31 04:33:31 2007 UTC revision 1376 by gross, Wed Jan 9 01:38:18 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  __copyright__="""  Copyright (c) 2006 by ACcESS MNRF  __copyright__="""  Copyright (c) 2006 by ACcESS MNRF
18                      http://www.access.edu.au                      http://www.access.edu.au
# Line 20  try: Line 34  try:
34  except KeyError:  except KeyError:
35       FINLEY_WORKDIR='.'       FINLEY_WORKDIR='.'
36    
37  FINLEY_TEST_MESH_PATH=os.path.join(FINLEY_TEST_DATA,"data_meshes")  FINLEY_TEST_MESH_PATH=FINLEY_TEST_DATA+"/data_meshes/"
38  # if os.name == "nt":  if os.name == "nt":
39  #   FINLEY_TEST_MESH_PATH = os.path.join(FINLEY_TEST_MESH_PATH,"win32/"     FINLEY_TEST_MESH_PATH = FINLEY_TEST_MESH_PATH+"win32/"
40  FINLEY_WORKDIR_PATH=FINLEY_WORKDIR  FINLEY_WORKDIR_PATH=FINLEY_WORKDIR+"/"
41    
42  class Test_VisualizationInterface(unittest.TestCase):  class Test_VisualizationInterface(unittest.TestCase):
43     def check_vtk(self,f,reference_f):     def check_vtk(self,f,reference_f):
# Line 41  class Test_VisualizationInterface(unitte Line 55  class Test_VisualizationInterface(unitte
55             c+=1             c+=1
56    
57     def check_dx(self,f,reference_f):     def check_dx(self,f,reference_f):
58        out_string=open(os.path.join(FINLEY_WORKDIR_PATH,f)).read().splitlines()        out_string=open(FINLEY_WORKDIR_PATH+f).read().splitlines()
59        ref_string=open(os.path.join(FINLEY_TEST_MESH_PATH,reference_f)).read().splitlines()        ref_string=open(FINLEY_TEST_MESH_PATH+reference_f).read().splitlines()
60        c=0        c=0
61        for l in range(0,len(ref_string)):        for l in range(0,len(ref_string)):
62           if not ref_string[l].strip()[0]=="#":           if not ref_string[l].strip()[0]=="#":
# Line 57  class Test_VTKFiles(Test_VisualizationIn Line 71  class Test_VTKFiles(Test_VisualizationIn
71    # ======================================================================================================================    # ======================================================================================================================
72    def test_hex_2D_order2_vtk(self):    def test_hex_2D_order2_vtk(self):
73       reference="hex_2D_o2.xml"       reference="hex_2D_o2.xml"
74       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh",optimize=False)
75       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_2D_order2.xml"),domain=dom)       saveVTK(FINLEY_WORKDIR_PATH+"hex_2D_order2.xml",domain=dom)
76       self.check_vtk("hex_2D_order2.xml",reference)       self.check_vtk("hex_2D_order2.xml",reference)
77    
78    def test_hex_2D_order2_AllPoints_Scalar_vtk(self):    def test_hex_2D_order2_AllPoints_Scalar_vtk(self):
79       reference="hex_2D_o1_node_3xs.xml"       reference="hex_2D_o1_node_3xs.xml"
80       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh",optimize=False)
81       x=Solution(dom).getX()       x=Solution(dom).getX()
82       x_r=ReducedSolution(dom).getX()       x_r=ReducedSolution(dom).getX()
83       x_n=ContinuousFunction(dom).getX()       x_n=ContinuousFunction(dom).getX()
84       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_2D_order2_AllPoints_Scalar.xml"),data_r=x_r[0],data_n=x_n[0],data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_2D_order2_AllPoints_Scalar.xml",data_r=x_r[0],data_n=x_n[0],data=x[0])
85       self.check_vtk("hex_2D_order2_AllPoints_Scalar.xml",reference)       self.check_vtk("hex_2D_order2_AllPoints_Scalar.xml",reference)
86    def test_hex_2D_order2_02Points_Scalar_vtk(self):    def test_hex_2D_order2_02Points_Scalar_vtk(self):
87       reference="hex_2D_o2_node_2xs.xml"       reference="hex_2D_o2_node_2xs.xml"
88       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh",optimize=False)
89       x=Solution(dom).getX()       x=Solution(dom).getX()
90       x_n=ContinuousFunction(dom).getX()       x_n=ContinuousFunction(dom).getX()
91       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_2D_order2_O2Points_Scalar.xml"),data_n=x_n[0],data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_2D_order2_O2Points_Scalar.xml",data_n=x_n[0],data=x[0])
92       self.check_vtk("hex_2D_order2_O2Points_Scalar.xml",reference)       self.check_vtk("hex_2D_order2_O2Points_Scalar.xml",reference)
93    def test_hex_2D_order2_2Cells_Scalar_vtk(self):    def test_hex_2D_order2_2Cells_Scalar_vtk(self):
94       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh",optimize=False)
95       x=Function(dom).getX()       x=Function(dom).getX()
96       x_b=FunctionOnBoundary(dom).getX()       x_b=FunctionOnBoundary(dom).getX()
97       try:       try:
98          saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_2D_order2_2Cells_Scalar.xml"),data=x[0],data_b=x_b[0])          saveVTK(FINLEY_WORKDIR_PATH+"hex_2D_order2_2Cells_Scalar.xml",data=x[0],data_b=x_b[0])
99          self.fail("non-matching data not detected.")          self.fail("non-matching data not detected.")
100       except StandardError:       except StandardError:
101          pass          pass
102    def test_hex_2D_order2_BoundaryPoint_Scalar_vtk(self):    def test_hex_2D_order2_BoundaryPoint_Scalar_vtk(self):
103       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh",optimize=False)
104       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
105       x_b=FunctionOnBoundary(dom).getX()       x_b=FunctionOnBoundary(dom).getX()
106       try:       try:
107          saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_2D_order2_BoundaryPoint_Scalar.xml"),data=x[0],data_b=x_b[0])          saveVTK(FINLEY_WORKDIR_PATH+"hex_2D_order2_BoundaryPoint_Scalar.xml",data=x[0],data_b=x_b[0])
108          self.fail("non-matching data not detected.")          self.fail("non-matching data not detected.")
109       except StandardError:       except StandardError:
110          pass          pass
111    def test_hex_2D_order2_Cells_AllData_vtk(self):    def test_hex_2D_order2_Cells_AllData_vtk(self):
112       reference="hex_2D_o2_cell_all.xml"       reference="hex_2D_o2_cell_all.xml"
113       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh",optimize=False)
114       x=Function(dom).getX()       x=Function(dom).getX()
115       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_2D_order2_Cells_AllData.xml"),data_s=x[0],data_v=x[0]*[1.,2.],data_t=x[0]*[[11.,12.],[21.,22.]],data_t2=x[0]*[[-11.,-12.],[-21.,-22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_2D_order2_Cells_AllData.xml",data_s=x[0],data_v=x[0]*[1.,2.],data_t=x[0]*[[11.,12.],[21.,22.]],data_t2=x[0]*[[-11.,-12.],[-21.,-22.]])
116       self.check_vtk("hex_2D_order2_Cells_AllData.xml",reference)       self.check_vtk("hex_2D_order2_Cells_AllData.xml",reference)
117    
118    def test_hex_2D_order2_CellsPoints_AllData_vtk(self):    def test_hex_2D_order2_CellsPoints_AllData_vtk(self):
119       reference="hex_2D_o2_cellnode_all.xml"       reference="hex_2D_o2_cellnode_all.xml"
120       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh",optimize=False)
121       x_c=Function(dom).getX()       x_c=Function(dom).getX()
122       x_p=ContinuousFunction(dom).getX()       x_p=ContinuousFunction(dom).getX()
123       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_2D_order2_CellsPoints_AllData.xml"),data_sp=x_p[0],       saveVTK(FINLEY_WORKDIR_PATH+"hex_2D_order2_CellsPoints_AllData.xml",data_sp=x_p[0],
124                                                       data_vp=x_p[0]*[1.,2.],                                                       data_vp=x_p[0]*[1.,2.],
125                                                       data_tp=x_p[0]*[[11.,12.],[21.,22.]],                                                       data_tp=x_p[0]*[[11.,12.],[21.,22.]],
126                                                       data_sc=x_c[0],                                                       data_sc=x_c[0],
# Line 116  class Test_VTKFiles(Test_VisualizationIn Line 130  class Test_VTKFiles(Test_VisualizationIn
130    # ======================================================================================================================    # ======================================================================================================================
131    def test_hex_contact_2D_order1_ContinuousFunction_Scalar_vtk(self):    def test_hex_contact_2D_order1_ContinuousFunction_Scalar_vtk(self):
132       reference="hex_2D_o1_node_s.xml"       reference="hex_2D_o1_node_s.xml"
133       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
134       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
135       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ContinuousFunction_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ContinuousFunction_Scalar.xml",data=x[0])
136       self.check_vtk("hex_contact_2D_order1_ContinuousFunction_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_ContinuousFunction_Scalar.xml",reference)
137    def test_hex_contact_2D_order1_ContinuousFunction_Vector_vtk(self):    def test_hex_contact_2D_order1_ContinuousFunction_Vector_vtk(self):
138       reference="hex_2D_o1_node_v.xml"       reference="hex_2D_o1_node_v.xml"
139       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
140       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
141       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ContinuousFunction_Vector.xml"),data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ContinuousFunction_Vector.xml",data=x[0]*[1.,2.])
142       self.check_vtk("hex_contact_2D_order1_ContinuousFunction_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_ContinuousFunction_Vector.xml",reference)
143    def test_hex_contact_2D_order1_ContinuousFunction_Tensor_vtk(self):    def test_hex_contact_2D_order1_ContinuousFunction_Tensor_vtk(self):
144       reference="hex_2D_o1_node_t.xml"       reference="hex_2D_o1_node_t.xml"
145       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
146       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
147       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ContinuousFunction_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ContinuousFunction_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
148       self.check_vtk("hex_contact_2D_order1_ContinuousFunction_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_ContinuousFunction_Tensor.xml",reference)
149    def test_hex_contact_2D_order1_Solution_Scalar_vtk(self):    def test_hex_contact_2D_order1_Solution_Scalar_vtk(self):
150       reference="hex_2D_o1_node_s.xml"       reference="hex_2D_o1_node_s.xml"
151       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
152       x=Solution(dom).getX()       x=Solution(dom).getX()
153       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_Solution_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Solution_Scalar.xml",data=x[0])
154       self.check_vtk("hex_contact_2D_order1_Solution_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_Solution_Scalar.xml",reference)
155    def test_hex_contact_2D_order1_Solution_Vector_vtk(self):    def test_hex_contact_2D_order1_Solution_Vector_vtk(self):
156       reference="hex_2D_o1_node_v.xml"       reference="hex_2D_o1_node_v.xml"
157       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
158       x=Solution(dom).getX()       x=Solution(dom).getX()
159       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_Solution_Vector.xml"),data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Solution_Vector.xml",data=x[0]*[1.,2.])
160       self.check_vtk("hex_contact_2D_order1_Solution_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_Solution_Vector.xml",reference)
161    def test_hex_contact_2D_order1_Solution_Tensor_vtk(self):    def test_hex_contact_2D_order1_Solution_Tensor_vtk(self):
162       reference="hex_2D_o1_node_t.xml"       reference="hex_2D_o1_node_t.xml"
163       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
164       x=Solution(dom).getX()       x=Solution(dom).getX()
165       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_Solution_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Solution_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
166       self.check_vtk("hex_contact_2D_order1_Solution_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_Solution_Tensor.xml",reference)
167    def test_hex_contact_2D_order1_ReducedSolution_Scalar_vtk(self):    def test_hex_contact_2D_order1_ReducedSolution_Scalar_vtk(self):
168       reference="hex_2D_o1_node_s.xml"       reference="hex_2D_o1_node_s.xml"
169       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
170       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
171       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedSolution_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedSolution_Scalar.xml",data=x[0])
172       self.check_vtk("hex_contact_2D_order1_ReducedSolution_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedSolution_Scalar.xml",reference)
173    def test_hex_contact_2D_order1_ReducedSolution_Vector_vtk(self):    def test_hex_contact_2D_order1_ReducedSolution_Vector_vtk(self):
174       reference="hex_2D_o1_node_v.xml"       reference="hex_2D_o1_node_v.xml"
175       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
176       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
177       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedSolution_Vector.xml"),data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedSolution_Vector.xml",data=x[0]*[1.,2.])
178       self.check_vtk("hex_contact_2D_order1_ReducedSolution_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedSolution_Vector.xml",reference)
179    def test_hex_contact_2D_order1_ReducedSolution_Tensor_vtk(self):    def test_hex_contact_2D_order1_ReducedSolution_Tensor_vtk(self):
180       reference="hex_2D_o1_node_t.xml"       reference="hex_2D_o1_node_t.xml"
181       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
182       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
183       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedSolution_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedSolution_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
184       self.check_vtk("hex_contact_2D_order1_ReducedSolution_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedSolution_Tensor.xml",reference)
185    def test_hex_contact_2D_order1_Function_Scalar_vtk(self):    def test_hex_contact_2D_order1_Function_Scalar_vtk(self):
186       reference="hex_2D_o1_cell_s.xml"       reference="hex_2D_o1_cell_s.xml"
187       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
188       x=Function(dom).getX()       x=Function(dom).getX()
189       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_Function_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Function_Scalar.xml",data=x[0])
190       self.check_vtk("hex_contact_2D_order1_Function_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_Function_Scalar.xml",reference)
191    def test_hex_contact_2D_order1_Function_Vector_vtk(self):    def test_hex_contact_2D_order1_Function_Vector_vtk(self):
192       reference="hex_2D_o1_cell_v.xml"       reference="hex_2D_o1_cell_v.xml"
193       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
194       x=Function(dom).getX()       x=Function(dom).getX()
195       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_Function_Vector.xml"),data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Function_Vector.xml",data=x[0]*[1.,2.])
196       self.check_vtk("hex_contact_2D_order1_Function_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_Function_Vector.xml",reference)
197    def test_hex_contact_2D_order1_Function_Tensor_vtk(self):    def test_hex_contact_2D_order1_Function_Tensor_vtk(self):
198       reference="hex_2D_o1_cell_t.xml"       reference="hex_2D_o1_cell_t.xml"
199       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
200       x=Function(dom).getX()       x=Function(dom).getX()
201       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_Function_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Function_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
202       self.check_vtk("hex_contact_2D_order1_Function_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_Function_Tensor.xml",reference)
203    def test_hex_contact_2D_order1_ReducedFunction_Scalar_vtk(self):    def test_hex_contact_2D_order1_ReducedFunction_Scalar_vtk(self):
204       reference="hex_2D_o1_cell_s.xml"       reference="hex_2D_o1_cell_s.xml"
205       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
206       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
207       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedFunction_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunction_Scalar.xml",data=x[0])
208       self.check_vtk("hex_contact_2D_order1_ReducedFunction_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedFunction_Scalar.xml",reference)
209    def test_hex_contact_2D_order1_ReducedFunction_Vector_vtk(self):    def test_hex_contact_2D_order1_ReducedFunction_Vector_vtk(self):
210       reference="hex_2D_o1_cell_v.xml"       reference="hex_2D_o1_cell_v.xml"
211       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
212       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
213       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedFunction_Vector.xml"),data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunction_Vector.xml",data=x[0]*[1.,2.])
214       self.check_vtk("hex_contact_2D_order1_ReducedFunction_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedFunction_Vector.xml",reference)
215    def test_hex_contact_2D_order1_ReducedFunction_Tensor_vtk(self):    def test_hex_contact_2D_order1_ReducedFunction_Tensor_vtk(self):
216       reference="hex_2D_o1_cell_t.xml"       reference="hex_2D_o1_cell_t.xml"
217       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
218       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
219       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedFunction_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunction_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
220       self.check_vtk("hex_contact_2D_order1_ReducedFunction_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedFunction_Tensor.xml",reference)
221    def test_hex_contact_2D_order1_FunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_2D_order1_FunctionOnBoundary_Scalar_vtk(self):
222       reference="hex_2D_o1_boundary_s.xml"       reference="hex_2D_o1_boundary_s.xml"
223       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
224       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
225       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_FunctionOnBoundary_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnBoundary_Scalar.xml",data=x[0])
226       self.check_vtk("hex_contact_2D_order1_FunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_FunctionOnBoundary_Scalar.xml",reference)
227    def test_hex_contact_2D_order1_FunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_2D_order1_FunctionOnBoundary_Vector_vtk(self):
228       reference="hex_2D_o1_boundary_v.xml"       reference="hex_2D_o1_boundary_v.xml"
229       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
230       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
231       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_FunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.])
232       self.check_vtk("hex_contact_2D_order1_FunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_FunctionOnBoundary_Vector.xml",reference)
233    def test_hex_contact_2D_order1_FunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_2D_order1_FunctionOnBoundary_Tensor_vtk(self):
234       reference="hex_2D_o1_boundary_t.xml"       reference="hex_2D_o1_boundary_t.xml"
235       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
236       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
237       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_FunctionOnBoundary_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
238       self.check_vtk("hex_contact_2D_order1_FunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_FunctionOnBoundary_Tensor.xml",reference)
239    def test_hex_contact_2D_order1_ReducedFunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_2D_order1_ReducedFunctionOnBoundary_Scalar_vtk(self):
240       reference="hex_2D_o1_boundary_s.xml"       reference="hex_2D_o1_boundary_s.xml"
241       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
242       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
243       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedFunctionOnBoundary_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnBoundary_Scalar.xml",data=x[0])
244       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnBoundary_Scalar.xml",reference)
245    def test_hex_contact_2D_order1_ReducedFunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_2D_order1_ReducedFunctionOnBoundary_Vector_vtk(self):
246       reference="hex_2D_o1_boundary_v.xml"       reference="hex_2D_o1_boundary_v.xml"
247       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
248       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
249       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedFunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.])
250       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnBoundary_Vector.xml",reference)
251    def test_hex_contact_2D_order1_ReducedFunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_2D_order1_ReducedFunctionOnBoundary_Tensor_vtk(self):
252       reference="hex_2D_o1_boundary_t.xml"       reference="hex_2D_o1_boundary_t.xml"
253       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
254       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
255       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedFunctionOnBoundary_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
256       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnBoundary_Tensor.xml",reference)
257    def test_hex_contact_2D_order1_onFace_FunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_2D_order1_onFace_FunctionOnBoundary_Scalar_vtk(self):
258       reference="hex_2D_o1_f_boundary_s.xml"       reference="hex_2D_o1_f_boundary_s.xml"
259       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh",optimize=False)
260       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
261       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_onFace_FunctionOnBoundary_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_FunctionOnBoundary_Scalar.xml",data=x[0])
262       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnBoundary_Scalar.xml",reference)
263    def test_hex_contact_2D_order1_onFace_FunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_2D_order1_onFace_FunctionOnBoundary_Vector_vtk(self):
264       reference="hex_2D_o1_f_boundary_v.xml"       reference="hex_2D_o1_f_boundary_v.xml"
265       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh",optimize=False)
266       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
267       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_onFace_FunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_FunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.])
268       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnBoundary_Vector.xml",reference)
269    def test_hex_contact_2D_order1_onFace_FunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_2D_order1_onFace_FunctionOnBoundary_Tensor_vtk(self):
270       reference="hex_2D_o1_f_boundary_t.xml"       reference="hex_2D_o1_f_boundary_t.xml"
271       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh",optimize=False)
272       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
273       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_onFace_FunctionOnBoundary_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_FunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
274       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnBoundary_Tensor.xml",reference)
275    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Scalar_vtk(self):
276       reference="hex_2D_o1_f_boundary_s.xml"       reference="hex_2D_o1_f_boundary_s.xml"
277       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh",optimize=False)
278       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
279       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Scalar.xml",data=x[0])
280       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Scalar.xml",reference)
281    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Vector_vtk(self):
282       reference="hex_2D_o1_f_boundary_v.xml"       reference="hex_2D_o1_f_boundary_v.xml"
283       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh",optimize=False)
284       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
285       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.])
286       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Vector.xml",reference)
287    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Tensor_vtk(self):
288       reference="hex_2D_o1_f_boundary_t.xml"       reference="hex_2D_o1_f_boundary_t.xml"
289       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh",optimize=False)
290       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
291       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
292       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Tensor.xml",reference)
293    def test_hex_contact_2D_order1_FunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_2D_order1_FunctionOnContactZero_Scalar_vtk(self):
294       reference="hex_2D_o1_contact_s.xml"       reference="hex_2D_o1_contact_s.xml"
295       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
296       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
297       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_FunctionOnContactZero_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnContactZero_Scalar.xml",data=x[0])
298       self.check_vtk("hex_contact_2D_order1_FunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_FunctionOnContactZero_Scalar.xml",reference)
299    def test_hex_contact_2D_order1_FunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_2D_order1_FunctionOnContactZero_Vector_vtk(self):
300       reference="hex_2D_o1_contact_v.xml"       reference="hex_2D_o1_contact_v.xml"
301       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
302       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
303       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_FunctionOnContactZero_Vector.xml"),data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.])
304       self.check_vtk("hex_contact_2D_order1_FunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_FunctionOnContactZero_Vector.xml",reference)
305    def test_hex_contact_2D_order1_FunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_2D_order1_FunctionOnContactZero_Tensor_vtk(self):
306       reference="hex_2D_o1_contact_t.xml"       reference="hex_2D_o1_contact_t.xml"
307       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
308       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
309       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_FunctionOnContactZero_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
310       self.check_vtk("hex_contact_2D_order1_FunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_FunctionOnContactZero_Tensor.xml",reference)
311    def test_hex_contact_2D_order1_ReducedFunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_2D_order1_ReducedFunctionOnContactZero_Scalar_vtk(self):
312       reference="hex_2D_o1_contact_s.xml"       reference="hex_2D_o1_contact_s.xml"
313       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
314       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
315       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedFunctionOnContactZero_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnContactZero_Scalar.xml",data=x[0])
316       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnContactZero_Scalar.xml",reference)
317    def test_hex_contact_2D_order1_ReducedFunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_2D_order1_ReducedFunctionOnContactZero_Vector_vtk(self):
318       reference="hex_2D_o1_contact_v.xml"       reference="hex_2D_o1_contact_v.xml"
319       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
320       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
321       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedFunctionOnContactZero_Vector.xml"),data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.])
322       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnContactZero_Vector.xml",reference)
323    def test_hex_contact_2D_order1_ReducedFunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_2D_order1_ReducedFunctionOnContactZero_Tensor_vtk(self):
324       reference="hex_2D_o1_contact_t.xml"       reference="hex_2D_o1_contact_t.xml"
325       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
326       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
327       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedFunctionOnContactZero_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
328       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnContactZero_Tensor.xml",reference)
329    def test_hex_contact_2D_order1_onFace_FunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_2D_order1_onFace_FunctionOnContactZero_Scalar_vtk(self):
330       reference="hex_2D_o1_contact_s.xml"       reference="hex_2D_o1_contact_s.xml"
331       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh",optimize=False)
332       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
333       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_onFace_FunctionOnContactZero_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_FunctionOnContactZero_Scalar.xml",data=x[0])
334       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnContactZero_Scalar.xml",reference)
335    def test_hex_contact_2D_order1_onFace_FunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_2D_order1_onFace_FunctionOnContactZero_Vector_vtk(self):
336       reference="hex_2D_o1_contact_v.xml"       reference="hex_2D_o1_contact_v.xml"
337       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh",optimize=False)
338       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
339       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_onFace_FunctionOnContactZero_Vector.xml"),data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_FunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.])
340       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnContactZero_Vector.xml",reference)
341    def test_hex_contact_2D_order1_onFace_FunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_2D_order1_onFace_FunctionOnContactZero_Tensor_vtk(self):
342       reference="hex_2D_o1_contact_t.xml"       reference="hex_2D_o1_contact_t.xml"
343       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh",optimize=False)
344       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
345       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_onFace_FunctionOnContactZero_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_FunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
346       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnContactZero_Tensor.xml",reference)
347    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Scalar_vtk(self):
348       reference="hex_2D_o1_contact_s.xml"       reference="hex_2D_o1_contact_s.xml"
349       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh",optimize=False)
350       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
351       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Scalar.xml",data=x[0])
352       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Scalar.xml",reference)
353    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Vector_vtk(self):
354       reference="hex_2D_o1_contact_v.xml"       reference="hex_2D_o1_contact_v.xml"
355       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh",optimize=False)
356       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
357       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Vector.xml"),data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.])
358       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Vector.xml",reference)
359    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Tensor_vtk(self):
360       reference="hex_2D_o1_contact_t.xml"       reference="hex_2D_o1_contact_t.xml"
361       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh",optimize=False)
362       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
363       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
364       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Tensor.xml",reference)
365    def test_hex_contact_2D_order1_FunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_2D_order1_FunctionOnContactOne_Scalar_vtk(self):
366       reference="hex_2D_o1_contact_s.xml"       reference="hex_2D_o1_contact_s.xml"
367       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
368       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
369       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_FunctionOnContactOne_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnContactOne_Scalar.xml",data=x[0])
370       self.check_vtk("hex_contact_2D_order1_FunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_FunctionOnContactOne_Scalar.xml",reference)
371    def test_hex_contact_2D_order1_FunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_2D_order1_FunctionOnContactOne_Vector_vtk(self):
372       reference="hex_2D_o1_contact_v.xml"       reference="hex_2D_o1_contact_v.xml"
373       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
374       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
375       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_FunctionOnContactOne_Vector.xml"),data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.])
376       self.check_vtk("hex_contact_2D_order1_FunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_FunctionOnContactOne_Vector.xml",reference)
377    def test_hex_contact_2D_order1_FunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_2D_order1_FunctionOnContactOne_Tensor_vtk(self):
378       reference="hex_2D_o1_contact_t.xml"       reference="hex_2D_o1_contact_t.xml"
379       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
380       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
381       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_FunctionOnContactOne_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
382       self.check_vtk("hex_contact_2D_order1_FunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_FunctionOnContactOne_Tensor.xml",reference)
383    def test_hex_contact_2D_order1_ReducedFunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_2D_order1_ReducedFunctionOnContactOne_Scalar_vtk(self):
384       reference="hex_2D_o1_contact_s.xml"       reference="hex_2D_o1_contact_s.xml"
385       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
386       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
387       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedFunctionOnContactOne_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnContactOne_Scalar.xml",data=x[0])
388       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnContactOne_Scalar.xml",reference)
389    def test_hex_contact_2D_order1_ReducedFunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_2D_order1_ReducedFunctionOnContactOne_Vector_vtk(self):
390       reference="hex_2D_o1_contact_v.xml"       reference="hex_2D_o1_contact_v.xml"
391       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
392       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
393       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedFunctionOnContactOne_Vector.xml"),data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.])
394       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnContactOne_Vector.xml",reference)
395    def test_hex_contact_2D_order1_ReducedFunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_2D_order1_ReducedFunctionOnContactOne_Tensor_vtk(self):
396       reference="hex_2D_o1_contact_t.xml"       reference="hex_2D_o1_contact_t.xml"
397       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
398       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
399       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedFunctionOnContactOne_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
400       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnContactOne_Tensor.xml",reference)
401    def test_hex_contact_2D_order1_onFace_FunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_2D_order1_onFace_FunctionOnContactOne_Scalar_vtk(self):
402       reference="hex_2D_o1_contact_s.xml"       reference="hex_2D_o1_contact_s.xml"
403       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh",optimize=False)
404       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
405       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_onFace_FunctionOnContactOne_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_FunctionOnContactOne_Scalar.xml",data=x[0])
406       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnContactOne_Scalar.xml",reference)
407    def test_hex_contact_2D_order1_onFace_FunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_2D_order1_onFace_FunctionOnContactOne_Vector_vtk(self):
408       reference="hex_2D_o1_contact_v.xml"       reference="hex_2D_o1_contact_v.xml"
409       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh",optimize=False)
410       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
411       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_onFace_FunctionOnContactOne_Vector.xml"),data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_FunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.])
412       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnContactOne_Vector.xml",reference)
413    def test_hex_contact_2D_order1_onFace_FunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_2D_order1_onFace_FunctionOnContactOne_Tensor_vtk(self):
414       reference="hex_2D_o1_contact_t.xml"       reference="hex_2D_o1_contact_t.xml"
415       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh",optimize=False)
416       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
417       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_onFace_FunctionOnContactOne_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_FunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
418       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnContactOne_Tensor.xml",reference)
419    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Scalar_vtk(self):
420      reference="hex_2D_o1_contact_s.xml"      reference="hex_2D_o1_contact_s.xml"
421      dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1_onFace.msh"))      dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh",optimize=False)
422      x=ReducedFunctionOnContactOne(dom).getX()      x=ReducedFunctionOnContactOne(dom).getX()
423      saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Scalar.xml"),data=x[0])      saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Scalar.xml",data=x[0])
424      self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Scalar.xml",reference)      self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Scalar.xml",reference)
425    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Vector_vtk(self):
426      reference="hex_2D_o1_contact_v.xml"      reference="hex_2D_o1_contact_v.xml"
427      dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1_onFace.msh"))      dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh",optimize=False)
428      x=ReducedFunctionOnContactOne(dom).getX()      x=ReducedFunctionOnContactOne(dom).getX()
429      saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Vector.xml"),data=x[0]*[1.,2.])      saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.])
430      self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Vector.xml",reference)      self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Vector.xml",reference)
431    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Tensor_vtk(self):
432      reference="hex_2D_o1_contact_t.xml"      reference="hex_2D_o1_contact_t.xml"
433      dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1_onFace.msh"))      dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh",optimize=False)
434      x=ReducedFunctionOnContactOne(dom).getX()      x=ReducedFunctionOnContactOne(dom).getX()
435      saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])      saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
436      self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Tensor.xml",reference)      self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Tensor.xml",reference)
437    # ======================================================================================================================    # ======================================================================================================================
438    def test_hex_contact_2D_order2_ContinuousFunction_Scalar_vtk(self):    def test_hex_contact_2D_order2_ContinuousFunction_Scalar_vtk(self):
439       reference="hex_2D_o2_node_s.xml"       reference="hex_2D_o2_node_s.xml"
440       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
441       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
442       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ContinuousFunction_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ContinuousFunction_Scalar.xml",data=x[0])
443       self.check_vtk("hex_contact_2D_order2_ContinuousFunction_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_ContinuousFunction_Scalar.xml",reference)
444    def test_hex_contact_2D_order2_ContinuousFunction_Vector_vtk(self):    def test_hex_contact_2D_order2_ContinuousFunction_Vector_vtk(self):
445       reference="hex_2D_o2_node_v.xml"       reference="hex_2D_o2_node_v.xml"
446       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
447       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
448       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ContinuousFunction_Vector.xml"),data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ContinuousFunction_Vector.xml",data=x[0]*[1.,2.])
449       self.check_vtk("hex_contact_2D_order2_ContinuousFunction_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_ContinuousFunction_Vector.xml",reference)
450    def test_hex_contact_2D_order2_ContinuousFunction_Tensor_vtk(self):    def test_hex_contact_2D_order2_ContinuousFunction_Tensor_vtk(self):
451       reference="hex_2D_o2_node_t.xml"       reference="hex_2D_o2_node_t.xml"
452       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
453       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
454       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ContinuousFunction_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ContinuousFunction_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
455       self.check_vtk("hex_contact_2D_order2_ContinuousFunction_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_ContinuousFunction_Tensor.xml",reference)
456    def test_hex_contact_2D_order2_Solution_Scalar_vtk(self):    def test_hex_contact_2D_order2_Solution_Scalar_vtk(self):
457       reference="hex_2D_o2_node_s.xml"       reference="hex_2D_o2_node_s.xml"
458       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
459       x=Solution(dom).getX()       x=Solution(dom).getX()
460       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_Solution_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Solution_Scalar.xml",data=x[0])
461       self.check_vtk("hex_contact_2D_order2_Solution_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_Solution_Scalar.xml",reference)
462    def test_hex_contact_2D_order2_Solution_Vector_vtk(self):    def test_hex_contact_2D_order2_Solution_Vector_vtk(self):
463       reference="hex_2D_o2_node_v.xml"       reference="hex_2D_o2_node_v.xml"
464       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
465       x=Solution(dom).getX()       x=Solution(dom).getX()
466       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_Solution_Vector.xml"),data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Solution_Vector.xml",data=x[0]*[1.,2.])
467       self.check_vtk("hex_contact_2D_order2_Solution_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_Solution_Vector.xml",reference)
468    def test_hex_contact_2D_order2_Solution_Tensor_vtk(self):    def test_hex_contact_2D_order2_Solution_Tensor_vtk(self):
469       reference="hex_2D_o2_node_t.xml"       reference="hex_2D_o2_node_t.xml"
470       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
471       x=Solution(dom).getX()       x=Solution(dom).getX()
472       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_Solution_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Solution_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
473       self.check_vtk("hex_contact_2D_order2_Solution_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_Solution_Tensor.xml",reference)
474    def test_hex_contact_2D_order2_ReducedSolution_Scalar_vtk(self):    def test_hex_contact_2D_order2_ReducedSolution_Scalar_vtk(self):
475       reference="hex_2D_o1_node_s.xml"       reference="hex_2D_o1_node_s.xml"
476       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
477       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
478       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedSolution_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedSolution_Scalar.xml",data=x[0])
479       self.check_vtk("hex_contact_2D_order2_ReducedSolution_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedSolution_Scalar.xml",reference)
480    def test_hex_contact_2D_order2_ReducedSolution_Vector_vtk(self):    def test_hex_contact_2D_order2_ReducedSolution_Vector_vtk(self):
481       reference="hex_2D_o1_node_v.xml"       reference="hex_2D_o1_node_v.xml"
482       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
483       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
484       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedSolution_Vector.xml"),data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedSolution_Vector.xml",data=x[0]*[1.,2.])
485       self.check_vtk("hex_contact_2D_order2_ReducedSolution_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedSolution_Vector.xml",reference)
486    def test_hex_contact_2D_order2_ReducedSolution_Tensor_vtk(self):    def test_hex_contact_2D_order2_ReducedSolution_Tensor_vtk(self):
487       reference="hex_2D_o1_node_t.xml"       reference="hex_2D_o1_node_t.xml"
488       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
489       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
490       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedSolution_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedSolution_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
491       self.check_vtk("hex_contact_2D_order2_ReducedSolution_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedSolution_Tensor.xml",reference)
492    def test_hex_contact_2D_order2_Function_Scalar_vtk(self):    def test_hex_contact_2D_order2_Function_Scalar_vtk(self):
493       reference="hex_2D_o2_cell_s.xml"       reference="hex_2D_o2_cell_s.xml"
494       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
495       x=Function(dom).getX()       x=Function(dom).getX()
496       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_Function_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Function_Scalar.xml",data=x[0])
497       self.check_vtk("hex_contact_2D_order2_Function_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_Function_Scalar.xml",reference)
498    def test_hex_contact_2D_order2_Function_Vector_vtk(self):    def test_hex_contact_2D_order2_Function_Vector_vtk(self):
499       reference="hex_2D_o2_cell_v.xml"       reference="hex_2D_o2_cell_v.xml"
500       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
501       x=Function(dom).getX()       x=Function(dom).getX()
502       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_Function_Vector.xml"),data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Function_Vector.xml",data=x[0]*[1.,2.])
503       self.check_vtk("hex_contact_2D_order2_Function_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_Function_Vector.xml",reference)
504    def test_hex_contact_2D_order2_Function_Tensor_vtk(self):    def test_hex_contact_2D_order2_Function_Tensor_vtk(self):
505       reference="hex_2D_o2_cell_t.xml"       reference="hex_2D_o2_cell_t.xml"
506       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
507       x=Function(dom).getX()       x=Function(dom).getX()
508       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_Function_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Function_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
509       self.check_vtk("hex_contact_2D_order2_Function_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_Function_Tensor.xml",reference)
510    def test_hex_contact_2D_order2_ReducedFunction_Scalar_vtk(self):    def test_hex_contact_2D_order2_ReducedFunction_Scalar_vtk(self):
511       reference="hex_2D_o2_cell_s.xml"       reference="hex_2D_o2_cell_s.xml"
512       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
513       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
514       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedFunction_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunction_Scalar.xml",data=x[0])
515       self.check_vtk("hex_contact_2D_order2_ReducedFunction_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedFunction_Scalar.xml",reference)
516    def test_hex_contact_2D_order2_ReducedFunction_Vector_vtk(self):    def test_hex_contact_2D_order2_ReducedFunction_Vector_vtk(self):
517       reference="hex_2D_o2_cell_v.xml"       reference="hex_2D_o2_cell_v.xml"
518       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
519       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
520       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedFunction_Vector.xml"),data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunction_Vector.xml",data=x[0]*[1.,2.])
521       self.check_vtk("hex_contact_2D_order2_ReducedFunction_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedFunction_Vector.xml",reference)
522    def test_hex_contact_2D_order2_ReducedFunction_Tensor_vtk(self):    def test_hex_contact_2D_order2_ReducedFunction_Tensor_vtk(self):
523       reference="hex_2D_o2_cell_t.xml"       reference="hex_2D_o2_cell_t.xml"
524       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
525       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
526       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedFunction_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunction_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
527       self.check_vtk("hex_contact_2D_order2_ReducedFunction_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedFunction_Tensor.xml",reference)
528    def test_hex_contact_2D_order2_FunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_2D_order2_FunctionOnBoundary_Scalar_vtk(self):
529       reference="hex_2D_o2_boundary_s.xml"       reference="hex_2D_o2_boundary_s.xml"
530       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
531       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
532       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_FunctionOnBoundary_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnBoundary_Scalar.xml",data=x[0])
533       self.check_vtk("hex_contact_2D_order2_FunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_FunctionOnBoundary_Scalar.xml",reference)
534    def test_hex_contact_2D_order2_FunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_2D_order2_FunctionOnBoundary_Vector_vtk(self):
535       reference="hex_2D_o2_boundary_v.xml"       reference="hex_2D_o2_boundary_v.xml"
536       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
537       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
538       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_FunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.])
539       self.check_vtk("hex_contact_2D_order2_FunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_FunctionOnBoundary_Vector.xml",reference)
540    def test_hex_contact_2D_order2_FunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_2D_order2_FunctionOnBoundary_Tensor_vtk(self):
541       reference="hex_2D_o2_boundary_t.xml"       reference="hex_2D_o2_boundary_t.xml"
542       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
543       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
544       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_FunctionOnBoundary_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
545       self.check_vtk("hex_contact_2D_order2_FunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_FunctionOnBoundary_Tensor.xml",reference)
546    def test_hex_contact_2D_order2_ReducedFunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_2D_order2_ReducedFunctionOnBoundary_Scalar_vtk(self):
547       reference="hex_2D_o2_boundary_s.xml"       reference="hex_2D_o2_boundary_s.xml"
548       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
549       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
550       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedFunctionOnBoundary_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnBoundary_Scalar.xml",data=x[0])
551       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnBoundary_Scalar.xml",reference)
552    def test_hex_contact_2D_order2_ReducedFunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_2D_order2_ReducedFunctionOnBoundary_Vector_vtk(self):
553       reference="hex_2D_o2_boundary_v.xml"       reference="hex_2D_o2_boundary_v.xml"
554       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
555       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
556       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedFunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.])
557       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnBoundary_Vector.xml",reference)
558    def test_hex_contact_2D_order2_ReducedFunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_2D_order2_ReducedFunctionOnBoundary_Tensor_vtk(self):
559       reference="hex_2D_o2_boundary_t.xml"       reference="hex_2D_o2_boundary_t.xml"
560       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
561       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
562       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedFunctionOnBoundary_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
563       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnBoundary_Tensor.xml",reference)
564    def test_hex_contact_2D_order2_onFace_FunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_2D_order2_onFace_FunctionOnBoundary_Scalar_vtk(self):
565       reference="hex_2D_o2_f_boundary_s.xml"       reference="hex_2D_o2_f_boundary_s.xml"
566       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh",optimize=False)
567       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
568       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_onFace_FunctionOnBoundary_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_FunctionOnBoundary_Scalar.xml",data=x[0])
569       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnBoundary_Scalar.xml",reference)
570    def test_hex_contact_2D_order2_onFace_FunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_2D_order2_onFace_FunctionOnBoundary_Vector_vtk(self):
571       reference="hex_2D_o2_f_boundary_v.xml"       reference="hex_2D_o2_f_boundary_v.xml"
572       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh",optimize=False)
573       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
574       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_onFace_FunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_FunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.])
575       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnBoundary_Vector.xml",reference)
576    def test_hex_contact_2D_order2_onFace_FunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_2D_order2_onFace_FunctionOnBoundary_Tensor_vtk(self):
577       reference="hex_2D_o2_f_boundary_t.xml"       reference="hex_2D_o2_f_boundary_t.xml"
578       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh",optimize=False)
579       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
580       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_onFace_FunctionOnBoundary_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_FunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
581       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnBoundary_Tensor.xml",reference)
582    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Scalar_vtk(self):
583       reference="hex_2D_o2_f_boundary_s.xml"       reference="hex_2D_o2_f_boundary_s.xml"
584       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh",optimize=False)
585       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
586       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Scalar.xml",data=x[0])
587       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Scalar.xml",reference)
588    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Vector_vtk(self):
589       reference="hex_2D_o2_f_boundary_v.xml"       reference="hex_2D_o2_f_boundary_v.xml"
590       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh",optimize=False)
591       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
592       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.])
593       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Vector.xml",reference)
594    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Tensor_vtk(self):
595       reference="hex_2D_o2_f_boundary_t.xml"       reference="hex_2D_o2_f_boundary_t.xml"
596       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh",optimize=False)
597       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
598       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
599       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Tensor.xml",reference)
600    def test_hex_contact_2D_order2_FunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_2D_order2_FunctionOnContactZero_Scalar_vtk(self):
601       reference="hex_2D_o2_contact_s.xml"       reference="hex_2D_o2_contact_s.xml"
602       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
603       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
604       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_FunctionOnContactZero_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnContactZero_Scalar.xml",data=x[0])
605       self.check_vtk("hex_contact_2D_order2_FunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_FunctionOnContactZero_Scalar.xml",reference)
606    def test_hex_contact_2D_order2_FunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_2D_order2_FunctionOnContactZero_Vector_vtk(self):
607       reference="hex_2D_o2_contact_v.xml"       reference="hex_2D_o2_contact_v.xml"
608       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
609       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
610       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_FunctionOnContactZero_Vector.xml"),data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.])
611       self.check_vtk("hex_contact_2D_order2_FunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_FunctionOnContactZero_Vector.xml",reference)
612    def test_hex_contact_2D_order2_FunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_2D_order2_FunctionOnContactZero_Tensor_vtk(self):
613       reference="hex_2D_o2_contact_t.xml"       reference="hex_2D_o2_contact_t.xml"
614       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
615       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
616       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_FunctionOnContactZero_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
617       self.check_vtk("hex_contact_2D_order2_FunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_FunctionOnContactZero_Tensor.xml",reference)
618    def test_hex_contact_2D_order2_ReducedFunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_2D_order2_ReducedFunctionOnContactZero_Scalar_vtk(self):
619       reference="hex_2D_o2_contact_s.xml"       reference="hex_2D_o2_contact_s.xml"
620       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
621       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
622       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedFunctionOnContactZero_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnContactZero_Scalar.xml",data=x[0])
623       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnContactZero_Scalar.xml",reference)
624    def test_hex_contact_2D_order2_ReducedFunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_2D_order2_ReducedFunctionOnContactZero_Vector_vtk(self):
625       reference="hex_2D_o2_contact_v.xml"       reference="hex_2D_o2_contact_v.xml"
626       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
627       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
628       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedFunctionOnContactZero_Vector.xml"),data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.])
629       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnContactZero_Vector.xml",reference)
630    def test_hex_contact_2D_order2_ReducedFunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_2D_order2_ReducedFunctionOnContactZero_Tensor_vtk(self):
631       reference="hex_2D_o2_contact_t.xml"       reference="hex_2D_o2_contact_t.xml"
632       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
633       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
634       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedFunctionOnContactZero_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
635       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnContactZero_Tensor.xml",reference)
636    def test_hex_contact_2D_order2_onFace_FunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_2D_order2_onFace_FunctionOnContactZero_Scalar_vtk(self):
637       reference="hex_2D_o2_contact_s.xml"       reference="hex_2D_o2_contact_s.xml"
638       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh",optimize=False)
639       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
640       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_onFace_FunctionOnContactZero_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_FunctionOnContactZero_Scalar.xml",data=x[0])
641       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnContactZero_Scalar.xml",reference)
642    def test_hex_contact_2D_order2_onFace_FunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_2D_order2_onFace_FunctionOnContactZero_Vector_vtk(self):
643       reference="hex_2D_o2_contact_v.xml"       reference="hex_2D_o2_contact_v.xml"
644       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh",optimize=False)
645       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
646       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_onFace_FunctionOnContactZero_Vector.xml"),data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_FunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.])
647       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnContactZero_Vector.xml",reference)
648    def test_hex_contact_2D_order2_onFace_FunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_2D_order2_onFace_FunctionOnContactZero_Tensor_vtk(self):
649       reference="hex_2D_o2_contact_t.xml"       reference="hex_2D_o2_contact_t.xml"
650       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh",optimize=False)
651       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
652       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_onFace_FunctionOnContactZero_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_FunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
653       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnContactZero_Tensor.xml",reference)
654    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Scalar_vtk(self):
655       reference="hex_2D_o2_contact_s.xml"       reference="hex_2D_o2_contact_s.xml"
656       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh",optimize=False)
657       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
658       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Scalar.xml",data=x[0])
659       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Scalar.xml",reference)
660    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Vector_vtk(self):
661       reference="hex_2D_o2_contact_v.xml"       reference="hex_2D_o2_contact_v.xml"
662       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh",optimize=False)
663       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
664       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Vector.xml"),data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.])
665       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Vector.xml",reference)
666    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Tensor_vtk(self):
667       reference="hex_2D_o2_contact_t.xml"       reference="hex_2D_o2_contact_t.xml"
668       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh",optimize=False)
669       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
670       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
671       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Tensor.xml",reference)
672    def test_hex_contact_2D_order2_FunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_2D_order2_FunctionOnContactOne_Scalar_vtk(self):
673       reference="hex_2D_o2_contact_s.xml"       reference="hex_2D_o2_contact_s.xml"
674       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
675       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
676       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_FunctionOnContactOne_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnContactOne_Scalar.xml",data=x[0])
677       self.check_vtk("hex_contact_2D_order2_FunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_FunctionOnContactOne_Scalar.xml",reference)
678    def test_hex_contact_2D_order2_FunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_2D_order2_FunctionOnContactOne_Vector_vtk(self):
679       reference="hex_2D_o2_contact_v.xml"       reference="hex_2D_o2_contact_v.xml"
680       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
681       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
682       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_FunctionOnContactOne_Vector.xml"),data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.])
683       self.check_vtk("hex_contact_2D_order2_FunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_FunctionOnContactOne_Vector.xml",reference)
684    def test_hex_contact_2D_order2_FunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_2D_order2_FunctionOnContactOne_Tensor_vtk(self):
685       reference="hex_2D_o2_contact_t.xml"       reference="hex_2D_o2_contact_t.xml"
686       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
687       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
688       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_FunctionOnContactOne_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
689       self.check_vtk("hex_contact_2D_order2_FunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_FunctionOnContactOne_Tensor.xml",reference)
690    def test_hex_contact_2D_order2_ReducedFunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_2D_order2_ReducedFunctionOnContactOne_Scalar_vtk(self):
691       reference="hex_2D_o2_contact_s.xml"       reference="hex_2D_o2_contact_s.xml"
692       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
693       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
694       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedFunctionOnContactOne_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnContactOne_Scalar.xml",data=x[0])
695       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnContactOne_Scalar.xml",reference)
696    def test_hex_contact_2D_order2_ReducedFunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_2D_order2_ReducedFunctionOnContactOne_Vector_vtk(self):
697       reference="hex_2D_o2_contact_v.xml"       reference="hex_2D_o2_contact_v.xml"
698       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
699       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
700       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedFunctionOnContactOne_Vector.xml"),data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.])
701       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnContactOne_Vector.xml",reference)
702    def test_hex_contact_2D_order2_ReducedFunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_2D_order2_ReducedFunctionOnContactOne_Tensor_vtk(self):
703       reference="hex_2D_o2_contact_t.xml"       reference="hex_2D_o2_contact_t.xml"
704       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
705       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
706       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedFunctionOnContactOne_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
707       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnContactOne_Tensor.xml",reference)
708    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Scalar_vtk(self):
709       reference="hex_2D_o2_contact_s.xml"       reference="hex_2D_o2_contact_s.xml"
710       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh",optimize=False)
711       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
712       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_onFace_FunctionOnContactOne_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_FunctionOnContactOne_Scalar.xml",data=x[0])
713       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnContactOne_Scalar.xml",reference)
714    def test_hex_contact_2D_order2_onFace_FunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_2D_order2_onFace_FunctionOnContactOne_Vector_vtk(self):
715       reference="hex_2D_o2_contact_v.xml"       reference="hex_2D_o2_contact_v.xml"
716       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh",optimize=False)
717       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
718       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_onFace_FunctionOnContactOne_Vector.xml"),data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_FunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.])
719       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnContactOne_Vector.xml",reference)
720    def test_hex_contact_2D_order2_onFace_FunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_2D_order2_onFace_FunctionOnContactOne_Tensor_vtk(self):
721       reference="hex_2D_o2_contact_t.xml"       reference="hex_2D_o2_contact_t.xml"
722       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh",optimize=False)
723       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
724       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_onFace_FunctionOnContactOne_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_FunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
725       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnContactOne_Tensor.xml",reference)
726    
727    def test_hex_contact_2D_order2_onFace_ReducedReducedFunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_2D_order2_onFace_ReducedReducedFunctionOnContactOne_Scalar_vtk(self):
728       reference="hex_2D_o2_contact_s.xml"       reference="hex_2D_o2_contact_s.xml"
729       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh",optimize=False)
730       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
731       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Scalar.xml",data=x[0])
732       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Scalar.xml",reference)
733    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Vector_vtk(self):
734       reference="hex_2D_o2_contact_v.xml"       reference="hex_2D_o2_contact_v.xml"
735       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh",optimize=False)
736       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
737       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Vector.xml"),data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.])
738       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Vector.xml",reference)
739    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Tensor_vtk(self):
740       reference="hex_2D_o2_contact_t.xml"       reference="hex_2D_o2_contact_t.xml"
741       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh",optimize=False)
742       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
743       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
744       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Tensor.xml",reference)
745    
746    
747    # ======================================================================================================================    # ======================================================================================================================
748    def test_hex_contact_3D_order1_ContinuousFunction_Scalar_vtk(self):    def test_hex_contact_3D_order1_ContinuousFunction_Scalar_vtk(self):
749       reference="hex_3D_o1_node_s.xml"       reference="hex_3D_o1_node_s.xml"
750       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
751       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
752       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ContinuousFunction_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ContinuousFunction_Scalar.xml",data=x[0])
753       self.check_vtk("hex_contact_3D_order1_ContinuousFunction_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_ContinuousFunction_Scalar.xml",reference)
754    def test_hex_contact_3D_order1_ContinuousFunction_Vector_vtk(self):    def test_hex_contact_3D_order1_ContinuousFunction_Vector_vtk(self):
755       reference="hex_3D_o1_node_v.xml"       reference="hex_3D_o1_node_v.xml"
756       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
757       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
758       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ContinuousFunction_Vector.xml"),data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ContinuousFunction_Vector.xml",data=x[0]*[1.,2.,3.])
759       self.check_vtk("hex_contact_3D_order1_ContinuousFunction_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_ContinuousFunction_Vector.xml",reference)
760    def test_hex_contact_3D_order1_ContinuousFunction_Tensor_vtk(self):    def test_hex_contact_3D_order1_ContinuousFunction_Tensor_vtk(self):
761       reference="hex_3D_o1_node_t.xml"       reference="hex_3D_o1_node_t.xml"
762       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
763       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
764       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ContinuousFunction_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ContinuousFunction_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
765       self.check_vtk("hex_contact_3D_order1_ContinuousFunction_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_ContinuousFunction_Tensor.xml",reference)
766    def test_hex_contact_3D_order1_Solution_Scalar_vtk(self):    def test_hex_contact_3D_order1_Solution_Scalar_vtk(self):
767       reference="hex_3D_o1_node_s.xml"       reference="hex_3D_o1_node_s.xml"
768       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
769       x=Solution(dom).getX()       x=Solution(dom).getX()
770       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_Solution_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Solution_Scalar.xml",data=x[0])
771       self.check_vtk("hex_contact_3D_order1_Solution_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_Solution_Scalar.xml",reference)
772    def test_hex_contact_3D_order1_Solution_Vector_vtk(self):    def test_hex_contact_3D_order1_Solution_Vector_vtk(self):
773       reference="hex_3D_o1_node_v.xml"       reference="hex_3D_o1_node_v.xml"
774       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
775       x=Solution(dom).getX()       x=Solution(dom).getX()
776       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_Solution_Vector.xml"),data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Solution_Vector.xml",data=x[0]*[1.,2.,3.])
777       self.check_vtk("hex_contact_3D_order1_Solution_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_Solution_Vector.xml",reference)
778    def test_hex_contact_3D_order1_Solution_Tensor_vtk(self):    def test_hex_contact_3D_order1_Solution_Tensor_vtk(self):
779       reference="hex_3D_o1_node_t.xml"       reference="hex_3D_o1_node_t.xml"
780       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
781       x=Solution(dom).getX()       x=Solution(dom).getX()
782       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_Solution_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Solution_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
783       self.check_vtk("hex_contact_3D_order1_Solution_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_Solution_Tensor.xml",reference)
784    def test_hex_contact_3D_order1_ReducedSolution_Scalar_vtk(self):    def test_hex_contact_3D_order1_ReducedSolution_Scalar_vtk(self):
785       reference="hex_3D_o1_node_s.xml"       reference="hex_3D_o1_node_s.xml"
786       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
787       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
788       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedSolution_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedSolution_Scalar.xml",data=x[0])
789       self.check_vtk("hex_contact_3D_order1_ReducedSolution_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedSolution_Scalar.xml",reference)
790    def test_hex_contact_3D_order1_ReducedSolution_Vector_vtk(self):    def test_hex_contact_3D_order1_ReducedSolution_Vector_vtk(self):
791       reference="hex_3D_o1_node_v.xml"       reference="hex_3D_o1_node_v.xml"
792       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
793       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
794       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedSolution_Vector.xml"),data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedSolution_Vector.xml",data=x[0]*[1.,2.,3.])
795       self.check_vtk("hex_contact_3D_order1_ReducedSolution_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedSolution_Vector.xml",reference)
796    def test_hex_contact_3D_order1_ReducedSolution_Tensor_vtk(self):    def test_hex_contact_3D_order1_ReducedSolution_Tensor_vtk(self):
797       reference="hex_3D_o1_node_t.xml"       reference="hex_3D_o1_node_t.xml"
798       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
799       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
800       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedSolution_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedSolution_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
801       self.check_vtk("hex_contact_3D_order1_ReducedSolution_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedSolution_Tensor.xml",reference)
802    def test_hex_contact_3D_order1_Function_Scalar_vtk(self):    def test_hex_contact_3D_order1_Function_Scalar_vtk(self):
803       reference="hex_3D_o1_cell_s.xml"       reference="hex_3D_o1_cell_s.xml"
804       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
805       x=Function(dom).getX()       x=Function(dom).getX()
806       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_Function_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Function_Scalar.xml",data=x[0])
807       self.check_vtk("hex_contact_3D_order1_Function_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_Function_Scalar.xml",reference)
808    def test_hex_contact_3D_order1_Function_Vector_vtk(self):    def test_hex_contact_3D_order1_Function_Vector_vtk(self):
809       reference="hex_3D_o1_cell_v.xml"       reference="hex_3D_o1_cell_v.xml"
810       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
811       x=Function(dom).getX()       x=Function(dom).getX()
812       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_Function_Vector.xml"),data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Function_Vector.xml",data=x[0]*[1.,2.,3.])
813       self.check_vtk("hex_contact_3D_order1_Function_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_Function_Vector.xml",reference)
814    def test_hex_contact_3D_order1_Function_Tensor_vtk(self):    def test_hex_contact_3D_order1_Function_Tensor_vtk(self):
815       reference="hex_3D_o1_cell_t.xml"       reference="hex_3D_o1_cell_t.xml"
816       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
817       x=Function(dom).getX()       x=Function(dom).getX()
818       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_Function_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Function_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
819       self.check_vtk("hex_contact_3D_order1_Function_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_Function_Tensor.xml",reference)
820    def test_hex_contact_3D_order1_ReducedFunction_Scalar_vtk(self):    def test_hex_contact_3D_order1_ReducedFunction_Scalar_vtk(self):
821       reference="hex_3D_o1_cell_s.xml"       reference="hex_3D_o1_cell_s.xml"
822       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
823       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
824       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedFunction_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunction_Scalar.xml",data=x[0])
825       self.check_vtk("hex_contact_3D_order1_ReducedFunction_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedFunction_Scalar.xml",reference)
826    def test_hex_contact_3D_order1_ReducedFunction_Vector_vtk(self):    def test_hex_contact_3D_order1_ReducedFunction_Vector_vtk(self):
827       reference="hex_3D_o1_cell_v.xml"       reference="hex_3D_o1_cell_v.xml"
828       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
829       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
830       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedFunction_Vector.xml"),data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunction_Vector.xml",data=x[0]*[1.,2.,3.])
831       self.check_vtk("hex_contact_3D_order1_ReducedFunction_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedFunction_Vector.xml",reference)
832    def test_hex_contact_3D_order1_ReducedFunction_Tensor_vtk(self):    def test_hex_contact_3D_order1_ReducedFunction_Tensor_vtk(self):
833       reference="hex_3D_o1_cell_t.xml"       reference="hex_3D_o1_cell_t.xml"
834       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
835       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
836       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedFunction_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunction_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
837       self.check_vtk("hex_contact_3D_order1_ReducedFunction_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedFunction_Tensor.xml",reference)
838    def test_hex_contact_3D_order1_FunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_3D_order1_FunctionOnBoundary_Scalar_vtk(self):
839       reference="hex_3D_o1_boundary_s.xml"       reference="hex_3D_o1_boundary_s.xml"
840       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
841       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
842       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_FunctionOnBoundary_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnBoundary_Scalar.xml",data=x[0])
843       self.check_vtk("hex_contact_3D_order1_FunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_FunctionOnBoundary_Scalar.xml",reference)
844    def test_hex_contact_3D_order1_FunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_3D_order1_FunctionOnBoundary_Vector_vtk(self):
845       reference="hex_3D_o1_boundary_v.xml"       reference="hex_3D_o1_boundary_v.xml"
846       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
847       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
848       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_FunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.,3.])
849       self.check_vtk("hex_contact_3D_order1_FunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_FunctionOnBoundary_Vector.xml",reference)
850    def test_hex_contact_3D_order1_FunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_3D_order1_FunctionOnBoundary_Tensor_vtk(self):
851       reference="hex_3D_o1_boundary_t.xml"       reference="hex_3D_o1_boundary_t.xml"
852       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
853       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
854       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_FunctionOnBoundary_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
855       self.check_vtk("hex_contact_3D_order1_FunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_FunctionOnBoundary_Tensor.xml",reference)
856    def test_hex_contact_3D_order1_ReducedFunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_3D_order1_ReducedFunctionOnBoundary_Scalar_vtk(self):
857       reference="hex_3D_o1_boundary_s.xml"       reference="hex_3D_o1_boundary_s.xml"
858       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
859       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
860       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedFunctionOnBoundary_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnBoundary_Scalar.xml",data=x[0])
861       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnBoundary_Scalar.xml",reference)
862    def test_hex_contact_3D_order1_ReducedFunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_3D_order1_ReducedFunctionOnBoundary_Vector_vtk(self):
863       reference="hex_3D_o1_boundary_v.xml"       reference="hex_3D_o1_boundary_v.xml"
864       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
865       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
866       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedFunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.,3.])
867       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnBoundary_Vector.xml",reference)
868    def test_hex_contact_3D_order1_ReducedFunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_3D_order1_ReducedFunctionOnBoundary_Tensor_vtk(self):
869       reference="hex_3D_o1_boundary_t.xml"       reference="hex_3D_o1_boundary_t.xml"
870       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
871       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
872       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedFunctionOnBoundary_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
873       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnBoundary_Tensor.xml",reference)
874    def test_hex_contact_3D_order1_onFace_FunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_3D_order1_onFace_FunctionOnBoundary_Scalar_vtk(self):
875       reference="hex_3D_o1_f_boundary_s.xml"       reference="hex_3D_o1_f_boundary_s.xml"
876       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh",optimize=False)
877       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
878       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_onFace_FunctionOnBoundary_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_FunctionOnBoundary_Scalar.xml",data=x[0])
879       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnBoundary_Scalar.xml",reference)
880    def test_hex_contact_3D_order1_onFace_FunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_3D_order1_onFace_FunctionOnBoundary_Vector_vtk(self):
881       reference="hex_3D_o1_f_boundary_v.xml"       reference="hex_3D_o1_f_boundary_v.xml"
882       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh",optimize=False)
883       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
884       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_onFace_FunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_FunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.,3.])
885       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnBoundary_Vector.xml",reference)
886    def test_hex_contact_3D_order1_onFace_FunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_3D_order1_onFace_FunctionOnBoundary_Tensor_vtk(self):
887       reference="hex_3D_o1_f_boundary_t.xml"       reference="hex_3D_o1_f_boundary_t.xml"
888       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh",optimize=False)
889       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
890       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_onFace_FunctionOnBoundary_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_FunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
891       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnBoundary_Tensor.xml",reference)
892    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Scalar_vtk(self):
893       reference="hex_3D_o1_f_boundary_s.xml"       reference="hex_3D_o1_f_boundary_s.xml"
894       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh",optimize=False)
895       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
896       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Scalar.xml",data=x[0])
897       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Scalar.xml",reference)
898    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Vector_vtk(self):
899       reference="hex_3D_o1_f_boundary_v.xml"       reference="hex_3D_o1_f_boundary_v.xml"
900       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh",optimize=False)
901       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
902       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.,3.])
903       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Vector.xml",reference)
904    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Tensor_vtk(self):
905       reference="hex_3D_o1_f_boundary_t.xml"       reference="hex_3D_o1_f_boundary_t.xml"
906       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh",optimize=False)
907       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
908       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
909       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Tensor.xml",reference)
910    def test_hex_contact_3D_order1_FunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_3D_order1_FunctionOnContactZero_Scalar_vtk(self):
911       reference="hex_3D_o1_contact_s.xml"       reference="hex_3D_o1_contact_s.xml"
912       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
913       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
914       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_FunctionOnContactZero_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnContactZero_Scalar.xml",data=x[0])
915       self.check_vtk("hex_contact_3D_order1_FunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_FunctionOnContactZero_Scalar.xml",reference)
916    def test_hex_contact_3D_order1_FunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_3D_order1_FunctionOnContactZero_Vector_vtk(self):
917       reference="hex_3D_o1_contact_v.xml"       reference="hex_3D_o1_contact_v.xml"
918       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
919       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
920       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_FunctionOnContactZero_Vector.xml"),data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.,3.])
921       self.check_vtk("hex_contact_3D_order1_FunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_FunctionOnContactZero_Vector.xml",reference)
922    def test_hex_contact_3D_order1_FunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_3D_order1_FunctionOnContactZero_Tensor_vtk(self):
923       reference="hex_3D_o1_contact_t.xml"       reference="hex_3D_o1_contact_t.xml"
924       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
925       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
926       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_FunctionOnContactZero_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
927       self.check_vtk("hex_contact_3D_order1_FunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_FunctionOnContactZero_Tensor.xml",reference)
928    def test_hex_contact_3D_order1_ReducedFunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_3D_order1_ReducedFunctionOnContactZero_Scalar_vtk(self):
929       reference="hex_3D_o1_contact_s.xml"       reference="hex_3D_o1_contact_s.xml"
930       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
931       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
932       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedFunctionOnContactZero_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnContactZero_Scalar.xml",data=x[0])
933       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnContactZero_Scalar.xml",reference)
934    def test_hex_contact_3D_order1_ReducedFunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_3D_order1_ReducedFunctionOnContactZero_Vector_vtk(self):
935       reference="hex_3D_o1_contact_v.xml"       reference="hex_3D_o1_contact_v.xml"
936       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
937       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
938       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedFunctionOnContactZero_Vector.xml"),data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.,3.])
939       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnContactZero_Vector.xml",reference)
940    def test_hex_contact_3D_order1_ReducedFunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_3D_order1_ReducedFunctionOnContactZero_Tensor_vtk(self):
941       reference="hex_3D_o1_contact_t.xml"       reference="hex_3D_o1_contact_t.xml"
942       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
943       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
944       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedFunctionOnContactZero_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
945       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnContactZero_Tensor.xml",reference)
946    def test_hex_contact_3D_order1_onFace_FunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_3D_order1_onFace_FunctionOnContactZero_Scalar_vtk(self):
947       reference="hex_3D_o1_contact_s.xml"       reference="hex_3D_o1_contact_s.xml"
948       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh",optimize=False)
949       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
950       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_onFace_FunctionOnContactZero_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_FunctionOnContactZero_Scalar.xml",data=x[0])
951       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnContactZero_Scalar.xml",reference)
952    def test_hex_contact_3D_order1_onFace_FunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_3D_order1_onFace_FunctionOnContactZero_Vector_vtk(self):
953       reference="hex_3D_o1_contact_v.xml"       reference="hex_3D_o1_contact_v.xml"
954       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh",optimize=False)
955       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
956       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_onFace_FunctionOnContactZero_Vector.xml"),data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_FunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.,3.])
957       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnContactZero_Vector.xml",reference)
958    def test_hex_contact_3D_order1_onFace_FunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_3D_order1_onFace_FunctionOnContactZero_Tensor_vtk(self):
959       reference="hex_3D_o1_contact_t.xml"       reference="hex_3D_o1_contact_t.xml"
960       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh",optimize=False)
961       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
962       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_onFace_FunctionOnContactZero_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_FunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
963       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnContactZero_Tensor.xml",reference)
964    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Scalar_vtk(self):
965       reference="hex_3D_o1_contact_s.xml"       reference="hex_3D_o1_contact_s.xml"
966       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh",optimize=False)
967       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
968       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Scalar.xml",data=x[0])
969       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Scalar.xml",reference)
970    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Vector_vtk(self):
971       reference="hex_3D_o1_contact_v.xml"       reference="hex_3D_o1_contact_v.xml"
972       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh",optimize=False)
973       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
974       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Vector.xml"),data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.,3.])
975       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Vector.xml",reference)
976    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Tensor_vtk(self):
977       reference="hex_3D_o1_contact_t.xml"       reference="hex_3D_o1_contact_t.xml"
978       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh",optimize=False)
979       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
980       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
981       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Tensor.xml",reference)
982    def test_hex_contact_3D_order1_FunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_3D_order1_FunctionOnContactOne_Scalar_vtk(self):
983       reference="hex_3D_o1_contact_s.xml"       reference="hex_3D_o1_contact_s.xml"
984       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
985       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
986       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_FunctionOnContactOne_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnContactOne_Scalar.xml",data=x[0])
987       self.check_vtk("hex_contact_3D_order1_FunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_FunctionOnContactOne_Scalar.xml",reference)
988    def test_hex_contact_3D_order1_FunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_3D_order1_FunctionOnContactOne_Vector_vtk(self):
989       reference="hex_3D_o1_contact_v.xml"       reference="hex_3D_o1_contact_v.xml"
990       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
991       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
992       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_FunctionOnContactOne_Vector.xml"),data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.,3.])
993       self.check_vtk("hex_contact_3D_order1_FunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_FunctionOnContactOne_Vector.xml",reference)
994    def test_hex_contact_3D_order1_FunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_3D_order1_FunctionOnContactOne_Tensor_vtk(self):
995       reference="hex_3D_o1_contact_t.xml"       reference="hex_3D_o1_contact_t.xml"
996       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
997       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
998       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_FunctionOnContactOne_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
999       self.check_vtk("hex_contact_3D_order1_FunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_FunctionOnContactOne_Tensor.xml",reference)
1000    def test_hex_contact_3D_order1_ReducedFunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_3D_order1_ReducedFunctionOnContactOne_Scalar_vtk(self):
1001       reference="hex_3D_o1_contact_s.xml"       reference="hex_3D_o1_contact_s.xml"
1002       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
1003       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
1004       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedFunctionOnContactOne_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnContactOne_Scalar.xml",data=x[0])
1005       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnContactOne_Scalar.xml",reference)
1006    def test_hex_contact_3D_order1_ReducedFunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_3D_order1_ReducedFunctionOnContactOne_Vector_vtk(self):
1007       reference="hex_3D_o1_contact_v.xml"       reference="hex_3D_o1_contact_v.xml"
1008       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
1009       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
1010       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedFunctionOnContactOne_Vector.xml"),data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.,3.])
1011       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnContactOne_Vector.xml",reference)
1012    def test_hex_contact_3D_order1_ReducedFunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_3D_order1_ReducedFunctionOnContactOne_Tensor_vtk(self):
1013       reference="hex_3D_o1_contact_t.xml"       reference="hex_3D_o1_contact_t.xml"
1014       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
1015       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
1016       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedFunctionOnContactOne_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1017       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnContactOne_Tensor.xml",reference)
1018    def test_hex_contact_3D_order1_onFace_FunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_3D_order1_onFace_FunctionOnContactOne_Scalar_vtk(self):
1019       reference="hex_3D_o1_contact_s.xml"       reference="hex_3D_o1_contact_s.xml"
1020       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh",optimize=False)
1021       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
1022       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_onFace_FunctionOnContactOne_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_FunctionOnContactOne_Scalar.xml",data=x[0])
1023       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnContactOne_Scalar.xml",reference)
1024    def test_hex_contact_3D_order1_onFace_FunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_3D_order1_onFace_FunctionOnContactOne_Vector_vtk(self):
1025       reference="hex_3D_o1_contact_v.xml"       reference="hex_3D_o1_contact_v.xml"
1026       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh",optimize=False)
1027       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
1028       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_onFace_FunctionOnContactOne_Vector.xml"),data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_FunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.,3.])
1029       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnContactOne_Vector.xml",reference)
1030    def test_hex_contact_3D_order1_onFace_FunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_3D_order1_onFace_FunctionOnContactOne_Tensor_vtk(self):
1031       reference="hex_3D_o1_contact_t.xml"       reference="hex_3D_o1_contact_t.xml"
1032       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh",optimize=False)
1033       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
1034       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_onFace_FunctionOnContactOne_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_FunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1035       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnContactOne_Tensor.xml",reference)
1036    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Scalar_vtk(self):
1037       reference="hex_3D_o1_contact_s.xml"       reference="hex_3D_o1_contact_s.xml"
1038       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh",optimize=False)
1039       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
1040       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Scalar.xml",data=x[0])
1041       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Scalar.xml",reference)
1042    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Vector_vtk(self):
1043       reference="hex_3D_o1_contact_v.xml"       reference="hex_3D_o1_contact_v.xml"
1044       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh",optimize=False)
1045       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
1046       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Vector.xml"),data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.,3.])
1047       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Vector.xml",reference)
1048    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Tensor_vtk(self):
1049       reference="hex_3D_o1_contact_t.xml"       reference="hex_3D_o1_contact_t.xml"
1050       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh",optimize=False)
1051       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
1052       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1053       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Tensor.xml",reference)
1054    # ======================================================================================================================    # ======================================================================================================================
1055    def test_hex_contact_3D_order2_ContinuousFunction_Scalar_vtk(self):    def test_hex_contact_3D_order2_ContinuousFunction_Scalar_vtk(self):
1056       reference="hex_3D_o2_node_s.xml"       reference="hex_3D_o2_node_s.xml"
1057       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1058       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
1059       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ContinuousFunction_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ContinuousFunction_Scalar.xml",data=x[0])
1060       self.check_vtk("hex_contact_3D_order2_ContinuousFunction_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_ContinuousFunction_Scalar.xml",reference)
1061    def test_hex_contact_3D_order2_ContinuousFunction_Vector_vtk(self):    def test_hex_contact_3D_order2_ContinuousFunction_Vector_vtk(self):
1062       reference="hex_3D_o2_node_v.xml"       reference="hex_3D_o2_node_v.xml"
1063       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1064       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
1065       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ContinuousFunction_Vector.xml"),data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ContinuousFunction_Vector.xml",data=x[0]*[1.,2.,3.])
1066       self.check_vtk("hex_contact_3D_order2_ContinuousFunction_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_ContinuousFunction_Vector.xml",reference)
1067    def test_hex_contact_3D_order2_ContinuousFunction_Tensor_vtk(self):    def test_hex_contact_3D_order2_ContinuousFunction_Tensor_vtk(self):
1068       reference="hex_3D_o2_node_t.xml"       reference="hex_3D_o2_node_t.xml"
1069       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1070       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
1071       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ContinuousFunction_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ContinuousFunction_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1072       self.check_vtk("hex_contact_3D_order2_ContinuousFunction_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_ContinuousFunction_Tensor.xml",reference)
1073    def test_hex_contact_3D_order2_Solution_Scalar_vtk(self):    def test_hex_contact_3D_order2_Solution_Scalar_vtk(self):
1074       reference="hex_3D_o2_node_s.xml"       reference="hex_3D_o2_node_s.xml"
1075       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1076       x=Solution(dom).getX()       x=Solution(dom).getX()
1077       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_Solution_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Solution_Scalar.xml",data=x[0])
1078       self.check_vtk("hex_contact_3D_order2_Solution_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_Solution_Scalar.xml",reference)
1079    def test_hex_contact_3D_order2_Solution_Vector_vtk(self):    def test_hex_contact_3D_order2_Solution_Vector_vtk(self):
1080       reference="hex_3D_o2_node_v.xml"       reference="hex_3D_o2_node_v.xml"
1081       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1082       x=Solution(dom).getX()       x=Solution(dom).getX()
1083       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_Solution_Vector.xml"),data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Solution_Vector.xml",data=x[0]*[1.,2.,3.])
1084       self.check_vtk("hex_contact_3D_order2_Solution_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_Solution_Vector.xml",reference)
1085    def test_hex_contact_3D_order2_Solution_Tensor_vtk(self):    def test_hex_contact_3D_order2_Solution_Tensor_vtk(self):
1086       reference="hex_3D_o2_node_t.xml"       reference="hex_3D_o2_node_t.xml"
1087       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1088       x=Solution(dom).getX()       x=Solution(dom).getX()
1089       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_Solution_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Solution_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1090       self.check_vtk("hex_contact_3D_order2_Solution_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_Solution_Tensor.xml",reference)
1091    def test_hex_contact_3D_order2_ReducedSolution_Scalar_vtk(self):    def test_hex_contact_3D_order2_ReducedSolution_Scalar_vtk(self):
1092       reference="hex_3D_o1_node_s.xml"       reference="hex_3D_o1_node_s.xml"
1093       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1094       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
1095       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedSolution_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedSolution_Scalar.xml",data=x[0])
1096       self.check_vtk("hex_contact_3D_order2_ReducedSolution_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedSolution_Scalar.xml",reference)
1097    def test_hex_contact_3D_order2_ReducedSolution_Vector_vtk(self):    def test_hex_contact_3D_order2_ReducedSolution_Vector_vtk(self):
1098       reference="hex_3D_o1_node_v.xml"       reference="hex_3D_o1_node_v.xml"
1099       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1100       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
1101       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedSolution_Vector.xml"),data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedSolution_Vector.xml",data=x[0]*[1.,2.,3.])
1102       self.check_vtk("hex_contact_3D_order2_ReducedSolution_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedSolution_Vector.xml",reference)
1103    def test_hex_contact_3D_order2_ReducedSolution_Tensor_vtk(self):    def test_hex_contact_3D_order2_ReducedSolution_Tensor_vtk(self):
1104       reference="hex_3D_o1_node_t.xml"       reference="hex_3D_o1_node_t.xml"
1105       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1106       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
1107       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedSolution_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedSolution_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1108       self.check_vtk("hex_contact_3D_order2_ReducedSolution_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedSolution_Tensor.xml",reference)
1109    def test_hex_contact_3D_order2_Function_Scalar_vtk(self):    def test_hex_contact_3D_order2_Function_Scalar_vtk(self):
1110       reference="hex_3D_o2_cell_s.xml"       reference="hex_3D_o2_cell_s.xml"
1111       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1112       x=Function(dom).getX()       x=Function(dom).getX()
1113       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_Function_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Function_Scalar.xml",data=x[0])
1114       self.check_vtk("hex_contact_3D_order2_Function_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_Function_Scalar.xml",reference)
1115    def test_hex_contact_3D_order2_Function_Vector_vtk(self):    def test_hex_contact_3D_order2_Function_Vector_vtk(self):
1116       reference="hex_3D_o2_cell_v.xml"       reference="hex_3D_o2_cell_v.xml"
1117       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1118       x=Function(dom).getX()       x=Function(dom).getX()
1119       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_Function_Vector.xml"),data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Function_Vector.xml",data=x[0]*[1.,2.,3.])
1120       self.check_vtk("hex_contact_3D_order2_Function_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_Function_Vector.xml",reference)
1121    def test_hex_contact_3D_order2_Function_Tensor_vtk(self):    def test_hex_contact_3D_order2_Function_Tensor_vtk(self):
1122       reference="hex_3D_o2_cell_t.xml"       reference="hex_3D_o2_cell_t.xml"
1123       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1124       x=Function(dom).getX()       x=Function(dom).getX()
1125       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_Function_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Function_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1126       self.check_vtk("hex_contact_3D_order2_Function_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_Function_Tensor.xml",reference)
1127    def test_hex_contact_3D_order2_ReducedFunction_Scalar_vtk(self):    def test_hex_contact_3D_order2_ReducedFunction_Scalar_vtk(self):
1128       reference="hex_3D_o2_cell_s.xml"       reference="hex_3D_o2_cell_s.xml"
1129       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1130       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
1131       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedFunction_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunction_Scalar.xml",data=x[0])
1132       self.check_vtk("hex_contact_3D_order2_ReducedFunction_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedFunction_Scalar.xml",reference)
1133    def test_hex_contact_3D_order2_ReducedFunction_Vector_vtk(self):    def test_hex_contact_3D_order2_ReducedFunction_Vector_vtk(self):
1134       reference="hex_3D_o2_cell_v.xml"       reference="hex_3D_o2_cell_v.xml"
1135       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1136       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
1137       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedFunction_Vector.xml"),data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunction_Vector.xml",data=x[0]*[1.,2.,3.])
1138       self.check_vtk("hex_contact_3D_order2_ReducedFunction_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedFunction_Vector.xml",reference)
1139    def test_hex_contact_3D_order2_ReducedFunction_Tensor_vtk(self):    def test_hex_contact_3D_order2_ReducedFunction_Tensor_vtk(self):
1140       reference="hex_3D_o2_cell_t.xml"       reference="hex_3D_o2_cell_t.xml"
1141       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1142       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
1143       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedFunction_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunction_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1144       self.check_vtk("hex_contact_3D_order2_ReducedFunction_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedFunction_Tensor.xml",reference)
1145    def test_hex_contact_3D_order2_FunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_3D_order2_FunctionOnBoundary_Scalar_vtk(self):
1146       reference="hex_3D_o2_boundary_s.xml"       reference="hex_3D_o2_boundary_s.xml"
1147       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1148       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
1149       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_FunctionOnBoundary_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnBoundary_Scalar.xml",data=x[0])
1150       self.check_vtk("hex_contact_3D_order2_FunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_FunctionOnBoundary_Scalar.xml",reference)
1151    def test_hex_contact_3D_order2_FunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_3D_order2_FunctionOnBoundary_Vector_vtk(self):
1152       reference="hex_3D_o2_boundary_v.xml"       reference="hex_3D_o2_boundary_v.xml"
1153       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1154       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
1155       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_FunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.,3.])
1156       self.check_vtk("hex_contact_3D_order2_FunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_FunctionOnBoundary_Vector.xml",reference)
1157    def test_hex_contact_3D_order2_FunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_3D_order2_FunctionOnBoundary_Tensor_vtk(self):
1158       reference="hex_3D_o2_boundary_t.xml"       reference="hex_3D_o2_boundary_t.xml"
1159       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1160       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
1161       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_FunctionOnBoundary_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1162       self.check_vtk("hex_contact_3D_order2_FunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_FunctionOnBoundary_Tensor.xml",reference)
1163    def test_hex_contact_3D_order2_ReducedFunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_3D_order2_ReducedFunctionOnBoundary_Scalar_vtk(self):
1164       reference="hex_3D_o2_boundary_s.xml"       reference="hex_3D_o2_boundary_s.xml"
1165       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1166       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
1167       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedFunctionOnBoundary_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnBoundary_Scalar.xml",data=x[0])
1168       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnBoundary_Scalar.xml",reference)
1169    def test_hex_contact_3D_order2_ReducedFunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_3D_order2_ReducedFunctionOnBoundary_Vector_vtk(self):
1170       reference="hex_3D_o2_boundary_v.xml"       reference="hex_3D_o2_boundary_v.xml"
1171       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1172       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
1173       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedFunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.,3.])
1174       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnBoundary_Vector.xml",reference)
1175    def test_hex_contact_3D_order2_ReducedFunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_3D_order2_ReducedFunctionOnBoundary_Tensor_vtk(self):
1176       reference="hex_3D_o2_boundary_t.xml"       reference="hex_3D_o2_boundary_t.xml"
1177       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1178       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
1179       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedFunctionOnBoundary_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1180       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnBoundary_Tensor.xml",reference)
1181    def test_hex_contact_3D_order2_onFace_FunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_3D_order2_onFace_FunctionOnBoundary_Scalar_vtk(self):
1182       reference="hex_3D_o2_f_boundary_s.xml"       reference="hex_3D_o2_f_boundary_s.xml"
1183       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh",optimize=False)
1184       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
1185       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_onFace_FunctionOnBoundary_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_FunctionOnBoundary_Scalar.xml",data=x[0])
1186       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnBoundary_Scalar.xml",reference)
1187    def test_hex_contact_3D_order2_onFace_FunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_3D_order2_onFace_FunctionOnBoundary_Vector_vtk(self):
1188       reference="hex_3D_o2_f_boundary_v.xml"       reference="hex_3D_o2_f_boundary_v.xml"
1189       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh",optimize=False)
1190       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
1191       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_onFace_FunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_FunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.,3.])
1192       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnBoundary_Vector.xml",reference)
1193    def test_hex_contact_3D_order2_onFace_FunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_3D_order2_onFace_FunctionOnBoundary_Tensor_vtk(self):
1194       reference="hex_3D_o2_f_boundary_t.xml"       reference="hex_3D_o2_f_boundary_t.xml"
1195       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh",optimize=False)
1196       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
1197       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_onFace_FunctionOnBoundary_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_FunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1198       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnBoundary_Tensor.xml",reference)
1199    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Scalar_vtk(self):
1200       reference="hex_3D_o2_f_boundary_s.xml"       reference="hex_3D_o2_f_boundary_s.xml"
1201       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh",optimize=False)
1202       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
1203       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Scalar.xml",data=x[0])
1204       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Scalar.xml",reference)
1205    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Vector_vtk(self):
1206       reference="hex_3D_o2_f_boundary_v.xml"       reference="hex_3D_o2_f_boundary_v.xml"
1207       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh",optimize=False)
1208       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
1209       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.,3.])
1210       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Vector.xml",reference)
1211    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Tensor_vtk(self):
1212       reference="hex_3D_o2_f_boundary_t.xml"       reference="hex_3D_o2_f_boundary_t.xml"
1213       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh",optimize=False)
1214       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
1215       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1216       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Tensor.xml",reference)
1217    def test_hex_contact_3D_order2_FunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_3D_order2_FunctionOnContactZero_Scalar_vtk(self):
1218       reference="hex_3D_o2_contact_s.xml"       reference="hex_3D_o2_contact_s.xml"
1219       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1220       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
1221       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_FunctionOnContactZero_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnContactZero_Scalar.xml",data=x[0])
1222       self.check_vtk("hex_contact_3D_order2_FunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_FunctionOnContactZero_Scalar.xml",reference)
1223    def test_hex_contact_3D_order2_FunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_3D_order2_FunctionOnContactZero_Vector_vtk(self):
1224       reference="hex_3D_o2_contact_v.xml"       reference="hex_3D_o2_contact_v.xml"
1225       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1226       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
1227       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_FunctionOnContactZero_Vector.xml"),data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.,3.])
1228       self.check_vtk("hex_contact_3D_order2_FunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_FunctionOnContactZero_Vector.xml",reference)
1229    def test_hex_contact_3D_order2_FunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_3D_order2_FunctionOnContactZero_Tensor_vtk(self):
1230       reference="hex_3D_o2_contact_t.xml"       reference="hex_3D_o2_contact_t.xml"
1231       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1232       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
1233       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_FunctionOnContactZero_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1234       self.check_vtk("hex_contact_3D_order2_FunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_FunctionOnContactZero_Tensor.xml",reference)
1235    def test_hex_contact_3D_order2_ReducedFunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_3D_order2_ReducedFunctionOnContactZero_Scalar_vtk(self):
1236       reference="hex_3D_o2_contact_s.xml"       reference="hex_3D_o2_contact_s.xml"
1237       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1238       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
1239       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedFunctionOnContactZero_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnContactZero_Scalar.xml",data=x[0])
1240       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnContactZero_Scalar.xml",reference)
1241    def test_hex_contact_3D_order2_ReducedFunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_3D_order2_ReducedFunctionOnContactZero_Vector_vtk(self):
1242       reference="hex_3D_o2_contact_v.xml"       reference="hex_3D_o2_contact_v.xml"
1243       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1244       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
1245       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedFunctionOnContactZero_Vector.xml"),data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.,3.])
1246       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnContactZero_Vector.xml",reference)
1247    def test_hex_contact_3D_order2_ReducedFunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_3D_order2_ReducedFunctionOnContactZero_Tensor_vtk(self):
1248       reference="hex_3D_o2_contact_t.xml"       reference="hex_3D_o2_contact_t.xml"
1249       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1250       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
1251       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedFunctionOnContactZero_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1252       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnContactZero_Tensor.xml",reference)
1253    def test_hex_contact_3D_order2_onFace_FunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_3D_order2_onFace_FunctionOnContactZero_Scalar_vtk(self):
1254       reference="hex_3D_o2_contact_s.xml"       reference="hex_3D_o2_contact_s.xml"
1255       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh",optimize=False)
1256       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
1257       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_onFace_FunctionOnContactZero_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_FunctionOnContactZero_Scalar.xml",data=x[0])
1258       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnContactZero_Scalar.xml",reference)
1259    def test_hex_contact_3D_order2_onFace_FunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_3D_order2_onFace_FunctionOnContactZero_Vector_vtk(self):
1260       reference="hex_3D_o2_contact_v.xml"       reference="hex_3D_o2_contact_v.xml"
1261       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh",optimize=False)
1262       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
1263       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_onFace_FunctionOnContactZero_Vector.xml"),data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_FunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.,3.])
1264       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnContactZero_Vector.xml",reference)
1265    def test_hex_contact_3D_order2_onFace_FunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_3D_order2_onFace_FunctionOnContactZero_Tensor_vtk(self):
1266       reference="hex_3D_o2_contact_t.xml"       reference="hex_3D_o2_contact_t.xml"
1267       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh",optimize=False)
1268       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
1269       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_onFace_FunctionOnContactZero_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_FunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1270       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnContactZero_Tensor.xml",reference)
1271    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Scalar_vtk(self):
1272       reference="hex_3D_o2_contact_s.xml"       reference="hex_3D_o2_contact_s.xml"
1273       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh",optimize=False)
1274       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
1275       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Scalar.xml",data=x[0])
1276       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Scalar.xml",reference)
1277    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Vector_vtk(self):
1278       reference="hex_3D_o2_contact_v.xml"       reference="hex_3D_o2_contact_v.xml"
1279       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh",optimize=False)
1280       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
1281       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Vector.xml"),data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.,3.])
1282       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Vector.xml",reference)
1283    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Tensor_vtk(self):
1284       reference="hex_3D_o2_contact_t.xml"       reference="hex_3D_o2_contact_t.xml"
1285       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh",optimize=False)
1286       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
1287       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1288       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Tensor.xml",reference)
1289    def test_hex_contact_3D_order2_FunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_3D_order2_FunctionOnContactOne_Scalar_vtk(self):
1290       reference="hex_3D_o2_contact_s.xml"       reference="hex_3D_o2_contact_s.xml"
1291       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1292       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
1293       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_FunctionOnContactOne_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnContactOne_Scalar.xml",data=x[0])
1294       self.check_vtk("hex_contact_3D_order2_FunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_FunctionOnContactOne_Scalar.xml",reference)
1295    def test_hex_contact_3D_order2_FunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_3D_order2_FunctionOnContactOne_Vector_vtk(self):
1296       reference="hex_3D_o2_contact_v.xml"       reference="hex_3D_o2_contact_v.xml"
1297       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1298       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
1299       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_FunctionOnContactOne_Vector.xml"),data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.,3.])
1300       self.check_vtk("hex_contact_3D_order2_FunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_FunctionOnContactOne_Vector.xml",reference)
1301    def test_hex_contact_3D_order2_FunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_3D_order2_FunctionOnContactOne_Tensor_vtk(self):
1302       reference="hex_3D_o2_contact_t.xml"       reference="hex_3D_o2_contact_t.xml"
1303       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1304       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
1305       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_FunctionOnContactOne_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1306       self.check_vtk("hex_contact_3D_order2_FunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_FunctionOnContactOne_Tensor.xml",reference)
1307    def test_hex_contact_3D_order2_ReducedFunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_3D_order2_ReducedFunctionOnContactOne_Scalar_vtk(self):
1308       reference="hex_3D_o2_contact_s.xml"       reference="hex_3D_o2_contact_s.xml"
1309       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1310       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
1311       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedFunctionOnContactOne_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnContactOne_Scalar.xml",data=x[0])
1312       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnContactOne_Scalar.xml",reference)
1313    def test_hex_contact_3D_order2_ReducedFunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_3D_order2_ReducedFunctionOnContactOne_Vector_vtk(self):
1314       reference="hex_3D_o2_contact_v.xml"       reference="hex_3D_o2_contact_v.xml"
1315       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1316       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
1317       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedFunctionOnContactOne_Vector.xml"),data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.,3.])
1318       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnContactOne_Vector.xml",reference)
1319    def test_hex_contact_3D_order2_ReducedFunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_3D_order2_ReducedFunctionOnContactOne_Tensor_vtk(self):
1320       reference="hex_3D_o2_contact_t.xml"       reference="hex_3D_o2_contact_t.xml"
1321       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1322       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
1323       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedFunctionOnContactOne_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1324       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnContactOne_Tensor.xml",reference)
1325    def test_hex_contact_3D_order2_onFace_FunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_3D_order2_onFace_FunctionOnContactOne_Scalar_vtk(self):
1326       reference="hex_3D_o2_contact_s.xml"       reference="hex_3D_o2_contact_s.xml"
1327       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh",optimize=False)
1328       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
1329       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_onFace_FunctionOnContactOne_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_FunctionOnContactOne_Scalar.xml",data=x[0])
1330       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnContactOne_Scalar.xml",reference)
1331    def test_hex_contact_3D_order2_onFace_FunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_3D_order2_onFace_FunctionOnContactOne_Vector_vtk(self):
1332       reference="hex_3D_o2_contact_v.xml"       reference="hex_3D_o2_contact_v.xml"
1333       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh",optimize=False)
1334       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
1335       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_onFace_FunctionOnContactOne_Vector.xml"),data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_FunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.,3.])
1336       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnContactOne_Vector.xml",reference)
1337    def test_hex_contact_3D_order2_onFace_FunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_3D_order2_onFace_FunctionOnContactOne_Tensor_vtk(self):
1338       reference="hex_3D_o2_contact_t.xml"       reference="hex_3D_o2_contact_t.xml"
1339       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh",optimize=False)
1340       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
1341       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_onFace_FunctionOnContactOne_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_FunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1342       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnContactOne_Tensor.xml",reference)
1343    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Scalar_vtk(self):
1344       reference="hex_3D_o2_contact_s.xml"       reference="hex_3D_o2_contact_s.xml"
1345       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh",optimize=False)
1346       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
1347       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Scalar.xml"),data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Scalar.xml",data=x[0])
1348       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Scalar.xml",reference)
1349    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Vector_vtk(self):
1350       reference="hex_3D_o2_contact_v.xml"       reference="hex_3D_o2_contact_v.xml"
1351       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh",optimize=False)
1352       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
1353       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Vector.xml"),data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.,3.])
1354       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Vector.xml",reference)
1355    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Tensor_vtk(self):
1356       reference="hex_3D_o2_contact_t.xml"       reference="hex_3D_o2_contact_t.xml"
1357       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2_onFace.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh",optimize=False)
1358       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
1359       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1360       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Tensor.xml",reference)
1361    
1362    
# Line 1920  class Test_DXFiles(Test_VisualizationInt Line 1934  class Test_DXFiles(Test_VisualizationInt
1934    # ======================================================================================================================    # ======================================================================================================================
1935    def test_hex_2D_order2_dx(self):    def test_hex_2D_order2_dx(self):
1936       reference="hex_2D_o1.dx"       reference="hex_2D_o1.dx"
1937       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh",optimize=False)
1938       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_2D_order2.dx"),domain=dom)       saveDX(FINLEY_WORKDIR_PATH+"hex_2D_order2.dx",domain=dom)
1939       self.check_dx("hex_2D_order2.dx",reference)       self.check_dx("hex_2D_order2.dx",reference)
1940    
1941    def test_hex_2D_order2_AllPoints_Scalar_dx(self):    def test_hex_2D_order2_AllPoints_Scalar_dx(self):
1942       reference="hex_2D_o1_node_3xs.dx"       reference="hex_2D_o1_node_3xs.dx"
1943       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh",optimize=False)
1944       x=Solution(dom).getX()       x=Solution(dom).getX()
1945       x_r=ReducedSolution(dom).getX()       x_r=ReducedSolution(dom).getX()
1946       x_n=ContinuousFunction(dom).getX()       x_n=ContinuousFunction(dom).getX()
1947       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_2D_order2_AllPoints_Scalar.dx"),data_r=x_r[0],data_n=x_n[0],data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_2D_order2_AllPoints_Scalar.dx",data_r=x_r[0],data_n=x_n[0],data=x[0])
1948       self.check_dx("hex_2D_order2_AllPoints_Scalar.dx",reference)       self.check_dx("hex_2D_order2_AllPoints_Scalar.dx",reference)
1949    def test_hex_2D_order2_02Points_Scalar_dx(self):    def test_hex_2D_order2_02Points_Scalar_dx(self):
1950       reference="hex_2D_o1_node_2xs.dx"       reference="hex_2D_o1_node_2xs.dx"
1951       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh",optimize=False)
1952       x=Solution(dom).getX()       x=Solution(dom).getX()
1953       x_n=ContinuousFunction(dom).getX()       x_n=ContinuousFunction(dom).getX()
1954       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_2D_order2_O2Points_Scalar.dx"),data_n=x_n[0],data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_2D_order2_O2Points_Scalar.dx",data_n=x_n[0],data=x[0])
1955       self.check_dx("hex_2D_order2_O2Points_Scalar.dx",reference)       self.check_dx("hex_2D_order2_O2Points_Scalar.dx",reference)
1956    def test_hex_2D_order2_2Cells_Scalar_dx(self):    def test_hex_2D_order2_2Cells_Scalar_dx(self):
1957       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh",optimize=False)
1958       x=Function(dom).getX()       x=Function(dom).getX()
1959       x_b=FunctionOnBoundary(dom).getX()       x_b=FunctionOnBoundary(dom).getX()
1960       try:       try:
1961          saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_2D_order2_2Cells_Scalar.dx"),data=x[0],data_b=x_b[0])          saveDX(FINLEY_WORKDIR_PATH+"hex_2D_order2_2Cells_Scalar.dx",data=x[0],data_b=x_b[0])
1962          self.fail("non-matching data not detected.")          self.fail("non-matching data not detected.")
1963       except StandardError:       except StandardError:
1964          pass          pass
1965    def test_hex_2D_order2_BoundaryPoint_Scalar_dx(self):    def test_hex_2D_order2_BoundaryPoint_Scalar_dx(self):
1966       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh",optimize=False)
1967       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
1968       x_b=FunctionOnBoundary(dom).getX()       x_b=FunctionOnBoundary(dom).getX()
1969       try:       try:
1970          saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_2D_order2_BoundaryPoint_Scalar.dx"),data=x[0],data_b=x_b[0])          saveDX(FINLEY_WORKDIR_PATH+"hex_2D_order2_BoundaryPoint_Scalar.dx",data=x[0],data_b=x_b[0])
1971          self.fail("non-matching data not detected.")          self.fail("non-matching data not detected.")
1972       except StandardError:       except StandardError:
1973          pass          pass
1974    def test_hex_2D_order2_Cells_AllData_dx(self):    def test_hex_2D_order2_Cells_AllData_dx(self):
1975       reference="hex_2D_o1_cell_all.dx"       reference="hex_2D_o1_cell_all.dx"
1976       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh",optimize=False)
1977       x=Function(dom).getX()       x=Function(dom).getX()
1978       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_2D_order2_Cells_AllData.dx"),data_s=x[0],data_v=x[0]*[1.,2.],data_t=x[0]*[[11.,12.],[21.,22.]],data_t2=x[0]*[[-11.,-12.],[-21.,-22.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_2D_order2_Cells_AllData.dx",data_s=x[0],data_v=x[0]*[1.,2.],data_t=x[0]*[[11.,12.],[21.,22.]],data_t2=x[0]*[[-11.,-12.],[-21.,-22.]])
1979       self.check_dx("hex_2D_order2_Cells_AllData.dx",reference)       self.check_dx("hex_2D_order2_Cells_AllData.dx",reference)
1980    
1981    def test_hex_2D_order2_CellsPoints_AllData_dx(self):    def test_hex_2D_order2_CellsPoints_AllData_dx(self):
1982       reference="hex_2D_o1_cellnode_all.dx"       reference="hex_2D_o1_cellnode_all.dx"
1983       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh",optimize=False)
1984       x_c=Function(dom).getX()       x_c=Function(dom).getX()
1985       x_p=ContinuousFunction(dom).getX()       x_p=ContinuousFunction(dom).getX()
1986       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_2D_order2_CellsPoints_AllData.dx"),data_sp=x_p[0],       saveDX(FINLEY_WORKDIR_PATH+"hex_2D_order2_CellsPoints_AllData.dx",data_sp=x_p[0],
1987                                                       data_vp=x_p[0]*[1.,2.],                                                       data_vp=x_p[0]*[1.,2.],
1988                                                       data_tp=x_p[0]*[[11.,12.],[21.,22.]],                                                       data_tp=x_p[0]*[[11.,12.],[21.,22.]],
1989                                                       data_sc=x_c[0],                                                       data_sc=x_c[0],
# Line 1979  class Test_DXFiles(Test_VisualizationInt Line 1993  class Test_DXFiles(Test_VisualizationInt
1993    # ======================================================================================================================    # ======================================================================================================================
1994    def test_hex_contact_2D_order1_ContinuousFunction_Scalar_dx(self):    def test_hex_contact_2D_order1_ContinuousFunction_Scalar_dx(self):
1995       reference="hex_2D_o1_node_s.dx"       reference="hex_2D_o1_node_s.dx"
1996       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
1997       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
1998       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ContinuousFunction_Scalar.dx"),data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ContinuousFunction_Scalar.dx",data=x[0])
1999       self.check_dx("hex_contact_2D_order1_ContinuousFunction_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order1_ContinuousFunction_Scalar.dx",reference)
2000    def test_hex_contact_2D_order1_ContinuousFunction_Vector_dx(self):    def test_hex_contact_2D_order1_ContinuousFunction_Vector_dx(self):
2001       reference="hex_2D_o1_node_v.dx"       reference="hex_2D_o1_node_v.dx"
2002       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2003       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
2004       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ContinuousFunction_Vector.dx"),data=x[0]*[1.,2.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ContinuousFunction_Vector.dx",data=x[0]*[1.,2.])
2005       self.check_dx("hex_contact_2D_order1_ContinuousFunction_Vector.dx",reference)       self.check_dx("hex_contact_2D_order1_ContinuousFunction_Vector.dx",reference)
2006    def test_hex_contact_2D_order1_ContinuousFunction_Tensor_dx(self):    def test_hex_contact_2D_order1_ContinuousFunction_Tensor_dx(self):
2007       reference="hex_2D_o1_node_t.dx"       reference="hex_2D_o1_node_t.dx"
2008       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2009       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
2010       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ContinuousFunction_Tensor.dx"),data=x[0]*[[11.,12.],[21.,22.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ContinuousFunction_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])
2011       self.check_dx("hex_contact_2D_order1_ContinuousFunction_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order1_ContinuousFunction_Tensor.dx",reference)
2012    def test_hex_contact_2D_order1_Solution_Scalar_dx(self):    def test_hex_contact_2D_order1_Solution_Scalar_dx(self):
2013       reference="hex_2D_o1_node_s.dx"       reference="hex_2D_o1_node_s.dx"
2014       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2015       x=Solution(dom).getX()       x=Solution(dom).getX()
2016       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_Solution_Scalar.dx"),data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Solution_Scalar.dx",data=x[0])
2017       self.check_dx("hex_contact_2D_order1_Solution_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order1_Solution_Scalar.dx",reference)
2018    def test_hex_contact_2D_order1_Solution_Vector_dx(self):    def test_hex_contact_2D_order1_Solution_Vector_dx(self):
2019       reference="hex_2D_o1_node_v.dx"       reference="hex_2D_o1_node_v.dx"
2020       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2021       x=Solution(dom).getX()       x=Solution(dom).getX()
2022       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_Solution_Vector.dx"),data=x[0]*[1.,2.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Solution_Vector.dx",data=x[0]*[1.,2.])
2023       self.check_dx("hex_contact_2D_order1_Solution_Vector.dx",reference)       self.check_dx("hex_contact_2D_order1_Solution_Vector.dx",reference)
2024    def test_hex_contact_2D_order1_Solution_Tensor_dx(self):    def test_hex_contact_2D_order1_Solution_Tensor_dx(self):
2025       reference="hex_2D_o1_node_t.dx"       reference="hex_2D_o1_node_t.dx"
2026       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2027       x=Solution(dom).getX()       x=Solution(dom).getX()
2028       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_Solution_Tensor.dx"),data=x[0]*[[11.,12.],[21.,22.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Solution_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])
2029       self.check_dx("hex_contact_2D_order1_Solution_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order1_Solution_Tensor.dx",reference)
2030    def test_hex_contact_2D_order1_ReducedSolution_Scalar_dx(self):    def test_hex_contact_2D_order1_ReducedSolution_Scalar_dx(self):
2031       reference="hex_2D_o1_node_s.dx"       reference="hex_2D_o1_node_s.dx"
2032       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2033       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
2034       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedSolution_Scalar.dx"),data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedSolution_Scalar.dx",data=x[0])
2035       self.check_dx("hex_contact_2D_order1_ReducedSolution_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order1_ReducedSolution_Scalar.dx",reference)
2036    def test_hex_contact_2D_order1_ReducedSolution_Vector_dx(self):    def test_hex_contact_2D_order1_ReducedSolution_Vector_dx(self):
2037       reference="hex_2D_o1_node_v.dx"       reference="hex_2D_o1_node_v.dx"
2038       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2039       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
2040       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedSolution_Vector.dx"),data=x[0]*[1.,2.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedSolution_Vector.dx",data=x[0]*[1.,2.])
2041       self.check_dx("hex_contact_2D_order1_ReducedSolution_Vector.dx",reference)       self.check_dx("hex_contact_2D_order1_ReducedSolution_Vector.dx",reference)
2042    def test_hex_contact_2D_order1_ReducedSolution_Tensor_dx(self):    def test_hex_contact_2D_order1_ReducedSolution_Tensor_dx(self):
2043       reference="hex_2D_o1_node_t.dx"       reference="hex_2D_o1_node_t.dx"
2044       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2045       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
2046       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedSolution_Tensor.dx"),data=x[0]*[[11.,12.],[21.,22.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedSolution_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])
2047       self.check_dx("hex_contact_2D_order1_ReducedSolution_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order1_ReducedSolution_Tensor.dx",reference)
2048    def test_hex_contact_2D_order1_Function_Scalar_dx(self):    def test_hex_contact_2D_order1_Function_Scalar_dx(self):
2049       reference="hex_2D_o1_cell_s.dx"       reference="hex_2D_o1_cell_s.dx"
2050       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2051       x=Function(dom).getX()       x=Function(dom).getX()
2052       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_Function_Scalar.dx"),data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Function_Scalar.dx",data=x[0])
2053       self.check_dx("hex_contact_2D_order1_Function_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order1_Function_Scalar.dx",reference)
2054    def test_hex_contact_2D_order1_Function_Vector_dx(self):    def test_hex_contact_2D_order1_Function_Vector_dx(self):
2055       reference="hex_2D_o1_cell_v.dx"       reference="hex_2D_o1_cell_v.dx"
2056       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2057       x=Function(dom).getX()       x=Function(dom).getX()
2058       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_Function_Vector.dx"),data=x[0]*[1.,2.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Function_Vector.dx",data=x[0]*[1.,2.])
2059       self.check_dx("hex_contact_2D_order1_Function_Vector.dx",reference)       self.check_dx("hex_contact_2D_order1_Function_Vector.dx",reference)
2060    def test_hex_contact_2D_order1_Function_Tensor_dx(self):    def test_hex_contact_2D_order1_Function_Tensor_dx(self):
2061       reference="hex_2D_o1_cell_t.dx"       reference="hex_2D_o1_cell_t.dx"
2062       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2063       x=Function(dom).getX()       x=Function(dom).getX()
2064       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_Function_Tensor.dx"),data=x[0]*[[11.,12.],[21.,22.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Function_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])
2065       self.check_dx("hex_contact_2D_order1_Function_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order1_Function_Tensor.dx",reference)
2066    def test_hex_contact_2D_order1_ReducedFunction_Scalar_dx(self):    def test_hex_contact_2D_order1_ReducedFunction_Scalar_dx(self):
2067       reference="hex_2D_o1_cell_s.dx"       reference="hex_2D_o1_cell_s.dx"
2068       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2069       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
2070       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedFunction_Scalar.dx"),data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunction_Scalar.dx",data=x[0])
2071       self.check_dx("hex_contact_2D_order1_ReducedFunction_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order1_ReducedFunction_Scalar.dx",reference)
2072    def test_hex_contact_2D_order1_ReducedFunction_Vector_dx(self):    def test_hex_contact_2D_order1_ReducedFunction_Vector_dx(self):
2073       reference="hex_2D_o1_cell_v.dx"       reference="hex_2D_o1_cell_v.dx"
2074       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2075       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
2076       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedFunction_Vector.dx"),data=x[0]*[1.,2.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunction_Vector.dx",data=x[0]*[1.,2.])
2077       self.check_dx("hex_contact_2D_order1_ReducedFunction_Vector.dx",reference)       self.check_dx("hex_contact_2D_order1_ReducedFunction_Vector.dx",reference)
2078    def test_hex_contact_2D_order1_ReducedFunction_Tensor_dx(self):    def test_hex_contact_2D_order1_ReducedFunction_Tensor_dx(self):
2079       reference="hex_2D_o1_cell_t.dx"       reference="hex_2D_o1_cell_t.dx"
2080       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2081       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
2082       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedFunction_Tensor.dx"),data=x[0]*[[11.,12.],[21.,22.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunction_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])
2083       self.check_dx("hex_contact_2D_order1_ReducedFunction_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order1_ReducedFunction_Tensor.dx",reference)
2084    def test_hex_contact_2D_order1_FunctionOnBoundary_Scalar_dx(self):    def test_hex_contact_2D_order1_FunctionOnBoundary_Scalar_dx(self):
2085       reference="hex_2D_o1_boundary_s.dx"       reference="hex_2D_o1_boundary_s.dx"
2086       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2087       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
2088       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_FunctionOnBoundary_Scalar.dx"),data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnBoundary_Scalar.dx",data=x[0])
2089       self.check_dx("hex_contact_2D_order1_FunctionOnBoundary_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order1_FunctionOnBoundary_Scalar.dx",reference)
2090    def test_hex_contact_2D_order1_FunctionOnBoundary_Vector_dx(self):    def test_hex_contact_2D_order1_FunctionOnBoundary_Vector_dx(self):
2091       reference="hex_2D_o1_boundary_v.dx"       reference="hex_2D_o1_boundary_v.dx"
2092       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2093       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
2094       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_FunctionOnBoundary_Vector.dx"),data=x[0]*[1.,2.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnBoundary_Vector.dx",data=x[0]*[1.,2.])
2095       self.check_dx("hex_contact_2D_order1_FunctionOnBoundary_Vector.dx",reference)       self.check_dx("hex_contact_2D_order1_FunctionOnBoundary_Vector.dx",reference)
2096    def test_hex_contact_2D_order1_FunctionOnBoundary_Tensor_dx(self):    def test_hex_contact_2D_order1_FunctionOnBoundary_Tensor_dx(self):
2097       reference="hex_2D_o1_boundary_t.dx"       reference="hex_2D_o1_boundary_t.dx"
2098       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2099       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
2100       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_FunctionOnBoundary_Tensor.dx"),data=x[0]*[[11.,12.],[21.,22.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnBoundary_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])
2101       self.check_dx("hex_contact_2D_order1_FunctionOnBoundary_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order1_FunctionOnBoundary_Tensor.dx",reference)
2102    def test_hex_contact_2D_order1_ReducedFunctionOnBoundary_Scalar_dx(self):    def test_hex_contact_2D_order1_ReducedFunctionOnBoundary_Scalar_dx(self):
2103       reference="hex_2D_o1_boundary_s.dx"       reference="hex_2D_o1_boundary_s.dx"
2104       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2105       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
2106       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedFunctionOnBoundary_Scalar.dx"),data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnBoundary_Scalar.dx",data=x[0])
2107       self.check_dx("hex_contact_2D_order1_ReducedFunctionOnBoundary_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order1_ReducedFunctionOnBoundary_Scalar.dx",reference)
2108    def test_hex_contact_2D_order1_ReducedFunctionOnBoundary_Vector_dx(self):    def test_hex_contact_2D_order1_ReducedFunctionOnBoundary_Vector_dx(self):
2109       reference="hex_2D_o1_boundary_v.dx"       reference="hex_2D_o1_boundary_v.dx"
2110       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2111       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
2112       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedFunctionOnBoundary_Vector.dx"),data=x[0]*[1.,2.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnBoundary_Vector.dx",data=x[0]*[1.,2.])
2113       self.check_dx("hex_contact_2D_order1_ReducedFunctionOnBoundary_Vector.dx",reference)       self.check_dx("hex_contact_2D_order1_ReducedFunctionOnBoundary_Vector.dx",reference)
2114    def test_hex_contact_2D_order1_ReducedFunctionOnBoundary_Tensor_dx(self):    def test_hex_contact_2D_order1_ReducedFunctionOnBoundary_Tensor_dx(self):
2115       reference="hex_2D_o1_boundary_t.dx"       reference="hex_2D_o1_boundary_t.dx"
2116       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2117       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
2118       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedFunctionOnBoundary_Tensor.dx"),data=x[0]*[[11.,12.],[21.,22.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnBoundary_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])
2119       self.check_dx("hex_contact_2D_order1_ReducedFunctionOnBoundary_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order1_ReducedFunctionOnBoundary_Tensor.dx",reference)
2120    # ======================================================================================================================    # ======================================================================================================================
2121    def test_hex_contact_2D_order2_ContinuousFunction_Scalar_dx(self):    def test_hex_contact_2D_order2_ContinuousFunction_Scalar_dx(self):
2122       reference="hex_2D_o2_node_s.dx"       reference="hex_2D_o2_node_s.dx"
2123       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2124       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
2125       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ContinuousFunction_Scalar.dx"),data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ContinuousFunction_Scalar.dx",data=x[0])
2126       self.check_dx("hex_contact_2D_order2_ContinuousFunction_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order2_ContinuousFunction_Scalar.dx",reference)
2127    def test_hex_contact_2D_order2_ContinuousFunction_Vector_dx(self):    def test_hex_contact_2D_order2_ContinuousFunction_Vector_dx(self):
2128       reference="hex_2D_o2_node_v.dx"       reference="hex_2D_o2_node_v.dx"
2129       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2130       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
2131       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ContinuousFunction_Vector.dx"),data=x[0]*[1.,2.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ContinuousFunction_Vector.dx",data=x[0]*[1.,2.])
2132       self.check_dx("hex_contact_2D_order2_ContinuousFunction_Vector.dx",reference)       self.check_dx("hex_contact_2D_order2_ContinuousFunction_Vector.dx",reference)
2133    def test_hex_contact_2D_order2_ContinuousFunction_Tensor_dx(self):    def test_hex_contact_2D_order2_ContinuousFunction_Tensor_dx(self):
2134       reference="hex_2D_o2_node_t.dx"       reference="hex_2D_o2_node_t.dx"
2135       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2136       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
2137       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ContinuousFunction_Tensor.dx"),data=x[0]*[[11.,12.],[21.,22.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ContinuousFunction_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])
2138       self.check_dx("hex_contact_2D_order2_ContinuousFunction_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order2_ContinuousFunction_Tensor.dx",reference)
2139    def test_hex_contact_2D_order2_Solution_Scalar_dx(self):    def test_hex_contact_2D_order2_Solution_Scalar_dx(self):
2140       reference="hex_2D_o2_node_s.dx"       reference="hex_2D_o2_node_s.dx"
2141       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2142       x=Solution(dom).getX()       x=Solution(dom).getX()
2143       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_Solution_Scalar.dx"),data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Solution_Scalar.dx",data=x[0])
2144       self.check_dx("hex_contact_2D_order2_Solution_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order2_Solution_Scalar.dx",reference)
2145    def test_hex_contact_2D_order2_Solution_Vector_dx(self):    def test_hex_contact_2D_order2_Solution_Vector_dx(self):
2146       reference="hex_2D_o2_node_v.dx"       reference="hex_2D_o2_node_v.dx"
2147       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2148       x=Solution(dom).getX()       x=Solution(dom).getX()
2149       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_Solution_Vector.dx"),data=x[0]*[1.,2.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Solution_Vector.dx",data=x[0]*[1.,2.])
2150       self.check_dx("hex_contact_2D_order2_Solution_Vector.dx",reference)       self.check_dx("hex_contact_2D_order2_Solution_Vector.dx",reference)
2151    def test_hex_contact_2D_order2_Solution_Tensor_dx(self):    def test_hex_contact_2D_order2_Solution_Tensor_dx(self):
2152       reference="hex_2D_o2_node_t.dx"       reference="hex_2D_o2_node_t.dx"
2153       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2154       x=Solution(dom).getX()       x=Solution(dom).getX()
2155       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_Solution_Tensor.dx"),data=x[0]*[[11.,12.],[21.,22.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Solution_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])
2156       self.check_dx("hex_contact_2D_order2_Solution_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order2_Solution_Tensor.dx",reference)
2157    def test_hex_contact_2D_order2_ReducedSolution_Scalar_dx(self):    def test_hex_contact_2D_order2_ReducedSolution_Scalar_dx(self):
2158       reference="hex_2D_o1_node_s.dx"       reference="hex_2D_o1_node_s.dx"
2159       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2160       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
2161       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedSolution_Scalar.dx"),data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedSolution_Scalar.dx",data=x[0])
2162       self.check_dx("hex_contact_2D_order2_ReducedSolution_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order2_ReducedSolution_Scalar.dx",reference)
2163    def test_hex_contact_2D_order2_ReducedSolution_Vector_dx(self):    def test_hex_contact_2D_order2_ReducedSolution_Vector_dx(self):
2164       reference="hex_2D_o1_node_v.dx"       reference="hex_2D_o1_node_v.dx"
2165       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2166       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
2167       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedSolution_Vector.dx"),data=x[0]*[1.,2.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedSolution_Vector.dx",data=x[0]*[1.,2.])
2168       self.check_dx("hex_contact_2D_order2_ReducedSolution_Vector.dx",reference)       self.check_dx("hex_contact_2D_order2_ReducedSolution_Vector.dx",reference)
2169    def test_hex_contact_2D_order2_ReducedSolution_Tensor_dx(self):    def test_hex_contact_2D_order2_ReducedSolution_Tensor_dx(self):
2170       reference="hex_2D_o1_node_t.dx"       reference="hex_2D_o1_node_t.dx"
2171       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2172       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
2173       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedSolution_Tensor.dx"),data=x[0]*[[11.,12.],[21.,22.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedSolution_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])
2174       self.check_dx("hex_contact_2D_order2_ReducedSolution_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order2_ReducedSolution_Tensor.dx",reference)
2175    def test_hex_contact_2D_order2_Function_Scalar_dx(self):    def test_hex_contact_2D_order2_Function_Scalar_dx(self):
2176       reference="hex_2D_o2_cell_s.dx"       reference="hex_2D_o2_cell_s.dx"
2177       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2178       x=Function(dom).getX()       x=Function(dom).getX()
2179       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_Function_Scalar.dx"),data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Function_Scalar.dx",data=x[0])
2180       self.check_dx("hex_contact_2D_order2_Function_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order2_Function_Scalar.dx",reference)
2181    def test_hex_contact_2D_order2_Function_Vector_dx(self):    def test_hex_contact_2D_order2_Function_Vector_dx(self):
2182       reference="hex_2D_o2_cell_v.dx"       reference="hex_2D_o2_cell_v.dx"
2183       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2184       x=Function(dom).getX()       x=Function(dom).getX()
2185       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_Function_Vector.dx"),data=x[0]*[1.,2.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Function_Vector.dx",data=x[0]*[1.,2.])
2186       self.check_dx("hex_contact_2D_order2_Function_Vector.dx",reference)       self.check_dx("hex_contact_2D_order2_Function_Vector.dx",reference)
2187    def test_hex_contact_2D_order2_Function_Tensor_dx(self):    def test_hex_contact_2D_order2_Function_Tensor_dx(self):
2188       reference="hex_2D_o2_cell_t.dx"       reference="hex_2D_o2_cell_t.dx"
2189       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2190       x=Function(dom).getX()       x=Function(dom).getX()
2191       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_Function_Tensor.dx"),data=x[0]*[[11.,12.],[21.,22.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Function_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])
2192       self.check_dx("hex_contact_2D_order2_Function_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order2_Function_Tensor.dx",reference)
2193    def test_hex_contact_2D_order2_ReducedFunction_Scalar_dx(self):    def test_hex_contact_2D_order2_ReducedFunction_Scalar_dx(self):
2194       reference="hex_2D_o2_cell_s.dx"       reference="hex_2D_o2_cell_s.dx"
2195       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2196       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
2197       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedFunction_Scalar.dx"),data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunction_Scalar.dx",data=x[0])
2198       self.check_dx("hex_contact_2D_order2_ReducedFunction_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order2_ReducedFunction_Scalar.dx",reference)
2199    def test_hex_contact_2D_order2_ReducedFunction_Vector_dx(self):    def test_hex_contact_2D_order2_ReducedFunction_Vector_dx(self):
2200       reference="hex_2D_o2_cell_v.dx"       reference="hex_2D_o2_cell_v.dx"
2201       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2202       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
2203       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedFunction_Vector.dx"),data=x[0]*[1.,2.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunction_Vector.dx",data=x[0]*[1.,2.])
2204       self.check_dx("hex_contact_2D_order2_ReducedFunction_Vector.dx",reference)       self.check_dx("hex_contact_2D_order2_ReducedFunction_Vector.dx",reference)
2205    def test_hex_contact_2D_order2_ReducedFunction_Tensor_dx(self):    def test_hex_contact_2D_order2_ReducedFunction_Tensor_dx(self):
2206       reference="hex_2D_o2_cell_t.dx"       reference="hex_2D_o2_cell_t.dx"
2207       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2208       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
2209       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedFunction_Tensor.dx"),data=x[0]*[[11.,12.],[21.,22.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunction_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])
2210       self.check_dx("hex_contact_2D_order2_ReducedFunction_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order2_ReducedFunction_Tensor.dx",reference)
2211    def test_hex_contact_2D_order2_FunctionOnBoundary_Scalar_dx(self):    def test_hex_contact_2D_order2_FunctionOnBoundary_Scalar_dx(self):
2212       reference="hex_2D_o2_boundary_s.dx"       reference="hex_2D_o2_boundary_s.dx"
2213       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2214       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
2215       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_FunctionOnBoundary_Scalar.dx"),data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnBoundary_Scalar.dx",data=x[0])
2216       self.check_dx("hex_contact_2D_order2_FunctionOnBoundary_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order2_FunctionOnBoundary_Scalar.dx",reference)
2217    def test_hex_contact_2D_order2_FunctionOnBoundary_Vector_dx(self):    def test_hex_contact_2D_order2_FunctionOnBoundary_Vector_dx(self):
2218       reference="hex_2D_o2_boundary_v.dx"       reference="hex_2D_o2_boundary_v.dx"
2219       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2220       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
2221       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_FunctionOnBoundary_Vector.dx"),data=x[0]*[1.,2.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnBoundary_Vector.dx",data=x[0]*[1.,2.])
2222       self.check_dx("hex_contact_2D_order2_FunctionOnBoundary_Vector.dx",reference)       self.check_dx("hex_contact_2D_order2_FunctionOnBoundary_Vector.dx",reference)
2223    def test_hex_contact_2D_order2_FunctionOnBoundary_Tensor_dx(self):    def test_hex_contact_2D_order2_FunctionOnBoundary_Tensor_dx(self):
2224       reference="hex_2D_o2_boundary_t.dx"       reference="hex_2D_o2_boundary_t.dx"
2225       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2226       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
2227       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_FunctionOnBoundary_Tensor.dx"),data=x[0]*[[11.,12.],[21.,22.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnBoundary_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])
2228       self.check_dx("hex_contact_2D_order2_FunctionOnBoundary_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order2_FunctionOnBoundary_Tensor.dx",reference)
2229    def test_hex_contact_2D_order2_ReducedFunctionOnBoundary_Scalar_dx(self):    def test_hex_contact_2D_order2_ReducedFunctionOnBoundary_Scalar_dx(self):
2230       reference="hex_2D_o2_boundary_s.dx"       reference="hex_2D_o2_boundary_s.dx"
2231       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2232       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
2233       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedFunctionOnBoundary_Scalar.dx"),data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnBoundary_Scalar.dx",data=x[0])
2234       self.check_dx("hex_contact_2D_order2_ReducedFunctionOnBoundary_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order2_ReducedFunctionOnBoundary_Scalar.dx",reference)
2235    def test_hex_contact_2D_order2_ReducedFunctionOnBoundary_Vector_dx(self):    def test_hex_contact_2D_order2_ReducedFunctionOnBoundary_Vector_dx(self):
2236       reference="hex_2D_o2_boundary_v.dx"       reference="hex_2D_o2_boundary_v.dx"
2237       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2238       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
2239       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedFunctionOnBoundary_Vector.dx"),data=x[0]*[1.,2.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnBoundary_Vector.dx",data=x[0]*[1.,2.])
2240       self.check_dx("hex_contact_2D_order2_ReducedFunctionOnBoundary_Vector.dx",reference)       self.check_dx("hex_contact_2D_order2_ReducedFunctionOnBoundary_Vector.dx",reference)
2241    def test_hex_contact_2D_order2_ReducedFunctionOnBoundary_Tensor_dx(self):    def test_hex_contact_2D_order2_ReducedFunctionOnBoundary_Tensor_dx(self):
2242       reference="hex_2D_o2_boundary_t.dx"       reference="hex_2D_o2_boundary_t.dx"
2243       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2244       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
2245       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedFunctionOnBoundary_Tensor.dx"),data=x[0]*[[11.,12.],[21.,22.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnBoundary_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])
2246       self.check_dx("hex_contact_2D_order2_ReducedFunctionOnBoundary_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order2_ReducedFunctionOnBoundary_Tensor.dx",reference)
2247    # ======================================================================================================================    # ======================================================================================================================
2248    def test_hex_contact_3D_order1_ContinuousFunction_Scalar_dx(self):    def test_hex_contact_3D_order1_ContinuousFunction_Scalar_dx(self):
2249       reference="hex_3D_o1_node_s.dx"       reference="hex_3D_o1_node_s.dx"
2250       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2251       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
2252       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ContinuousFunction_Scalar.dx"),data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ContinuousFunction_Scalar.dx",data=x[0])
2253       self.check_dx("hex_contact_3D_order1_ContinuousFunction_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order1_ContinuousFunction_Scalar.dx",reference)
2254    def test_hex_contact_3D_order1_ContinuousFunction_Vector_dx(self):    def test_hex_contact_3D_order1_ContinuousFunction_Vector_dx(self):
2255       reference="hex_3D_o1_node_v.dx"       reference="hex_3D_o1_node_v.dx"
2256       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2257       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
2258       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ContinuousFunction_Vector.dx"),data=x[0]*[1.,2.,3.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ContinuousFunction_Vector.dx",data=x[0]*[1.,2.,3.])
2259       self.check_dx("hex_contact_3D_order1_ContinuousFunction_Vector.dx",reference)       self.check_dx("hex_contact_3D_order1_ContinuousFunction_Vector.dx",reference)
2260    def test_hex_contact_3D_order1_ContinuousFunction_Tensor_dx(self):    def test_hex_contact_3D_order1_ContinuousFunction_Tensor_dx(self):
2261       reference="hex_3D_o1_node_t.dx"       reference="hex_3D_o1_node_t.dx"
2262       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2263       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
2264       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ContinuousFunction_Tensor.dx"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ContinuousFunction_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
2265       self.check_dx("hex_contact_3D_order1_ContinuousFunction_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order1_ContinuousFunction_Tensor.dx",reference)
2266    def test_hex_contact_3D_order1_Solution_Scalar_dx(self):    def test_hex_contact_3D_order1_Solution_Scalar_dx(self):
2267       reference="hex_3D_o1_node_s.dx"       reference="hex_3D_o1_node_s.dx"
2268       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2269       x=Solution(dom).getX()       x=Solution(dom).getX()
2270       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_Solution_Scalar.dx"),data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Solution_Scalar.dx",data=x[0])
2271       self.check_dx("hex_contact_3D_order1_Solution_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order1_Solution_Scalar.dx",reference)
2272    def test_hex_contact_3D_order1_Solution_Vector_dx(self):    def test_hex_contact_3D_order1_Solution_Vector_dx(self):
2273       reference="hex_3D_o1_node_v.dx"       reference="hex_3D_o1_node_v.dx"
2274       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2275       x=Solution(dom).getX()       x=Solution(dom).getX()
2276       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_Solution_Vector.dx"),data=x[0]*[1.,2.,3.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Solution_Vector.dx",data=x[0]*[1.,2.,3.])
2277       self.check_dx("hex_contact_3D_order1_Solution_Vector.dx",reference)       self.check_dx("hex_contact_3D_order1_Solution_Vector.dx",reference)
2278    def test_hex_contact_3D_order1_Solution_Tensor_dx(self):    def test_hex_contact_3D_order1_Solution_Tensor_dx(self):
2279       reference="hex_3D_o1_node_t.dx"       reference="hex_3D_o1_node_t.dx"
2280       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2281       x=Solution(dom).getX()       x=Solution(dom).getX()
2282       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_Solution_Tensor.dx"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Solution_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
2283       self.check_dx("hex_contact_3D_order1_Solution_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order1_Solution_Tensor.dx",reference)
2284    def test_hex_contact_3D_order1_ReducedSolution_Scalar_dx(self):    def test_hex_contact_3D_order1_ReducedSolution_Scalar_dx(self):
2285       reference="hex_3D_o1_node_s.dx"       reference="hex_3D_o1_node_s.dx"
2286       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2287       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
2288       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedSolution_Scalar.dx"),data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedSolution_Scalar.dx",data=x[0])
2289       self.check_dx("hex_contact_3D_order1_ReducedSolution_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order1_ReducedSolution_Scalar.dx",reference)
2290    def test_hex_contact_3D_order1_ReducedSolution_Vector_dx(self):    def test_hex_contact_3D_order1_ReducedSolution_Vector_dx(self):
2291       reference="hex_3D_o1_node_v.dx"       reference="hex_3D_o1_node_v.dx"
2292       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2293       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
2294       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedSolution_Vector.dx"),data=x[0]*[1.,2.,3.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedSolution_Vector.dx",data=x[0]*[1.,2.,3.])
2295       self.check_dx("hex_contact_3D_order1_ReducedSolution_Vector.dx",reference)       self.check_dx("hex_contact_3D_order1_ReducedSolution_Vector.dx",reference)
2296    def test_hex_contact_3D_order1_ReducedSolution_Tensor_dx(self):    def test_hex_contact_3D_order1_ReducedSolution_Tensor_dx(self):
2297       reference="hex_3D_o1_node_t.dx"       reference="hex_3D_o1_node_t.dx"
2298       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2299       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
2300       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedSolution_Tensor.dx"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedSolution_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
2301       self.check_dx("hex_contact_3D_order1_ReducedSolution_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order1_ReducedSolution_Tensor.dx",reference)
2302    def test_hex_contact_3D_order1_Function_Scalar_dx(self):    def test_hex_contact_3D_order1_Function_Scalar_dx(self):
2303       reference="hex_3D_o1_cell_s.dx"       reference="hex_3D_o1_cell_s.dx"
2304       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2305       x=Function(dom).getX()       x=Function(dom).getX()
2306       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_Function_Scalar.dx"),data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Function_Scalar.dx",data=x[0])
2307       self.check_dx("hex_contact_3D_order1_Function_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order1_Function_Scalar.dx",reference)
2308    def test_hex_contact_3D_order1_Function_Vector_dx(self):    def test_hex_contact_3D_order1_Function_Vector_dx(self):
2309       reference="hex_3D_o1_cell_v.dx"       reference="hex_3D_o1_cell_v.dx"
2310       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2311       x=Function(dom).getX()       x=Function(dom).getX()
2312       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_Function_Vector.dx"),data=x[0]*[1.,2.,3.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Function_Vector.dx",data=x[0]*[1.,2.,3.])
2313       self.check_dx("hex_contact_3D_order1_Function_Vector.dx",reference)       self.check_dx("hex_contact_3D_order1_Function_Vector.dx",reference)
2314    def test_hex_contact_3D_order1_Function_Tensor_dx(self):    def test_hex_contact_3D_order1_Function_Tensor_dx(self):
2315       reference="hex_3D_o1_cell_t.dx"       reference="hex_3D_o1_cell_t.dx"
2316       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2317       x=Function(dom).getX()       x=Function(dom).getX()
2318       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_Function_Tensor.dx"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Function_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
2319       self.check_dx("hex_contact_3D_order1_Function_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order1_Function_Tensor.dx",reference)
2320    def test_hex_contact_3D_order1_ReducedFunction_Scalar_dx(self):    def test_hex_contact_3D_order1_ReducedFunction_Scalar_dx(self):
2321       reference="hex_3D_o1_cell_s.dx"       reference="hex_3D_o1_cell_s.dx"
2322       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2323       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
2324       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedFunction_Scalar.dx"),data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunction_Scalar.dx",data=x[0])
2325       self.check_dx("hex_contact_3D_order1_ReducedFunction_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order1_ReducedFunction_Scalar.dx",reference)
2326    def test_hex_contact_3D_order1_ReducedFunction_Vector_dx(self):    def test_hex_contact_3D_order1_ReducedFunction_Vector_dx(self):
2327       reference="hex_3D_o1_cell_v.dx"       reference="hex_3D_o1_cell_v.dx"
2328       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2329       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
2330       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedFunction_Vector.dx"),data=x[0]*[1.,2.,3.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunction_Vector.dx",data=x[0]*[1.,2.,3.])
2331       self.check_dx("hex_contact_3D_order1_ReducedFunction_Vector.dx",reference)       self.check_dx("hex_contact_3D_order1_ReducedFunction_Vector.dx",reference)
2332    def test_hex_contact_3D_order1_ReducedFunction_Tensor_dx(self):    def test_hex_contact_3D_order1_ReducedFunction_Tensor_dx(self):
2333       reference="hex_3D_o1_cell_t.dx"       reference="hex_3D_o1_cell_t.dx"
2334       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2335       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
2336       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedFunction_Tensor.dx"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunction_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
2337       self.check_dx("hex_contact_3D_order1_ReducedFunction_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order1_ReducedFunction_Tensor.dx",reference)
2338    def test_hex_contact_3D_order1_FunctionOnBoundary_Scalar_dx(self):    def test_hex_contact_3D_order1_FunctionOnBoundary_Scalar_dx(self):
2339       reference="hex_3D_o1_boundary_s.dx"       reference="hex_3D_o1_boundary_s.dx"
2340       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2341       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
2342       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_FunctionOnBoundary_Scalar.dx"),data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnBoundary_Scalar.dx",data=x[0])
2343       self.check_dx("hex_contact_3D_order1_FunctionOnBoundary_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order1_FunctionOnBoundary_Scalar.dx",reference)
2344    def test_hex_contact_3D_order1_FunctionOnBoundary_Vector_dx(self):    def test_hex_contact_3D_order1_FunctionOnBoundary_Vector_dx(self):
2345       reference="hex_3D_o1_boundary_v.dx"       reference="hex_3D_o1_boundary_v.dx"
2346       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2347       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
2348       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_FunctionOnBoundary_Vector.dx"),data=x[0]*[1.,2.,3.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnBoundary_Vector.dx",data=x[0]*[1.,2.,3.])
2349       self.check_dx("hex_contact_3D_order1_FunctionOnBoundary_Vector.dx",reference)       self.check_dx("hex_contact_3D_order1_FunctionOnBoundary_Vector.dx",reference)
2350    def test_hex_contact_3D_order1_FunctionOnBoundary_Tensor_dx(self):    def test_hex_contact_3D_order1_FunctionOnBoundary_Tensor_dx(self):
2351       reference="hex_3D_o1_boundary_t.dx"       reference="hex_3D_o1_boundary_t.dx"
2352       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2353       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
2354       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_FunctionOnBoundary_Tensor.dx"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnBoundary_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
2355       self.check_dx("hex_contact_3D_order1_FunctionOnBoundary_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order1_FunctionOnBoundary_Tensor.dx",reference)
2356    def test_hex_contact_3D_order1_ReducedFunctionOnBoundary_Scalar_dx(self):    def test_hex_contact_3D_order1_ReducedFunctionOnBoundary_Scalar_dx(self):
2357       reference="hex_3D_o1_boundary_s.dx"       reference="hex_3D_o1_boundary_s.dx"
2358       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2359       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
2360       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedFunctionOnBoundary_Scalar.dx"),data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnBoundary_Scalar.dx",data=x[0])
2361       self.check_dx("hex_contact_3D_order1_ReducedFunctionOnBoundary_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order1_ReducedFunctionOnBoundary_Scalar.dx",reference)
2362    def test_hex_contact_3D_order1_ReducedFunctionOnBoundary_Vector_dx(self):    def test_hex_contact_3D_order1_ReducedFunctionOnBoundary_Vector_dx(self):
2363       reference="hex_3D_o1_boundary_v.dx"       reference="hex_3D_o1_boundary_v.dx"
2364       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2365       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
2366       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedFunctionOnBoundary_Vector.dx"),data=x[0]*[1.,2.,3.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnBoundary_Vector.dx",data=x[0]*[1.,2.,3.])
2367       self.check_dx("hex_contact_3D_order1_ReducedFunctionOnBoundary_Vector.dx",reference)       self.check_dx("hex_contact_3D_order1_ReducedFunctionOnBoundary_Vector.dx",reference)
2368    def test_hex_contact_3D_order1_ReducedFunctionOnBoundary_Tensor_dx(self):    def test_hex_contact_3D_order1_ReducedFunctionOnBoundary_Tensor_dx(self):
2369       reference="hex_3D_o1_boundary_t.dx"       reference="hex_3D_o1_boundary_t.dx"
2370       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2371       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
2372       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedFunctionOnBoundary_Tensor.dx"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnBoundary_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
2373       self.check_dx("hex_contact_3D_order1_ReducedFunctionOnBoundary_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order1_ReducedFunctionOnBoundary_Tensor.dx",reference)
2374    # ======================================================================================================================    # ======================================================================================================================
2375    def test_hex_contact_3D_order2_ContinuousFunction_Scalar_dx(self):    def test_hex_contact_3D_order2_ContinuousFunction_Scalar_dx(self):
2376       reference="hex_3D_o1_node_s.dx"       reference="hex_3D_o1_node_s.dx"
2377       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
2378       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
2379       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ContinuousFunction_Scalar.dx"),data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ContinuousFunction_Scalar.dx",data=x[0])
2380       self.check_dx("hex_contact_3D_order2_ContinuousFunction_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order2_ContinuousFunction_Scalar.dx",reference)
2381    def test_hex_contact_3D_order2_ContinuousFunction_Vector_dx(self):    def test_hex_contact_3D_order2_ContinuousFunction_Vector_dx(self):
2382       reference="hex_3D_o1_node_v.dx"       reference="hex_3D_o1_node_v.dx"
2383       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
2384       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
2385       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ContinuousFunction_Vector.dx"),data=x[0]*[1.,2.,3.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ContinuousFunction_Vector.dx",data=x[0]*[1.,2.,3.])
2386       self.check_dx("hex_contact_3D_order2_ContinuousFunction_Vector.dx",reference)       self.check_dx("hex_contact_3D_order2_ContinuousFunction_Vector.dx",reference)
2387    def test_hex_contact_3D_order2_ContinuousFunction_Tensor_dx(self):    def test_hex_contact_3D_order2_ContinuousFunction_Tensor_dx(self):
2388       reference="hex_3D_o1_node_t.dx"       reference="hex_3D_o1_node_t.dx"
2389       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
2390       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
2391       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ContinuousFunction_Tensor.dx"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ContinuousFunction_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
2392       self.check_dx("hex_contact_3D_order2_ContinuousFunction_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order2_ContinuousFunction_Tensor.dx",reference)
2393    def test_hex_contact_3D_order2_Solution_Scalar_dx(self):    def test_hex_contact_3D_order2_Solution_Scalar_dx(self):
2394       reference="hex_3D_o1_node_s.dx"       reference="hex_3D_o1_node_s.dx"
2395       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
2396       x=Solution(dom).getX()       x=Solution(dom).getX()
2397       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_Solution_Scalar.dx"),data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Solution_Scalar.dx",data=x[0])
2398       self.check_dx("hex_contact_3D_order2_Solution_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order2_Solution_Scalar.dx",reference)
2399    def test_hex_contact_3D_order2_Solution_Vector_dx(self):    def test_hex_contact_3D_order2_Solution_Vector_dx(self):
2400       reference="hex_3D_o1_node_v.dx"       reference="hex_3D_o1_node_v.dx"
2401       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
2402       x=Solution(dom).getX()       x=Solution(dom).getX()
2403       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_Solution_Vector.dx"),data=x[0]*[1.,2.,3.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Solution_Vector.dx",data=x[0]*[1.,2.,3.])
2404       self.check_dx("hex_contact_3D_order2_Solution_Vector.dx",reference)       self.check_dx("hex_contact_3D_order2_Solution_Vector.dx",reference)
2405    def test_hex_contact_3D_order2_Solution_Tensor_dx(self):    def test_hex_contact_3D_order2_Solution_Tensor_dx(self):
2406       reference="hex_3D_o1_node_t.dx"       reference="hex_3D_o1_node_t.dx"
2407       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
2408       x=Solution(dom).getX()       x=Solution(dom).getX()
2409       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_Solution_Tensor.dx"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Solution_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
2410       self.check_dx("hex_contact_3D_order2_Solution_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order2_Solution_Tensor.dx",reference)
2411    def test_hex_contact_3D_order2_ReducedSolution_Scalar_dx(self):    def test_hex_contact_3D_order2_ReducedSolution_Scalar_dx(self):
2412       reference="hex_3D_o1_node_s.dx"       reference="hex_3D_o1_node_s.dx"
2413       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
2414       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
2415       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedSolution_Scalar.dx"),data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedSolution_Scalar.dx",data=x[0])
2416       self.check_dx("hex_contact_3D_order2_ReducedSolution_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order2_ReducedSolution_Scalar.dx",reference)
2417    def test_hex_contact_3D_order2_ReducedSolution_Vector_dx(self):    def test_hex_contact_3D_order2_ReducedSolution_Vector_dx(self):
2418       reference="hex_3D_o1_node_v.dx"       reference="hex_3D_o1_node_v.dx"
2419       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
2420       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
2421       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedSolution_Vector.dx"),data=x[0]*[1.,2.,3.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedSolution_Vector.dx",data=x[0]*[1.,2.,3.])
2422       self.check_dx("hex_contact_3D_order2_ReducedSolution_Vector.dx",reference)       self.check_dx("hex_contact_3D_order2_ReducedSolution_Vector.dx",reference)
2423    def test_hex_contact_3D_order2_ReducedSolution_Tensor_dx(self):    def test_hex_contact_3D_order2_ReducedSolution_Tensor_dx(self):
2424       reference="hex_3D_o1_node_t.dx"       reference="hex_3D_o1_node_t.dx"
2425       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
2426       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
2427       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedSolution_Tensor.dx"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedSolution_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
2428       self.check_dx("hex_contact_3D_order2_ReducedSolution_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order2_ReducedSolution_Tensor.dx",reference)
2429    def test_hex_contact_3D_order2_Function_Scalar_dx(self):    def test_hex_contact_3D_order2_Function_Scalar_dx(self):
2430       reference="hex_3D_o1_cell_s.dx"       reference="hex_3D_o1_cell_s.dx"
2431       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
2432       x=Function(dom).getX()       x=Function(dom).getX()
2433       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_Function_Scalar.dx"),data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Function_Scalar.dx",data=x[0])
2434       self.check_dx("hex_contact_3D_order2_Function_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order2_Function_Scalar.dx",reference)
2435    def test_hex_contact_3D_order2_Function_Vector_dx(self):    def test_hex_contact_3D_order2_Function_Vector_dx(self):
2436       reference="hex_3D_o1_cell_v.dx"       reference="hex_3D_o1_cell_v.dx"
2437       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
2438       x=Function(dom).getX()       x=Function(dom).getX()
2439       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_Function_Vector.dx"),data=x[0]*[1.,2.,3.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Function_Vector.dx",data=x[0]*[1.,2.,3.])
2440       self.check_dx("hex_contact_3D_order2_Function_Vector.dx",reference)       self.check_dx("hex_contact_3D_order2_Function_Vector.dx",reference)
2441    def test_hex_contact_3D_order2_Function_Tensor_dx(self):    def test_hex_contact_3D_order2_Function_Tensor_dx(self):
2442       reference="hex_3D_o1_cell_t.dx"       reference="hex_3D_o1_cell_t.dx"
2443       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
2444       x=Function(dom).getX()       x=Function(dom).getX()
2445       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_Function_Tensor.dx"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Function_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
2446       self.check_dx("hex_contact_3D_order2_Function_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order2_Function_Tensor.dx",reference)
2447    def test_hex_contact_3D_order2_ReducedFunction_Scalar_dx(self):    def test_hex_contact_3D_order2_ReducedFunction_Scalar_dx(self):
2448       reference="hex_3D_o1_cell_s.dx"       reference="hex_3D_o1_cell_s.dx"
2449       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
2450       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
2451       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedFunction_Scalar.dx"),data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunction_Scalar.dx",data=x[0])
2452       self.check_dx("hex_contact_3D_order2_ReducedFunction_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order2_ReducedFunction_Scalar.dx",reference)
2453    def test_hex_contact_3D_order2_ReducedFunction_Vector_dx(self):    def test_hex_contact_3D_order2_ReducedFunction_Vector_dx(self):
2454       reference="hex_3D_o1_cell_v.dx"       reference="hex_3D_o1_cell_v.dx"
2455       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
2456       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
2457       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedFunction_Vector.dx"),data=x[0]*[1.,2.,3.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunction_Vector.dx",data=x[0]*[1.,2.,3.])
2458       self.check_dx("hex_contact_3D_order2_ReducedFunction_Vector.dx",reference)       self.check_dx("hex_contact_3D_order2_ReducedFunction_Vector.dx",reference)
2459    def test_hex_contact_3D_order2_ReducedFunction_Tensor_dx(self):    def test_hex_contact_3D_order2_ReducedFunction_Tensor_dx(self):
2460       reference="hex_3D_o1_cell_t.dx"       reference="hex_3D_o1_cell_t.dx"
2461       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
2462       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
2463       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedFunction_Tensor.dx"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunction_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
2464       self.check_dx("hex_contact_3D_order2_ReducedFunction_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order2_ReducedFunction_Tensor.dx",reference)
2465    def test_hex_contact_3D_order2_FunctionOnBoundary_Scalar_dx(self):    def test_hex_contact_3D_order2_FunctionOnBoundary_Scalar_dx(self):
2466       reference="hex_3D_o1_boundary_s.dx"       reference="hex_3D_o1_boundary_s.dx"
2467       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
2468       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
2469       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_FunctionOnBoundary_Scalar.dx"),data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnBoundary_Scalar.dx",data=x[0])
2470       self.check_dx("hex_contact_3D_order2_FunctionOnBoundary_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order2_FunctionOnBoundary_Scalar.dx",reference)
2471    def test_hex_contact_3D_order2_FunctionOnBoundary_Vector_dx(self):    def test_hex_contact_3D_order2_FunctionOnBoundary_Vector_dx(self):
2472       reference="hex_3D_o1_boundary_v.dx"       reference="hex_3D_o1_boundary_v.dx"
2473       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
2474       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
2475       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_FunctionOnBoundary_Vector.dx"),data=x[0]*[1.,2.,3.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnBoundary_Vector.dx",data=x[0]*[1.,2.,3.])
2476       self.check_dx("hex_contact_3D_order2_FunctionOnBoundary_Vector.dx",reference)       self.check_dx("hex_contact_3D_order2_FunctionOnBoundary_Vector.dx",reference)
2477    def test_hex_contact_3D_order2_FunctionOnBoundary_Tensor_dx(self):    def test_hex_contact_3D_order2_FunctionOnBoundary_Tensor_dx(self):
2478       reference="hex_3D_o1_boundary_t.dx"       reference="hex_3D_o1_boundary_t.dx"
2479       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
2480       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
2481       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_FunctionOnBoundary_Tensor.dx"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnBoundary_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
2482       self.check_dx("hex_contact_3D_order2_FunctionOnBoundary_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order2_FunctionOnBoundary_Tensor.dx",reference)
2483    def test_hex_contact_3D_order2_ReducedFunctionOnBoundary_Scalar_dx(self):    def test_hex_contact_3D_order2_ReducedFunctionOnBoundary_Scalar_dx(self):
2484       reference="hex_3D_o1_boundary_s.dx"       reference="hex_3D_o1_boundary_s.dx"
2485       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
2486       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
2487       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedFunctionOnBoundary_Scalar.dx"),data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnBoundary_Scalar.dx",data=x[0])
2488       self.check_dx("hex_contact_3D_order2_ReducedFunctionOnBoundary_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order2_ReducedFunctionOnBoundary_Scalar.dx",reference)
2489    def test_hex_contact_3D_order2_ReducedFunctionOnBoundary_Vector_dx(self):    def test_hex_contact_3D_order2_ReducedFunctionOnBoundary_Vector_dx(self):
2490       reference="hex_3D_o1_boundary_v.dx"       reference="hex_3D_o1_boundary_v.dx"
2491       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
2492       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
2493       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedFunctionOnBoundary_Vector.dx"),data=x[0]*[1.,2.,3.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnBoundary_Vector.dx",data=x[0]*[1.,2.,3.])
2494       self.check_dx("hex_contact_3D_order2_ReducedFunctionOnBoundary_Vector.dx",reference)       self.check_dx("hex_contact_3D_order2_ReducedFunctionOnBoundary_Vector.dx",reference)
2495    def test_hex_contact_3D_order2_ReducedFunctionOnBoundary_Tensor_dx(self):    def test_hex_contact_3D_order2_ReducedFunctionOnBoundary_Tensor_dx(self):
2496       reference="hex_3D_o1_boundary_t.dx"       reference="hex_3D_o1_boundary_t.dx"
2497       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
2498       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
2499       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedFunctionOnBoundary_Tensor.dx"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnBoundary_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
2500       self.check_dx("hex_contact_3D_order2_ReducedFunctionOnBoundary_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order2_ReducedFunctionOnBoundary_Tensor.dx",reference)
2501    
2502    
# Line 2491  if __name__ == '__main__': Line 2505  if __name__ == '__main__':
2505     suite.addTest(unittest.makeSuite(Test_VTKFiles))     suite.addTest(unittest.makeSuite(Test_VTKFiles))
2506     suite.addTest(unittest.makeSuite(Test_DXFiles))     suite.addTest(unittest.makeSuite(Test_DXFiles))
2507     s=unittest.TextTestRunner(verbosity=2).run(suite)     s=unittest.TextTestRunner(verbosity=2).run(suite)
2508     if s.wasSuccessful():     if not s.wasSuccessful(): sys.exit(1)
      sys.exit(0)  
    else:  
      sys.exit(1)  

Legend:
Removed from v.1185  
changed lines
  Added in v.1376

  ViewVC Help
Powered by ViewVC 1.1.26