/[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 1065 by gross, Tue Mar 27 09:04:56 2007 UTC revision 1135 by gross, Wed May 9 01:58:32 2007 UTC
# Line 20  try: Line 20  try:
20  except KeyError:  except KeyError:
21       FINLEY_WORKDIR='.'       FINLEY_WORKDIR='.'
22    
23  FINLEY_TEST_MESH_PATH=FINLEY_TEST_DATA+"/data_meshes/"  FINLEY_TEST_MESH_PATH=os.path.join(FINLEY_TEST_DATA,"data_meshes")
24  if os.name == "nt":  # if os.name == "nt":
25     FINLEY_TEST_MESH_PATH = FINLEY_TEST_MESH_PATH+"win32/"  #   FINLEY_TEST_MESH_PATH = os.path.join(FINLEY_TEST_MESH_PATH,"win32/"
26  FINLEY_WORKDIR_PATH=FINLEY_WORKDIR+"/"  FINLEY_WORKDIR_PATH=FINLEY_WORKDIR
27    
28  class Test_VisualizationInterface(unittest.TestCase):  class Test_VisualizationInterface(unittest.TestCase):
29     def check_vtk(self,f,reference_f):     def check_vtk(self,f,reference_f):
30        out_string=open(FINLEY_WORKDIR_PATH+f).read().splitlines()        out_string=open(os.path.join(FINLEY_WORKDIR_PATH,f)).read().splitlines()
31        ref_string=open(FINLEY_TEST_MESH_PATH+reference_f).read().splitlines()        ref_string=open(os.path.join(FINLEY_TEST_MESH_PATH,reference_f)).read().splitlines()
32        c=0        c=0
33        for l in range(0,len(ref_string)):        for l in range(0,len(ref_string)):
34           if not ref_string[l].strip()[:2]=="<!":           if not ref_string[l].strip()[:2]=="<!":
35             self.failUnlessEqual(out_string[c].strip().replace("e-00","e+00"),ref_string[l].strip(),"line %d (%s) in vtk files does not match reference (%s)"%(c,out_string[c].strip(),ref_string[l].strip()))             line=out_string[c].strip()
36           if os.name == "nt":
37               line=line.replace("e+00","e+0").replace("e-00","e-0")
38           line.replace("e-00","e+00")
39               self.failUnlessEqual(line,ref_string[l].strip(),"line %d (%s) in vtk files does not match reference (%s)"%(c,line,ref_string[l].strip()))
40             c+=1             c+=1
41    
42     def check_dx(self,f,reference_f):     def check_dx(self,f,reference_f):
43        out_string=open(FINLEY_WORKDIR_PATH+f).read().splitlines()        out_string=open(os.path.join(FINLEY_WORKDIR_PATH,f)).read().splitlines()
44        ref_string=open(FINLEY_TEST_MESH_PATH+reference_f).read().splitlines()        ref_string=open(os.path.join(FINLEY_TEST_MESH_PATH,reference_f)).read().splitlines()
45        c=0        c=0
46        for l in range(0,len(ref_string)):        for l in range(0,len(ref_string)):
47           if not ref_string[l].strip()[0]=="#":           if not ref_string[l].strip()[0]=="#":
48             self.failUnlessEqual(out_string[c].strip().replace("e-00","e+00"),ref_string[l].strip(),"line %d (%s) in dx file does not match reference (%s)"%(c,out_string[c].strip(),ref_string[l].strip()))         line=out_string[c].strip()
49           if os.name == "nt":
50               line=line.replace("e+00","e+0").replace("e-00","e-0")
51           line.replace("e-00","e+00")
52               self.failUnlessEqual(line,ref_string[l].strip(),"line %d (%s) in dx file does not match reference (%s)"%(c,line,ref_string[l].strip()))
53             c+=1             c+=1
54    
55  class Test_VTKFiles(Test_VisualizationInterface):  class Test_VTKFiles(Test_VisualizationInterface):
56    # ======================================================================================================================    # ======================================================================================================================
57    def test_hex_2D_order2_vtk(self):    def test_hex_2D_order2_vtk(self):
58       reference="hex_2D_o2.xml"       reference="hex_2D_o2.xml"
59       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_2D_order2.msh"))
60       saveVTK(FINLEY_WORKDIR_PATH+"hex_2D_order2.xml",domain=dom)       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_2D_order2.xml"),domain=dom)
61       self.check_vtk("hex_2D_order2.xml",reference)       self.check_vtk("hex_2D_order2.xml",reference)
62    
63    def test_hex_2D_order2_AllPoints_Scalar_vtk(self):    def test_hex_2D_order2_AllPoints_Scalar_vtk(self):
64       reference="hex_2D_o1_node_3xs.xml"       reference="hex_2D_o1_node_3xs.xml"
65       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_2D_order2.msh"))
66       x=Solution(dom).getX()       x=Solution(dom).getX()
67       x_r=ReducedSolution(dom).getX()       x_r=ReducedSolution(dom).getX()
68       x_n=ContinuousFunction(dom).getX()       x_n=ContinuousFunction(dom).getX()
69       saveVTK(FINLEY_WORKDIR_PATH+"hex_2D_order2_AllPoints_Scalar.xml",data_r=x_r[0],data_n=x_n[0],data=x[0])       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])
70       self.check_vtk("hex_2D_order2_AllPoints_Scalar.xml",reference)       self.check_vtk("hex_2D_order2_AllPoints_Scalar.xml",reference)
71    def test_hex_2D_order2_02Points_Scalar_vtk(self):    def test_hex_2D_order2_02Points_Scalar_vtk(self):
72       reference="hex_2D_o2_node_2xs.xml"       reference="hex_2D_o2_node_2xs.xml"
73       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_2D_order2.msh"))
74       x=Solution(dom).getX()       x=Solution(dom).getX()
75       x_n=ContinuousFunction(dom).getX()       x_n=ContinuousFunction(dom).getX()
76       saveVTK(FINLEY_WORKDIR_PATH+"hex_2D_order2_O2Points_Scalar.xml",data_n=x_n[0],data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_2D_order2_O2Points_Scalar.xml"),data_n=x_n[0],data=x[0])
77       self.check_vtk("hex_2D_order2_O2Points_Scalar.xml",reference)       self.check_vtk("hex_2D_order2_O2Points_Scalar.xml",reference)
78    def test_hex_2D_order2_2Cells_Scalar_vtk(self):    def test_hex_2D_order2_2Cells_Scalar_vtk(self):
79       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_2D_order2.msh"))
80       x=Function(dom).getX()       x=Function(dom).getX()
81       x_b=FunctionOnBoundary(dom).getX()       x_b=FunctionOnBoundary(dom).getX()
82       try:       try:
83          saveVTK(FINLEY_WORKDIR_PATH+"hex_2D_order2_2Cells_Scalar.xml",data=x[0],data_b=x_b[0])          saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_2D_order2_2Cells_Scalar.xml"),data=x[0],data_b=x_b[0])
84          self.fail("non-matching data not detected.")          self.fail("non-matching data not detected.")
85       except StandardError:       except StandardError:
86          pass          pass
87    def test_hex_2D_order2_BoundaryPoint_Scalar_vtk(self):    def test_hex_2D_order2_BoundaryPoint_Scalar_vtk(self):
88       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_2D_order2.msh"))
89       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
90       x_b=FunctionOnBoundary(dom).getX()       x_b=FunctionOnBoundary(dom).getX()
91       try:       try:
92          saveVTK(FINLEY_WORKDIR_PATH+"hex_2D_order2_BoundaryPoint_Scalar.xml",data=x[0],data_b=x_b[0])          saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_2D_order2_BoundaryPoint_Scalar.xml"),data=x[0],data_b=x_b[0])
93          self.fail("non-matching data not detected.")          self.fail("non-matching data not detected.")
94       except StandardError:       except StandardError:
95          pass          pass
96    def test_hex_2D_order2_Cells_AllData_vtk(self):    def test_hex_2D_order2_Cells_AllData_vtk(self):
97       reference="hex_2D_o2_cell_all.xml"       reference="hex_2D_o2_cell_all.xml"
98       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_2D_order2.msh"))
99       x=Function(dom).getX()       x=Function(dom).getX()
100       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.]])       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.]])
101       self.check_vtk("hex_2D_order2_Cells_AllData.xml",reference)       self.check_vtk("hex_2D_order2_Cells_AllData.xml",reference)
102    
103    def test_hex_2D_order2_CellsPoints_AllData_vtk(self):    def test_hex_2D_order2_CellsPoints_AllData_vtk(self):
104       reference="hex_2D_o2_cellnode_all.xml"       reference="hex_2D_o2_cellnode_all.xml"
105       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_2D_order2.msh"))
106       x_c=Function(dom).getX()       x_c=Function(dom).getX()
107       x_p=ContinuousFunction(dom).getX()       x_p=ContinuousFunction(dom).getX()
108       saveVTK(FINLEY_WORKDIR_PATH+"hex_2D_order2_CellsPoints_AllData.xml",data_sp=x_p[0],       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_2D_order2_CellsPoints_AllData.xml"),data_sp=x_p[0],
109                                                       data_vp=x_p[0]*[1.,2.],                                                       data_vp=x_p[0]*[1.,2.],
110                                                       data_tp=x_p[0]*[[11.,12.],[21.,22.]],                                                       data_tp=x_p[0]*[[11.,12.],[21.,22.]],
111                                                       data_sc=x_c[0],                                                       data_sc=x_c[0],
# Line 107  class Test_VTKFiles(Test_VisualizationIn Line 115  class Test_VTKFiles(Test_VisualizationIn
115    # ======================================================================================================================    # ======================================================================================================================
116    def test_hex_contact_2D_order1_ContinuousFunction_Scalar_vtk(self):    def test_hex_contact_2D_order1_ContinuousFunction_Scalar_vtk(self):
117       reference="hex_2D_o1_node_s.xml"       reference="hex_2D_o1_node_s.xml"
118       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
119       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
120       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ContinuousFunction_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ContinuousFunction_Scalar.xml"),data=x[0])
121       self.check_vtk("hex_contact_2D_order1_ContinuousFunction_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_ContinuousFunction_Scalar.xml",reference)
122    def test_hex_contact_2D_order1_ContinuousFunction_Vector_vtk(self):    def test_hex_contact_2D_order1_ContinuousFunction_Vector_vtk(self):
123       reference="hex_2D_o1_node_v.xml"       reference="hex_2D_o1_node_v.xml"
124       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
125       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
126       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ContinuousFunction_Vector.xml",data=x[0]*[1.,2.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ContinuousFunction_Vector.xml"),data=x[0]*[1.,2.])
127       self.check_vtk("hex_contact_2D_order1_ContinuousFunction_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_ContinuousFunction_Vector.xml",reference)
128    def test_hex_contact_2D_order1_ContinuousFunction_Tensor_vtk(self):    def test_hex_contact_2D_order1_ContinuousFunction_Tensor_vtk(self):
129       reference="hex_2D_o1_node_t.xml"       reference="hex_2D_o1_node_t.xml"
130       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
131       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
132       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ContinuousFunction_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ContinuousFunction_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
133       self.check_vtk("hex_contact_2D_order1_ContinuousFunction_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_ContinuousFunction_Tensor.xml",reference)
134    def test_hex_contact_2D_order1_Solution_Scalar_vtk(self):    def test_hex_contact_2D_order1_Solution_Scalar_vtk(self):
135       reference="hex_2D_o1_node_s.xml"       reference="hex_2D_o1_node_s.xml"
136       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
137       x=Solution(dom).getX()       x=Solution(dom).getX()
138       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Solution_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_Solution_Scalar.xml"),data=x[0])
139       self.check_vtk("hex_contact_2D_order1_Solution_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_Solution_Scalar.xml",reference)
140    def test_hex_contact_2D_order1_Solution_Vector_vtk(self):    def test_hex_contact_2D_order1_Solution_Vector_vtk(self):
141       reference="hex_2D_o1_node_v.xml"       reference="hex_2D_o1_node_v.xml"
142       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
143       x=Solution(dom).getX()       x=Solution(dom).getX()
144       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Solution_Vector.xml",data=x[0]*[1.,2.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_Solution_Vector.xml"),data=x[0]*[1.,2.])
145       self.check_vtk("hex_contact_2D_order1_Solution_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_Solution_Vector.xml",reference)
146    def test_hex_contact_2D_order1_Solution_Tensor_vtk(self):    def test_hex_contact_2D_order1_Solution_Tensor_vtk(self):
147       reference="hex_2D_o1_node_t.xml"       reference="hex_2D_o1_node_t.xml"
148       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
149       x=Solution(dom).getX()       x=Solution(dom).getX()
150       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Solution_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_Solution_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
151       self.check_vtk("hex_contact_2D_order1_Solution_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_Solution_Tensor.xml",reference)
152    def test_hex_contact_2D_order1_ReducedSolution_Scalar_vtk(self):    def test_hex_contact_2D_order1_ReducedSolution_Scalar_vtk(self):
153       reference="hex_2D_o1_node_s.xml"       reference="hex_2D_o1_node_s.xml"
154       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
155       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
156       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedSolution_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedSolution_Scalar.xml"),data=x[0])
157       self.check_vtk("hex_contact_2D_order1_ReducedSolution_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedSolution_Scalar.xml",reference)
158    def test_hex_contact_2D_order1_ReducedSolution_Vector_vtk(self):    def test_hex_contact_2D_order1_ReducedSolution_Vector_vtk(self):
159       reference="hex_2D_o1_node_v.xml"       reference="hex_2D_o1_node_v.xml"
160       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
161       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
162       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedSolution_Vector.xml",data=x[0]*[1.,2.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedSolution_Vector.xml"),data=x[0]*[1.,2.])
163       self.check_vtk("hex_contact_2D_order1_ReducedSolution_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedSolution_Vector.xml",reference)
164    def test_hex_contact_2D_order1_ReducedSolution_Tensor_vtk(self):    def test_hex_contact_2D_order1_ReducedSolution_Tensor_vtk(self):
165       reference="hex_2D_o1_node_t.xml"       reference="hex_2D_o1_node_t.xml"
166       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
167       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
168       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedSolution_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedSolution_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
169       self.check_vtk("hex_contact_2D_order1_ReducedSolution_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedSolution_Tensor.xml",reference)
170    def test_hex_contact_2D_order1_Function_Scalar_vtk(self):    def test_hex_contact_2D_order1_Function_Scalar_vtk(self):
171       reference="hex_2D_o1_cell_s.xml"       reference="hex_2D_o1_cell_s.xml"
172       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
173       x=Function(dom).getX()       x=Function(dom).getX()
174       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Function_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_Function_Scalar.xml"),data=x[0])
175       self.check_vtk("hex_contact_2D_order1_Function_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_Function_Scalar.xml",reference)
176    def test_hex_contact_2D_order1_Function_Vector_vtk(self):    def test_hex_contact_2D_order1_Function_Vector_vtk(self):
177       reference="hex_2D_o1_cell_v.xml"       reference="hex_2D_o1_cell_v.xml"
178       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
179       x=Function(dom).getX()       x=Function(dom).getX()
180       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Function_Vector.xml",data=x[0]*[1.,2.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_Function_Vector.xml"),data=x[0]*[1.,2.])
181       self.check_vtk("hex_contact_2D_order1_Function_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_Function_Vector.xml",reference)
182    def test_hex_contact_2D_order1_Function_Tensor_vtk(self):    def test_hex_contact_2D_order1_Function_Tensor_vtk(self):
183       reference="hex_2D_o1_cell_t.xml"       reference="hex_2D_o1_cell_t.xml"
184       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
185       x=Function(dom).getX()       x=Function(dom).getX()
186       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Function_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_Function_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
187       self.check_vtk("hex_contact_2D_order1_Function_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_Function_Tensor.xml",reference)
188    def test_hex_contact_2D_order1_ReducedFunction_Scalar_vtk(self):    def test_hex_contact_2D_order1_ReducedFunction_Scalar_vtk(self):
189       reference="hex_2D_o1_cell_s.xml"       reference="hex_2D_o1_cell_s.xml"
190       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
191       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
192       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunction_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedFunction_Scalar.xml"),data=x[0])
193       self.check_vtk("hex_contact_2D_order1_ReducedFunction_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedFunction_Scalar.xml",reference)
194    def test_hex_contact_2D_order1_ReducedFunction_Vector_vtk(self):    def test_hex_contact_2D_order1_ReducedFunction_Vector_vtk(self):
195       reference="hex_2D_o1_cell_v.xml"       reference="hex_2D_o1_cell_v.xml"
196       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
197       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
198       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunction_Vector.xml",data=x[0]*[1.,2.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedFunction_Vector.xml"),data=x[0]*[1.,2.])
199       self.check_vtk("hex_contact_2D_order1_ReducedFunction_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedFunction_Vector.xml",reference)
200    def test_hex_contact_2D_order1_ReducedFunction_Tensor_vtk(self):    def test_hex_contact_2D_order1_ReducedFunction_Tensor_vtk(self):
201       reference="hex_2D_o1_cell_t.xml"       reference="hex_2D_o1_cell_t.xml"
202       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
203       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
204       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunction_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedFunction_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
205       self.check_vtk("hex_contact_2D_order1_ReducedFunction_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedFunction_Tensor.xml",reference)
206    def test_hex_contact_2D_order1_FunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_2D_order1_FunctionOnBoundary_Scalar_vtk(self):
207       reference="hex_2D_o1_boundary_s.xml"       reference="hex_2D_o1_boundary_s.xml"
208       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
209       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
210       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnBoundary_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_FunctionOnBoundary_Scalar.xml"),data=x[0])
211       self.check_vtk("hex_contact_2D_order1_FunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_FunctionOnBoundary_Scalar.xml",reference)
212    def test_hex_contact_2D_order1_FunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_2D_order1_FunctionOnBoundary_Vector_vtk(self):
213       reference="hex_2D_o1_boundary_v.xml"       reference="hex_2D_o1_boundary_v.xml"
214       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
215       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
216       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_FunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.])
217       self.check_vtk("hex_contact_2D_order1_FunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_FunctionOnBoundary_Vector.xml",reference)
218    def test_hex_contact_2D_order1_FunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_2D_order1_FunctionOnBoundary_Tensor_vtk(self):
219       reference="hex_2D_o1_boundary_t.xml"       reference="hex_2D_o1_boundary_t.xml"
220       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
221       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
222       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_FunctionOnBoundary_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
223       self.check_vtk("hex_contact_2D_order1_FunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_FunctionOnBoundary_Tensor.xml",reference)
224    def test_hex_contact_2D_order1_ReducedFunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_2D_order1_ReducedFunctionOnBoundary_Scalar_vtk(self):
225       reference="hex_2D_o1_boundary_s.xml"       reference="hex_2D_o1_boundary_s.xml"
226       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
227       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
228       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnBoundary_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedFunctionOnBoundary_Scalar.xml"),data=x[0])
229       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnBoundary_Scalar.xml",reference)
230    def test_hex_contact_2D_order1_ReducedFunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_2D_order1_ReducedFunctionOnBoundary_Vector_vtk(self):
231       reference="hex_2D_o1_boundary_v.xml"       reference="hex_2D_o1_boundary_v.xml"
232       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
233       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
234       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedFunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.])
235       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnBoundary_Vector.xml",reference)
236    def test_hex_contact_2D_order1_ReducedFunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_2D_order1_ReducedFunctionOnBoundary_Tensor_vtk(self):
237       reference="hex_2D_o1_boundary_t.xml"       reference="hex_2D_o1_boundary_t.xml"
238       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
239       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
240       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedFunctionOnBoundary_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
241       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnBoundary_Tensor.xml",reference)
242    def test_hex_contact_2D_order1_onFace_FunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_2D_order1_onFace_FunctionOnBoundary_Scalar_vtk(self):
243       reference="hex_2D_o1_f_boundary_s.xml"       reference="hex_2D_o1_f_boundary_s.xml"
244       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1_onFace.msh"))
245       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
246       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_FunctionOnBoundary_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_onFace_FunctionOnBoundary_Scalar.xml"),data=x[0])
247       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnBoundary_Scalar.xml",reference)
248    def test_hex_contact_2D_order1_onFace_FunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_2D_order1_onFace_FunctionOnBoundary_Vector_vtk(self):
249       reference="hex_2D_o1_f_boundary_v.xml"       reference="hex_2D_o1_f_boundary_v.xml"
250       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1_onFace.msh"))
251       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
252       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_FunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_onFace_FunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.])
253       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnBoundary_Vector.xml",reference)
254    def test_hex_contact_2D_order1_onFace_FunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_2D_order1_onFace_FunctionOnBoundary_Tensor_vtk(self):
255       reference="hex_2D_o1_f_boundary_t.xml"       reference="hex_2D_o1_f_boundary_t.xml"
256       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1_onFace.msh"))
257       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
258       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_FunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_onFace_FunctionOnBoundary_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
259       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnBoundary_Tensor.xml",reference)
260    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Scalar_vtk(self):
261       reference="hex_2D_o1_f_boundary_s.xml"       reference="hex_2D_o1_f_boundary_s.xml"
262       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1_onFace.msh"))
263       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
264       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Scalar.xml"),data=x[0])
265       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Scalar.xml",reference)
266    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Vector_vtk(self):
267       reference="hex_2D_o1_f_boundary_v.xml"       reference="hex_2D_o1_f_boundary_v.xml"
268       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1_onFace.msh"))
269       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
270       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.])
271       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Vector.xml",reference)
272    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Tensor_vtk(self):
273       reference="hex_2D_o1_f_boundary_t.xml"       reference="hex_2D_o1_f_boundary_t.xml"
274       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1_onFace.msh"))
275       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
276       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
277       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Tensor.xml",reference)
278    def test_hex_contact_2D_order1_FunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_2D_order1_FunctionOnContactZero_Scalar_vtk(self):
279       reference="hex_2D_o1_contact_s.xml"       reference="hex_2D_o1_contact_s.xml"
280       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
281       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
282       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnContactZero_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_FunctionOnContactZero_Scalar.xml"),data=x[0])
283       self.check_vtk("hex_contact_2D_order1_FunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_FunctionOnContactZero_Scalar.xml",reference)
284    def test_hex_contact_2D_order1_FunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_2D_order1_FunctionOnContactZero_Vector_vtk(self):
285       reference="hex_2D_o1_contact_v.xml"       reference="hex_2D_o1_contact_v.xml"
286       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
287       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
288       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_FunctionOnContactZero_Vector.xml"),data=x[0]*[1.,2.])
289       self.check_vtk("hex_contact_2D_order1_FunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_FunctionOnContactZero_Vector.xml",reference)
290    def test_hex_contact_2D_order1_FunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_2D_order1_FunctionOnContactZero_Tensor_vtk(self):
291       reference="hex_2D_o1_contact_t.xml"       reference="hex_2D_o1_contact_t.xml"
292       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
293       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
294       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_FunctionOnContactZero_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
295       self.check_vtk("hex_contact_2D_order1_FunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_FunctionOnContactZero_Tensor.xml",reference)
296    def test_hex_contact_2D_order1_ReducedFunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_2D_order1_ReducedFunctionOnContactZero_Scalar_vtk(self):
297       reference="hex_2D_o1_contact_s.xml"       reference="hex_2D_o1_contact_s.xml"
298       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
299       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
300       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnContactZero_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedFunctionOnContactZero_Scalar.xml"),data=x[0])
301       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnContactZero_Scalar.xml",reference)
302    def test_hex_contact_2D_order1_ReducedFunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_2D_order1_ReducedFunctionOnContactZero_Vector_vtk(self):
303       reference="hex_2D_o1_contact_v.xml"       reference="hex_2D_o1_contact_v.xml"
304       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
305       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
306       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedFunctionOnContactZero_Vector.xml"),data=x[0]*[1.,2.])
307       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnContactZero_Vector.xml",reference)
308    def test_hex_contact_2D_order1_ReducedFunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_2D_order1_ReducedFunctionOnContactZero_Tensor_vtk(self):
309       reference="hex_2D_o1_contact_t.xml"       reference="hex_2D_o1_contact_t.xml"
310       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
311       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
312       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedFunctionOnContactZero_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
313       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnContactZero_Tensor.xml",reference)
314    def test_hex_contact_2D_order1_onFace_FunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_2D_order1_onFace_FunctionOnContactZero_Scalar_vtk(self):
315       reference="hex_2D_o1_contact_s.xml"       reference="hex_2D_o1_contact_s.xml"
316       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1_onFace.msh"))
317       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
318       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_FunctionOnContactZero_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_onFace_FunctionOnContactZero_Scalar.xml"),data=x[0])
319       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnContactZero_Scalar.xml",reference)
320    def test_hex_contact_2D_order1_onFace_FunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_2D_order1_onFace_FunctionOnContactZero_Vector_vtk(self):
321       reference="hex_2D_o1_contact_v.xml"       reference="hex_2D_o1_contact_v.xml"
322       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1_onFace.msh"))
323       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
324       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_FunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_onFace_FunctionOnContactZero_Vector.xml"),data=x[0]*[1.,2.])
325       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnContactZero_Vector.xml",reference)
326    def test_hex_contact_2D_order1_onFace_FunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_2D_order1_onFace_FunctionOnContactZero_Tensor_vtk(self):
327       reference="hex_2D_o1_contact_t.xml"       reference="hex_2D_o1_contact_t.xml"
328       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1_onFace.msh"))
329       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
330       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_FunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_onFace_FunctionOnContactZero_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
331       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnContactZero_Tensor.xml",reference)
332    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Scalar_vtk(self):
333       reference="hex_2D_o1_contact_s.xml"       reference="hex_2D_o1_contact_s.xml"
334       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1_onFace.msh"))
335       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
336       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Scalar.xml"),data=x[0])
337       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Scalar.xml",reference)
338    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Vector_vtk(self):
339       reference="hex_2D_o1_contact_v.xml"       reference="hex_2D_o1_contact_v.xml"
340       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1_onFace.msh"))
341       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
342       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Vector.xml"),data=x[0]*[1.,2.])
343       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Vector.xml",reference)
344    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Tensor_vtk(self):
345       reference="hex_2D_o1_contact_t.xml"       reference="hex_2D_o1_contact_t.xml"
346       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1_onFace.msh"))
347       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
348       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
349       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Tensor.xml",reference)
350    def test_hex_contact_2D_order1_FunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_2D_order1_FunctionOnContactOne_Scalar_vtk(self):
351       reference="hex_2D_o1_contact_s.xml"       reference="hex_2D_o1_contact_s.xml"
352       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
353       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
354       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnContactOne_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_FunctionOnContactOne_Scalar.xml"),data=x[0])
355       self.check_vtk("hex_contact_2D_order1_FunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_FunctionOnContactOne_Scalar.xml",reference)
356    def test_hex_contact_2D_order1_FunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_2D_order1_FunctionOnContactOne_Vector_vtk(self):
357       reference="hex_2D_o1_contact_v.xml"       reference="hex_2D_o1_contact_v.xml"
358       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
359       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
360       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_FunctionOnContactOne_Vector.xml"),data=x[0]*[1.,2.])
361       self.check_vtk("hex_contact_2D_order1_FunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_FunctionOnContactOne_Vector.xml",reference)
362    def test_hex_contact_2D_order1_FunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_2D_order1_FunctionOnContactOne_Tensor_vtk(self):
363       reference="hex_2D_o1_contact_t.xml"       reference="hex_2D_o1_contact_t.xml"
364       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
365       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
366       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_FunctionOnContactOne_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
367       self.check_vtk("hex_contact_2D_order1_FunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_FunctionOnContactOne_Tensor.xml",reference)
368    def test_hex_contact_2D_order1_ReducedFunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_2D_order1_ReducedFunctionOnContactOne_Scalar_vtk(self):
369       reference="hex_2D_o1_contact_s.xml"       reference="hex_2D_o1_contact_s.xml"
370       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
371       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
372       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnContactOne_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedFunctionOnContactOne_Scalar.xml"),data=x[0])
373       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnContactOne_Scalar.xml",reference)
374    def test_hex_contact_2D_order1_ReducedFunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_2D_order1_ReducedFunctionOnContactOne_Vector_vtk(self):
375       reference="hex_2D_o1_contact_v.xml"       reference="hex_2D_o1_contact_v.xml"
376       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
377       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
378       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedFunctionOnContactOne_Vector.xml"),data=x[0]*[1.,2.])
379       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnContactOne_Vector.xml",reference)
380    def test_hex_contact_2D_order1_ReducedFunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_2D_order1_ReducedFunctionOnContactOne_Tensor_vtk(self):
381       reference="hex_2D_o1_contact_t.xml"       reference="hex_2D_o1_contact_t.xml"
382       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
383       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
384       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedFunctionOnContactOne_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
385       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnContactOne_Tensor.xml",reference)
386    def test_hex_contact_2D_order1_onFace_FunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_2D_order1_onFace_FunctionOnContactOne_Scalar_vtk(self):
387       reference="hex_2D_o1_contact_s.xml"       reference="hex_2D_o1_contact_s.xml"
388       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1_onFace.msh"))
389       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
390       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_FunctionOnContactOne_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_onFace_FunctionOnContactOne_Scalar.xml"),data=x[0])
391       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnContactOne_Scalar.xml",reference)
392    def test_hex_contact_2D_order1_onFace_FunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_2D_order1_onFace_FunctionOnContactOne_Vector_vtk(self):
393       reference="hex_2D_o1_contact_v.xml"       reference="hex_2D_o1_contact_v.xml"
394       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1_onFace.msh"))
395       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
396       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_FunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_onFace_FunctionOnContactOne_Vector.xml"),data=x[0]*[1.,2.])
397       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnContactOne_Vector.xml",reference)
398    def test_hex_contact_2D_order1_onFace_FunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_2D_order1_onFace_FunctionOnContactOne_Tensor_vtk(self):
399       reference="hex_2D_o1_contact_t.xml"       reference="hex_2D_o1_contact_t.xml"
400       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1_onFace.msh"))
401       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
402       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_FunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_onFace_FunctionOnContactOne_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
403       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Tensor.xml",reference)
404    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Scalar_vtk(self):
405      reference="hex_2D_o1_contact_s.xml"      reference="hex_2D_o1_contact_s.xml"
406      dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh")      dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1_onFace.msh"))
407      x=ReducedFunctionOnContactOne(dom).getX()      x=ReducedFunctionOnContactOne(dom).getX()
408      saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Scalar.xml",data=x[0])      saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Scalar.xml"),data=x[0])
409      self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Scalar.xml",reference)      self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Scalar.xml",reference)
410    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Vector_vtk(self):
411      reference="hex_2D_o1_contact_v.xml"      reference="hex_2D_o1_contact_v.xml"
412      dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh")      dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1_onFace.msh"))
413      x=ReducedFunctionOnContactOne(dom).getX()      x=ReducedFunctionOnContactOne(dom).getX()
414      saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.])      saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Vector.xml"),data=x[0]*[1.,2.])
415      self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Vector.xml",reference)      self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Vector.xml",reference)
416    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Tensor_vtk(self):
417      reference="hex_2D_o1_contact_t.xml"      reference="hex_2D_o1_contact_t.xml"
418      dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh")      dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1_onFace.msh"))
419      x=ReducedFunctionOnContactOne(dom).getX()      x=ReducedFunctionOnContactOne(dom).getX()
420      saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])      saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
421      self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Tensor.xml",reference)      self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Tensor.xml",reference)
422    # ======================================================================================================================    # ======================================================================================================================
423    def test_hex_contact_2D_order2_ContinuousFunction_Scalar_vtk(self):    def test_hex_contact_2D_order2_ContinuousFunction_Scalar_vtk(self):
424       reference="hex_2D_o2_node_s.xml"       reference="hex_2D_o2_node_s.xml"
425       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
426       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
427       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ContinuousFunction_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ContinuousFunction_Scalar.xml"),data=x[0])
428       self.check_vtk("hex_contact_2D_order2_ContinuousFunction_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_ContinuousFunction_Scalar.xml",reference)
429    def test_hex_contact_2D_order2_ContinuousFunction_Vector_vtk(self):    def test_hex_contact_2D_order2_ContinuousFunction_Vector_vtk(self):
430       reference="hex_2D_o2_node_v.xml"       reference="hex_2D_o2_node_v.xml"
431       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
432       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
433       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ContinuousFunction_Vector.xml",data=x[0]*[1.,2.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ContinuousFunction_Vector.xml"),data=x[0]*[1.,2.])
434       self.check_vtk("hex_contact_2D_order2_ContinuousFunction_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_ContinuousFunction_Vector.xml",reference)
435    def test_hex_contact_2D_order2_ContinuousFunction_Tensor_vtk(self):    def test_hex_contact_2D_order2_ContinuousFunction_Tensor_vtk(self):
436       reference="hex_2D_o2_node_t.xml"       reference="hex_2D_o2_node_t.xml"
437       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
438       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
439       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ContinuousFunction_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ContinuousFunction_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
440       self.check_vtk("hex_contact_2D_order2_ContinuousFunction_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_ContinuousFunction_Tensor.xml",reference)
441    def test_hex_contact_2D_order2_Solution_Scalar_vtk(self):    def test_hex_contact_2D_order2_Solution_Scalar_vtk(self):
442       reference="hex_2D_o2_node_s.xml"       reference="hex_2D_o2_node_s.xml"
443       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
444       x=Solution(dom).getX()       x=Solution(dom).getX()
445       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Solution_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_Solution_Scalar.xml"),data=x[0])
446       self.check_vtk("hex_contact_2D_order2_Solution_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_Solution_Scalar.xml",reference)
447    def test_hex_contact_2D_order2_Solution_Vector_vtk(self):    def test_hex_contact_2D_order2_Solution_Vector_vtk(self):
448       reference="hex_2D_o2_node_v.xml"       reference="hex_2D_o2_node_v.xml"
449       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
450       x=Solution(dom).getX()       x=Solution(dom).getX()
451       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Solution_Vector.xml",data=x[0]*[1.,2.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_Solution_Vector.xml"),data=x[0]*[1.,2.])
452       self.check_vtk("hex_contact_2D_order2_Solution_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_Solution_Vector.xml",reference)
453    def test_hex_contact_2D_order2_Solution_Tensor_vtk(self):    def test_hex_contact_2D_order2_Solution_Tensor_vtk(self):
454       reference="hex_2D_o2_node_t.xml"       reference="hex_2D_o2_node_t.xml"
455       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
456       x=Solution(dom).getX()       x=Solution(dom).getX()
457       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Solution_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_Solution_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
458       self.check_vtk("hex_contact_2D_order2_Solution_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_Solution_Tensor.xml",reference)
459    def test_hex_contact_2D_order2_ReducedSolution_Scalar_vtk(self):    def test_hex_contact_2D_order2_ReducedSolution_Scalar_vtk(self):
460       reference="hex_2D_o1_node_s.xml"       reference="hex_2D_o1_node_s.xml"
461       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
462       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
463       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedSolution_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedSolution_Scalar.xml"),data=x[0])
464       self.check_vtk("hex_contact_2D_order2_ReducedSolution_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedSolution_Scalar.xml",reference)
465    def test_hex_contact_2D_order2_ReducedSolution_Vector_vtk(self):    def test_hex_contact_2D_order2_ReducedSolution_Vector_vtk(self):
466       reference="hex_2D_o1_node_v.xml"       reference="hex_2D_o1_node_v.xml"
467       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
468       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
469       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedSolution_Vector.xml",data=x[0]*[1.,2.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedSolution_Vector.xml"),data=x[0]*[1.,2.])
470       self.check_vtk("hex_contact_2D_order2_ReducedSolution_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedSolution_Vector.xml",reference)
471    def test_hex_contact_2D_order2_ReducedSolution_Tensor_vtk(self):    def test_hex_contact_2D_order2_ReducedSolution_Tensor_vtk(self):
472       reference="hex_2D_o1_node_t.xml"       reference="hex_2D_o1_node_t.xml"
473       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
474       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
475       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedSolution_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedSolution_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
476       self.check_vtk("hex_contact_2D_order2_ReducedSolution_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedSolution_Tensor.xml",reference)
477    def test_hex_contact_2D_order2_Function_Scalar_vtk(self):    def test_hex_contact_2D_order2_Function_Scalar_vtk(self):
478       reference="hex_2D_o2_cell_s.xml"       reference="hex_2D_o2_cell_s.xml"
479       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
480       x=Function(dom).getX()       x=Function(dom).getX()
481       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Function_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_Function_Scalar.xml"),data=x[0])
482       self.check_vtk("hex_contact_2D_order2_Function_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_Function_Scalar.xml",reference)
483    def test_hex_contact_2D_order2_Function_Vector_vtk(self):    def test_hex_contact_2D_order2_Function_Vector_vtk(self):
484       reference="hex_2D_o2_cell_v.xml"       reference="hex_2D_o2_cell_v.xml"
485       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
486       x=Function(dom).getX()       x=Function(dom).getX()
487       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Function_Vector.xml",data=x[0]*[1.,2.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_Function_Vector.xml"),data=x[0]*[1.,2.])
488       self.check_vtk("hex_contact_2D_order2_Function_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_Function_Vector.xml",reference)
489    def test_hex_contact_2D_order2_Function_Tensor_vtk(self):    def test_hex_contact_2D_order2_Function_Tensor_vtk(self):
490       reference="hex_2D_o2_cell_t.xml"       reference="hex_2D_o2_cell_t.xml"
491       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
492       x=Function(dom).getX()       x=Function(dom).getX()
493       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Function_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_Function_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
494       self.check_vtk("hex_contact_2D_order2_Function_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_Function_Tensor.xml",reference)
495    def test_hex_contact_2D_order2_ReducedFunction_Scalar_vtk(self):    def test_hex_contact_2D_order2_ReducedFunction_Scalar_vtk(self):
496       reference="hex_2D_o2_cell_s.xml"       reference="hex_2D_o2_cell_s.xml"
497       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
498       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
499       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunction_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedFunction_Scalar.xml"),data=x[0])
500       self.check_vtk("hex_contact_2D_order2_ReducedFunction_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedFunction_Scalar.xml",reference)
501    def test_hex_contact_2D_order2_ReducedFunction_Vector_vtk(self):    def test_hex_contact_2D_order2_ReducedFunction_Vector_vtk(self):
502       reference="hex_2D_o2_cell_v.xml"       reference="hex_2D_o2_cell_v.xml"
503       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
504       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
505       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunction_Vector.xml",data=x[0]*[1.,2.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedFunction_Vector.xml"),data=x[0]*[1.,2.])
506       self.check_vtk("hex_contact_2D_order2_ReducedFunction_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedFunction_Vector.xml",reference)
507    def test_hex_contact_2D_order2_ReducedFunction_Tensor_vtk(self):    def test_hex_contact_2D_order2_ReducedFunction_Tensor_vtk(self):
508       reference="hex_2D_o2_cell_t.xml"       reference="hex_2D_o2_cell_t.xml"
509       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
510       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
511       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunction_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedFunction_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
512       self.check_vtk("hex_contact_2D_order2_ReducedFunction_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedFunction_Tensor.xml",reference)
513    def test_hex_contact_2D_order2_FunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_2D_order2_FunctionOnBoundary_Scalar_vtk(self):
514       reference="hex_2D_o2_boundary_s.xml"       reference="hex_2D_o2_boundary_s.xml"
515       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
516       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
517       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnBoundary_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_FunctionOnBoundary_Scalar.xml"),data=x[0])
518       self.check_vtk("hex_contact_2D_order2_FunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_FunctionOnBoundary_Scalar.xml",reference)
519    def test_hex_contact_2D_order2_FunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_2D_order2_FunctionOnBoundary_Vector_vtk(self):
520       reference="hex_2D_o2_boundary_v.xml"       reference="hex_2D_o2_boundary_v.xml"
521       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
522       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
523       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_FunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.])
524       self.check_vtk("hex_contact_2D_order2_FunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_FunctionOnBoundary_Vector.xml",reference)
525    def test_hex_contact_2D_order2_FunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_2D_order2_FunctionOnBoundary_Tensor_vtk(self):
526       reference="hex_2D_o2_boundary_t.xml"       reference="hex_2D_o2_boundary_t.xml"
527       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
528       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
529       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_FunctionOnBoundary_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
530       self.check_vtk("hex_contact_2D_order2_FunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_FunctionOnBoundary_Tensor.xml",reference)
531    def test_hex_contact_2D_order2_ReducedFunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_2D_order2_ReducedFunctionOnBoundary_Scalar_vtk(self):
532       reference="hex_2D_o2_boundary_s.xml"       reference="hex_2D_o2_boundary_s.xml"
533       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
534       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
535       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnBoundary_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedFunctionOnBoundary_Scalar.xml"),data=x[0])
536       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnBoundary_Scalar.xml",reference)
537    def test_hex_contact_2D_order2_ReducedFunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_2D_order2_ReducedFunctionOnBoundary_Vector_vtk(self):
538       reference="hex_2D_o2_boundary_v.xml"       reference="hex_2D_o2_boundary_v.xml"
539       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
540       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
541       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedFunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.])
542       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnBoundary_Vector.xml",reference)
543    def test_hex_contact_2D_order2_ReducedFunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_2D_order2_ReducedFunctionOnBoundary_Tensor_vtk(self):
544       reference="hex_2D_o2_boundary_t.xml"       reference="hex_2D_o2_boundary_t.xml"
545       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
546       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
547       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedFunctionOnBoundary_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
548       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnBoundary_Tensor.xml",reference)
549    def test_hex_contact_2D_order2_onFace_FunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_2D_order2_onFace_FunctionOnBoundary_Scalar_vtk(self):
550       reference="hex_2D_o2_f_boundary_s.xml"       reference="hex_2D_o2_f_boundary_s.xml"
551       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2_onFace.msh"))
552       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
553       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_FunctionOnBoundary_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_onFace_FunctionOnBoundary_Scalar.xml"),data=x[0])
554       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnBoundary_Scalar.xml",reference)
555    def test_hex_contact_2D_order2_onFace_FunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_2D_order2_onFace_FunctionOnBoundary_Vector_vtk(self):
556       reference="hex_2D_o2_f_boundary_v.xml"       reference="hex_2D_o2_f_boundary_v.xml"
557       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2_onFace.msh"))
558       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
559       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_FunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_onFace_FunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.])
560       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnBoundary_Vector.xml",reference)
561    def test_hex_contact_2D_order2_onFace_FunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_2D_order2_onFace_FunctionOnBoundary_Tensor_vtk(self):
562       reference="hex_2D_o2_f_boundary_t.xml"       reference="hex_2D_o2_f_boundary_t.xml"
563       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2_onFace.msh"))
564       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
565       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_FunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_onFace_FunctionOnBoundary_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
566       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnBoundary_Tensor.xml",reference)
567    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Scalar_vtk(self):
568       reference="hex_2D_o2_f_boundary_s.xml"       reference="hex_2D_o2_f_boundary_s.xml"
569       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2_onFace.msh"))
570       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
571       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Scalar.xml"),data=x[0])
572       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Scalar.xml",reference)
573    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Vector_vtk(self):
574       reference="hex_2D_o2_f_boundary_v.xml"       reference="hex_2D_o2_f_boundary_v.xml"
575       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2_onFace.msh"))
576       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
577       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.])
578       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Vector.xml",reference)
579    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Tensor_vtk(self):
580       reference="hex_2D_o2_f_boundary_t.xml"       reference="hex_2D_o2_f_boundary_t.xml"
581       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2_onFace.msh"))
582       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
583       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
584       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Tensor.xml",reference)
585    def test_hex_contact_2D_order2_FunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_2D_order2_FunctionOnContactZero_Scalar_vtk(self):
586       reference="hex_2D_o2_contact_s.xml"       reference="hex_2D_o2_contact_s.xml"
587       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
588       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
589       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnContactZero_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_FunctionOnContactZero_Scalar.xml"),data=x[0])
590       self.check_vtk("hex_contact_2D_order2_FunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_FunctionOnContactZero_Scalar.xml",reference)
591    def test_hex_contact_2D_order2_FunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_2D_order2_FunctionOnContactZero_Vector_vtk(self):
592       reference="hex_2D_o2_contact_v.xml"       reference="hex_2D_o2_contact_v.xml"
593       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
594       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
595       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_FunctionOnContactZero_Vector.xml"),data=x[0]*[1.,2.])
596       self.check_vtk("hex_contact_2D_order2_FunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_FunctionOnContactZero_Vector.xml",reference)
597    def test_hex_contact_2D_order2_FunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_2D_order2_FunctionOnContactZero_Tensor_vtk(self):
598       reference="hex_2D_o2_contact_t.xml"       reference="hex_2D_o2_contact_t.xml"
599       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
600       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
601       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_FunctionOnContactZero_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
602       self.check_vtk("hex_contact_2D_order2_FunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_FunctionOnContactZero_Tensor.xml",reference)
603    def test_hex_contact_2D_order2_ReducedFunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_2D_order2_ReducedFunctionOnContactZero_Scalar_vtk(self):
604       reference="hex_2D_o2_contact_s.xml"       reference="hex_2D_o2_contact_s.xml"
605       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
606       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
607       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnContactZero_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedFunctionOnContactZero_Scalar.xml"),data=x[0])
608       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnContactZero_Scalar.xml",reference)
609    def test_hex_contact_2D_order2_ReducedFunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_2D_order2_ReducedFunctionOnContactZero_Vector_vtk(self):
610       reference="hex_2D_o2_contact_v.xml"       reference="hex_2D_o2_contact_v.xml"
611       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
612       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
613       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedFunctionOnContactZero_Vector.xml"),data=x[0]*[1.,2.])
614       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnContactZero_Vector.xml",reference)
615    def test_hex_contact_2D_order2_ReducedFunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_2D_order2_ReducedFunctionOnContactZero_Tensor_vtk(self):
616       reference="hex_2D_o2_contact_t.xml"       reference="hex_2D_o2_contact_t.xml"
617       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
618       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
619       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedFunctionOnContactZero_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
620       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnContactZero_Tensor.xml",reference)
621    def test_hex_contact_2D_order2_onFace_FunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_2D_order2_onFace_FunctionOnContactZero_Scalar_vtk(self):
622       reference="hex_2D_o2_contact_s.xml"       reference="hex_2D_o2_contact_s.xml"
623       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2_onFace.msh"))
624       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
625       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_FunctionOnContactZero_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_onFace_FunctionOnContactZero_Scalar.xml"),data=x[0])
626       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnContactZero_Scalar.xml",reference)
627    def test_hex_contact_2D_order2_onFace_FunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_2D_order2_onFace_FunctionOnContactZero_Vector_vtk(self):
628       reference="hex_2D_o2_contact_v.xml"       reference="hex_2D_o2_contact_v.xml"
629       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2_onFace.msh"))
630       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
631       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_FunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_onFace_FunctionOnContactZero_Vector.xml"),data=x[0]*[1.,2.])
632       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnContactZero_Vector.xml",reference)
633    def test_hex_contact_2D_order2_onFace_FunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_2D_order2_onFace_FunctionOnContactZero_Tensor_vtk(self):
634       reference="hex_2D_o2_contact_t.xml"       reference="hex_2D_o2_contact_t.xml"
635       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2_onFace.msh"))
636       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
637       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_FunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_onFace_FunctionOnContactZero_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
638       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnContactZero_Tensor.xml",reference)
639    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Scalar_vtk(self):
640       reference="hex_2D_o2_contact_s.xml"       reference="hex_2D_o2_contact_s.xml"
641       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2_onFace.msh"))
642       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
643       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Scalar.xml"),data=x[0])
644       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Scalar.xml",reference)
645    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Vector_vtk(self):
646       reference="hex_2D_o2_contact_v.xml"       reference="hex_2D_o2_contact_v.xml"
647       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2_onFace.msh"))
648       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
649       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Vector.xml"),data=x[0]*[1.,2.])
650       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Vector.xml",reference)
651    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Tensor_vtk(self):
652       reference="hex_2D_o2_contact_t.xml"       reference="hex_2D_o2_contact_t.xml"
653       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2_onFace.msh"))
654       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
655       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
656       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Tensor.xml",reference)
657    def test_hex_contact_2D_order2_FunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_2D_order2_FunctionOnContactOne_Scalar_vtk(self):
658       reference="hex_2D_o2_contact_s.xml"       reference="hex_2D_o2_contact_s.xml"
659       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
660       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
661       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnContactOne_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_FunctionOnContactOne_Scalar.xml"),data=x[0])
662       self.check_vtk("hex_contact_2D_order2_FunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_FunctionOnContactOne_Scalar.xml",reference)
663    def test_hex_contact_2D_order2_FunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_2D_order2_FunctionOnContactOne_Vector_vtk(self):
664       reference="hex_2D_o2_contact_v.xml"       reference="hex_2D_o2_contact_v.xml"
665       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
666       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
667       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_FunctionOnContactOne_Vector.xml"),data=x[0]*[1.,2.])
668       self.check_vtk("hex_contact_2D_order2_FunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_FunctionOnContactOne_Vector.xml",reference)
669    def test_hex_contact_2D_order2_FunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_2D_order2_FunctionOnContactOne_Tensor_vtk(self):
670       reference="hex_2D_o2_contact_t.xml"       reference="hex_2D_o2_contact_t.xml"
671       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
672       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
673       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_FunctionOnContactOne_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
674       self.check_vtk("hex_contact_2D_order2_FunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_FunctionOnContactOne_Tensor.xml",reference)
675    def test_hex_contact_2D_order2_ReducedFunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_2D_order2_ReducedFunctionOnContactOne_Scalar_vtk(self):
676       reference="hex_2D_o2_contact_s.xml"       reference="hex_2D_o2_contact_s.xml"
677       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
678       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
679       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnContactOne_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedFunctionOnContactOne_Scalar.xml"),data=x[0])
680       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnContactOne_Scalar.xml",reference)
681    def test_hex_contact_2D_order2_ReducedFunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_2D_order2_ReducedFunctionOnContactOne_Vector_vtk(self):
682       reference="hex_2D_o2_contact_v.xml"       reference="hex_2D_o2_contact_v.xml"
683       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
684       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
685       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedFunctionOnContactOne_Vector.xml"),data=x[0]*[1.,2.])
686       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnContactOne_Vector.xml",reference)
687    def test_hex_contact_2D_order2_ReducedFunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_2D_order2_ReducedFunctionOnContactOne_Tensor_vtk(self):
688       reference="hex_2D_o2_contact_t.xml"       reference="hex_2D_o2_contact_t.xml"
689       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
690       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
691       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedFunctionOnContactOne_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
692       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnContactOne_Tensor.xml",reference)
693    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Scalar_vtk(self):
694       reference="hex_2D_o2_contact_s.xml"       reference="hex_2D_o2_contact_s.xml"
695       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2_onFace.msh"))
696       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
697       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_FunctionOnContactOne_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_onFace_FunctionOnContactOne_Scalar.xml"),data=x[0])
698       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnContactOne_Scalar.xml",reference)
699    def test_hex_contact_2D_order2_onFace_FunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_2D_order2_onFace_FunctionOnContactOne_Vector_vtk(self):
700       reference="hex_2D_o2_contact_v.xml"       reference="hex_2D_o2_contact_v.xml"
701       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2_onFace.msh"))
702       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
703       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_FunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_onFace_FunctionOnContactOne_Vector.xml"),data=x[0]*[1.,2.])
704       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnContactOne_Vector.xml",reference)
705    def test_hex_contact_2D_order2_onFace_FunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_2D_order2_onFace_FunctionOnContactOne_Tensor_vtk(self):
706       reference="hex_2D_o2_contact_t.xml"       reference="hex_2D_o2_contact_t.xml"
707       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2_onFace.msh"))
708       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
709       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_FunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_onFace_FunctionOnContactOne_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
710       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnContactOne_Tensor.xml",reference)
711    
712    def test_hex_contact_2D_order2_onFace_ReducedReducedFunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_2D_order2_onFace_ReducedReducedFunctionOnContactOne_Scalar_vtk(self):
713       reference="hex_2D_o2_contact_s.xml"       reference="hex_2D_o2_contact_s.xml"
714       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2_onFace.msh"))
715       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
716       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Scalar.xml"),data=x[0])
717       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Scalar.xml",reference)
718    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Vector_vtk(self):
719       reference="hex_2D_o2_contact_v.xml"       reference="hex_2D_o2_contact_v.xml"
720       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2_onFace.msh"))
721       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
722       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Vector.xml"),data=x[0]*[1.,2.])
723       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Vector.xml",reference)
724    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Tensor_vtk(self):
725       reference="hex_2D_o2_contact_t.xml"       reference="hex_2D_o2_contact_t.xml"
726       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2_onFace.msh"))
727       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
728       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
729       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Tensor.xml",reference)
730    
731    
732    # ======================================================================================================================    # ======================================================================================================================
733    def test_hex_contact_3D_order1_ContinuousFunction_Scalar_vtk(self):    def test_hex_contact_3D_order1_ContinuousFunction_Scalar_vtk(self):
734       reference="hex_3D_o1_node_s.xml"       reference="hex_3D_o1_node_s.xml"
735       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
736       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
737       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ContinuousFunction_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ContinuousFunction_Scalar.xml"),data=x[0])
738       self.check_vtk("hex_contact_3D_order1_ContinuousFunction_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_ContinuousFunction_Scalar.xml",reference)
739    def test_hex_contact_3D_order1_ContinuousFunction_Vector_vtk(self):    def test_hex_contact_3D_order1_ContinuousFunction_Vector_vtk(self):
740       reference="hex_3D_o1_node_v.xml"       reference="hex_3D_o1_node_v.xml"
741       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
742       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
743       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ContinuousFunction_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ContinuousFunction_Vector.xml"),data=x[0]*[1.,2.,3.])
744       self.check_vtk("hex_contact_3D_order1_ContinuousFunction_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_ContinuousFunction_Vector.xml",reference)
745    def test_hex_contact_3D_order1_ContinuousFunction_Tensor_vtk(self):    def test_hex_contact_3D_order1_ContinuousFunction_Tensor_vtk(self):
746       reference="hex_3D_o1_node_t.xml"       reference="hex_3D_o1_node_t.xml"
747       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
748       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
749       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ContinuousFunction_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
750       self.check_vtk("hex_contact_3D_order1_ContinuousFunction_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_ContinuousFunction_Tensor.xml",reference)
751    def test_hex_contact_3D_order1_Solution_Scalar_vtk(self):    def test_hex_contact_3D_order1_Solution_Scalar_vtk(self):
752       reference="hex_3D_o1_node_s.xml"       reference="hex_3D_o1_node_s.xml"
753       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
754       x=Solution(dom).getX()       x=Solution(dom).getX()
755       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Solution_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_Solution_Scalar.xml"),data=x[0])
756       self.check_vtk("hex_contact_3D_order1_Solution_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_Solution_Scalar.xml",reference)
757    def test_hex_contact_3D_order1_Solution_Vector_vtk(self):    def test_hex_contact_3D_order1_Solution_Vector_vtk(self):
758       reference="hex_3D_o1_node_v.xml"       reference="hex_3D_o1_node_v.xml"
759       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
760       x=Solution(dom).getX()       x=Solution(dom).getX()
761       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Solution_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_Solution_Vector.xml"),data=x[0]*[1.,2.,3.])
762       self.check_vtk("hex_contact_3D_order1_Solution_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_Solution_Vector.xml",reference)
763    def test_hex_contact_3D_order1_Solution_Tensor_vtk(self):    def test_hex_contact_3D_order1_Solution_Tensor_vtk(self):
764       reference="hex_3D_o1_node_t.xml"       reference="hex_3D_o1_node_t.xml"
765       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
766       x=Solution(dom).getX()       x=Solution(dom).getX()
767       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Solution_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
768       self.check_vtk("hex_contact_3D_order1_Solution_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_Solution_Tensor.xml",reference)
769    def test_hex_contact_3D_order1_ReducedSolution_Scalar_vtk(self):    def test_hex_contact_3D_order1_ReducedSolution_Scalar_vtk(self):
770       reference="hex_3D_o1_node_s.xml"       reference="hex_3D_o1_node_s.xml"
771       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
772       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
773       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedSolution_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedSolution_Scalar.xml"),data=x[0])
774       self.check_vtk("hex_contact_3D_order1_ReducedSolution_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedSolution_Scalar.xml",reference)
775    def test_hex_contact_3D_order1_ReducedSolution_Vector_vtk(self):    def test_hex_contact_3D_order1_ReducedSolution_Vector_vtk(self):
776       reference="hex_3D_o1_node_v.xml"       reference="hex_3D_o1_node_v.xml"
777       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
778       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
779       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedSolution_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedSolution_Vector.xml"),data=x[0]*[1.,2.,3.])
780       self.check_vtk("hex_contact_3D_order1_ReducedSolution_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedSolution_Vector.xml",reference)
781    def test_hex_contact_3D_order1_ReducedSolution_Tensor_vtk(self):    def test_hex_contact_3D_order1_ReducedSolution_Tensor_vtk(self):
782       reference="hex_3D_o1_node_t.xml"       reference="hex_3D_o1_node_t.xml"
783       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
784       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
785       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedSolution_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
786       self.check_vtk("hex_contact_3D_order1_ReducedSolution_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedSolution_Tensor.xml",reference)
787    def test_hex_contact_3D_order1_Function_Scalar_vtk(self):    def test_hex_contact_3D_order1_Function_Scalar_vtk(self):
788       reference="hex_3D_o1_cell_s.xml"       reference="hex_3D_o1_cell_s.xml"
789       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
790       x=Function(dom).getX()       x=Function(dom).getX()
791       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Function_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_Function_Scalar.xml"),data=x[0])
792       self.check_vtk("hex_contact_3D_order1_Function_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_Function_Scalar.xml",reference)
793    def test_hex_contact_3D_order1_Function_Vector_vtk(self):    def test_hex_contact_3D_order1_Function_Vector_vtk(self):
794       reference="hex_3D_o1_cell_v.xml"       reference="hex_3D_o1_cell_v.xml"
795       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
796       x=Function(dom).getX()       x=Function(dom).getX()
797       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Function_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_Function_Vector.xml"),data=x[0]*[1.,2.,3.])
798       self.check_vtk("hex_contact_3D_order1_Function_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_Function_Vector.xml",reference)
799    def test_hex_contact_3D_order1_Function_Tensor_vtk(self):    def test_hex_contact_3D_order1_Function_Tensor_vtk(self):
800       reference="hex_3D_o1_cell_t.xml"       reference="hex_3D_o1_cell_t.xml"
801       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
802       x=Function(dom).getX()       x=Function(dom).getX()
803       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Function_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
804       self.check_vtk("hex_contact_3D_order1_Function_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_Function_Tensor.xml",reference)
805    def test_hex_contact_3D_order1_ReducedFunction_Scalar_vtk(self):    def test_hex_contact_3D_order1_ReducedFunction_Scalar_vtk(self):
806       reference="hex_3D_o1_cell_s.xml"       reference="hex_3D_o1_cell_s.xml"
807       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
808       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
809       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunction_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedFunction_Scalar.xml"),data=x[0])
810       self.check_vtk("hex_contact_3D_order1_ReducedFunction_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedFunction_Scalar.xml",reference)
811    def test_hex_contact_3D_order1_ReducedFunction_Vector_vtk(self):    def test_hex_contact_3D_order1_ReducedFunction_Vector_vtk(self):
812       reference="hex_3D_o1_cell_v.xml"       reference="hex_3D_o1_cell_v.xml"
813       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
814       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
815       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunction_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedFunction_Vector.xml"),data=x[0]*[1.,2.,3.])
816       self.check_vtk("hex_contact_3D_order1_ReducedFunction_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedFunction_Vector.xml",reference)
817    def test_hex_contact_3D_order1_ReducedFunction_Tensor_vtk(self):    def test_hex_contact_3D_order1_ReducedFunction_Tensor_vtk(self):
818       reference="hex_3D_o1_cell_t.xml"       reference="hex_3D_o1_cell_t.xml"
819       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
820       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
821       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunction_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
822       self.check_vtk("hex_contact_3D_order1_ReducedFunction_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedFunction_Tensor.xml",reference)
823    def test_hex_contact_3D_order1_FunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_3D_order1_FunctionOnBoundary_Scalar_vtk(self):
824       reference="hex_3D_o1_boundary_s.xml"       reference="hex_3D_o1_boundary_s.xml"
825       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
826       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
827       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnBoundary_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_FunctionOnBoundary_Scalar.xml"),data=x[0])
828       self.check_vtk("hex_contact_3D_order1_FunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_FunctionOnBoundary_Scalar.xml",reference)
829    def test_hex_contact_3D_order1_FunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_3D_order1_FunctionOnBoundary_Vector_vtk(self):
830       reference="hex_3D_o1_boundary_v.xml"       reference="hex_3D_o1_boundary_v.xml"
831       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
832       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
833       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_FunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.,3.])
834       self.check_vtk("hex_contact_3D_order1_FunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_FunctionOnBoundary_Vector.xml",reference)
835    def test_hex_contact_3D_order1_FunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_3D_order1_FunctionOnBoundary_Tensor_vtk(self):
836       reference="hex_3D_o1_boundary_t.xml"       reference="hex_3D_o1_boundary_t.xml"
837       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
838       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
839       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
840       self.check_vtk("hex_contact_3D_order1_FunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_FunctionOnBoundary_Tensor.xml",reference)
841    def test_hex_contact_3D_order1_ReducedFunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_3D_order1_ReducedFunctionOnBoundary_Scalar_vtk(self):
842       reference="hex_3D_o1_boundary_s.xml"       reference="hex_3D_o1_boundary_s.xml"
843       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
844       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
845       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnBoundary_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedFunctionOnBoundary_Scalar.xml"),data=x[0])
846       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnBoundary_Scalar.xml",reference)
847    def test_hex_contact_3D_order1_ReducedFunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_3D_order1_ReducedFunctionOnBoundary_Vector_vtk(self):
848       reference="hex_3D_o1_boundary_v.xml"       reference="hex_3D_o1_boundary_v.xml"
849       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
850       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
851       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedFunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.,3.])
852       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnBoundary_Vector.xml",reference)
853    def test_hex_contact_3D_order1_ReducedFunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_3D_order1_ReducedFunctionOnBoundary_Tensor_vtk(self):
854       reference="hex_3D_o1_boundary_t.xml"       reference="hex_3D_o1_boundary_t.xml"
855       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
856       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
857       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
858       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnBoundary_Tensor.xml",reference)
859    def test_hex_contact_3D_order1_onFace_FunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_3D_order1_onFace_FunctionOnBoundary_Scalar_vtk(self):
860       reference="hex_3D_o1_f_boundary_s.xml"       reference="hex_3D_o1_f_boundary_s.xml"
861       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1_onFace.msh"))
862       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
863       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_FunctionOnBoundary_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_onFace_FunctionOnBoundary_Scalar.xml"),data=x[0])
864       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnBoundary_Scalar.xml",reference)
865    def test_hex_contact_3D_order1_onFace_FunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_3D_order1_onFace_FunctionOnBoundary_Vector_vtk(self):
866       reference="hex_3D_o1_f_boundary_v.xml"       reference="hex_3D_o1_f_boundary_v.xml"
867       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1_onFace.msh"))
868       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
869       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_FunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_onFace_FunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.,3.])
870       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnBoundary_Vector.xml",reference)
871    def test_hex_contact_3D_order1_onFace_FunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_3D_order1_onFace_FunctionOnBoundary_Tensor_vtk(self):
872       reference="hex_3D_o1_f_boundary_t.xml"       reference="hex_3D_o1_f_boundary_t.xml"
873       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1_onFace.msh"))
874       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
875       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_FunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
876       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnBoundary_Tensor.xml",reference)
877    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Scalar_vtk(self):
878       reference="hex_3D_o1_f_boundary_s.xml"       reference="hex_3D_o1_f_boundary_s.xml"
879       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1_onFace.msh"))
880       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
881       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Scalar.xml"),data=x[0])
882       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Scalar.xml",reference)
883    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Vector_vtk(self):
884       reference="hex_3D_o1_f_boundary_v.xml"       reference="hex_3D_o1_f_boundary_v.xml"
885       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1_onFace.msh"))
886       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
887       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.,3.])
888       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Vector.xml",reference)
889    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Tensor_vtk(self):
890       reference="hex_3D_o1_f_boundary_t.xml"       reference="hex_3D_o1_f_boundary_t.xml"
891       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1_onFace.msh"))
892       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
893       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
894       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Tensor.xml",reference)
895    def test_hex_contact_3D_order1_FunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_3D_order1_FunctionOnContactZero_Scalar_vtk(self):
896       reference="hex_3D_o1_contact_s.xml"       reference="hex_3D_o1_contact_s.xml"
897       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
898       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
899       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnContactZero_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_FunctionOnContactZero_Scalar.xml"),data=x[0])
900       self.check_vtk("hex_contact_3D_order1_FunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_FunctionOnContactZero_Scalar.xml",reference)
901    def test_hex_contact_3D_order1_FunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_3D_order1_FunctionOnContactZero_Vector_vtk(self):
902       reference="hex_3D_o1_contact_v.xml"       reference="hex_3D_o1_contact_v.xml"
903       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
904       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
905       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_FunctionOnContactZero_Vector.xml"),data=x[0]*[1.,2.,3.])
906       self.check_vtk("hex_contact_3D_order1_FunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_FunctionOnContactZero_Vector.xml",reference)
907    def test_hex_contact_3D_order1_FunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_3D_order1_FunctionOnContactZero_Tensor_vtk(self):
908       reference="hex_3D_o1_contact_t.xml"       reference="hex_3D_o1_contact_t.xml"
909       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
910       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
911       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
912       self.check_vtk("hex_contact_3D_order1_FunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_FunctionOnContactZero_Tensor.xml",reference)
913    def test_hex_contact_3D_order1_ReducedFunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_3D_order1_ReducedFunctionOnContactZero_Scalar_vtk(self):
914       reference="hex_3D_o1_contact_s.xml"       reference="hex_3D_o1_contact_s.xml"
915       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
916       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
917       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnContactZero_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedFunctionOnContactZero_Scalar.xml"),data=x[0])
918       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnContactZero_Scalar.xml",reference)
919    def test_hex_contact_3D_order1_ReducedFunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_3D_order1_ReducedFunctionOnContactZero_Vector_vtk(self):
920       reference="hex_3D_o1_contact_v.xml"       reference="hex_3D_o1_contact_v.xml"
921       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
922       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
923       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedFunctionOnContactZero_Vector.xml"),data=x[0]*[1.,2.,3.])
924       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnContactZero_Vector.xml",reference)
925    def test_hex_contact_3D_order1_ReducedFunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_3D_order1_ReducedFunctionOnContactZero_Tensor_vtk(self):
926       reference="hex_3D_o1_contact_t.xml"       reference="hex_3D_o1_contact_t.xml"
927       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
928       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
929       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
930       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnContactZero_Tensor.xml",reference)
931    def test_hex_contact_3D_order1_onFace_FunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_3D_order1_onFace_FunctionOnContactZero_Scalar_vtk(self):
932       reference="hex_3D_o1_contact_s.xml"       reference="hex_3D_o1_contact_s.xml"
933       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1_onFace.msh"))
934       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
935       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_FunctionOnContactZero_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_onFace_FunctionOnContactZero_Scalar.xml"),data=x[0])
936       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnContactZero_Scalar.xml",reference)
937    def test_hex_contact_3D_order1_onFace_FunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_3D_order1_onFace_FunctionOnContactZero_Vector_vtk(self):
938       reference="hex_3D_o1_contact_v.xml"       reference="hex_3D_o1_contact_v.xml"
939       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1_onFace.msh"))
940       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
941       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_FunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_onFace_FunctionOnContactZero_Vector.xml"),data=x[0]*[1.,2.,3.])
942       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnContactZero_Vector.xml",reference)
943    def test_hex_contact_3D_order1_onFace_FunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_3D_order1_onFace_FunctionOnContactZero_Tensor_vtk(self):
944       reference="hex_3D_o1_contact_t.xml"       reference="hex_3D_o1_contact_t.xml"
945       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1_onFace.msh"))
946       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
947       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_FunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
948       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnContactZero_Tensor.xml",reference)
949    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Scalar_vtk(self):
950       reference="hex_3D_o1_contact_s.xml"       reference="hex_3D_o1_contact_s.xml"
951       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1_onFace.msh"))
952       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
953       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Scalar.xml"),data=x[0])
954       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Scalar.xml",reference)
955    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Vector_vtk(self):
956       reference="hex_3D_o1_contact_v.xml"       reference="hex_3D_o1_contact_v.xml"
957       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1_onFace.msh"))
958       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
959       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Vector.xml"),data=x[0]*[1.,2.,3.])
960       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Vector.xml",reference)
961    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Tensor_vtk(self):
962       reference="hex_3D_o1_contact_t.xml"       reference="hex_3D_o1_contact_t.xml"
963       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1_onFace.msh"))
964       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
965       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
966       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Tensor.xml",reference)
967    def test_hex_contact_3D_order1_FunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_3D_order1_FunctionOnContactOne_Scalar_vtk(self):
968       reference="hex_3D_o1_contact_s.xml"       reference="hex_3D_o1_contact_s.xml"
969       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
970       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
971       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnContactOne_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_FunctionOnContactOne_Scalar.xml"),data=x[0])
972       self.check_vtk("hex_contact_3D_order1_FunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_FunctionOnContactOne_Scalar.xml",reference)
973    def test_hex_contact_3D_order1_FunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_3D_order1_FunctionOnContactOne_Vector_vtk(self):
974       reference="hex_3D_o1_contact_v.xml"       reference="hex_3D_o1_contact_v.xml"
975       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
976       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
977       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_FunctionOnContactOne_Vector.xml"),data=x[0]*[1.,2.,3.])
978       self.check_vtk("hex_contact_3D_order1_FunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_FunctionOnContactOne_Vector.xml",reference)
979    def test_hex_contact_3D_order1_FunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_3D_order1_FunctionOnContactOne_Tensor_vtk(self):
980       reference="hex_3D_o1_contact_t.xml"       reference="hex_3D_o1_contact_t.xml"
981       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
982       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
983       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
984       self.check_vtk("hex_contact_3D_order1_FunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_FunctionOnContactOne_Tensor.xml",reference)
985    def test_hex_contact_3D_order1_ReducedFunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_3D_order1_ReducedFunctionOnContactOne_Scalar_vtk(self):
986       reference="hex_3D_o1_contact_s.xml"       reference="hex_3D_o1_contact_s.xml"
987       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
988       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
989       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnContactOne_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedFunctionOnContactOne_Scalar.xml"),data=x[0])
990       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnContactOne_Scalar.xml",reference)
991    def test_hex_contact_3D_order1_ReducedFunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_3D_order1_ReducedFunctionOnContactOne_Vector_vtk(self):
992       reference="hex_3D_o1_contact_v.xml"       reference="hex_3D_o1_contact_v.xml"
993       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
994       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
995       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedFunctionOnContactOne_Vector.xml"),data=x[0]*[1.,2.,3.])
996       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnContactOne_Vector.xml",reference)
997    def test_hex_contact_3D_order1_ReducedFunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_3D_order1_ReducedFunctionOnContactOne_Tensor_vtk(self):
998       reference="hex_3D_o1_contact_t.xml"       reference="hex_3D_o1_contact_t.xml"
999       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
1000       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
1001       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
1002       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnContactOne_Tensor.xml",reference)
1003    def test_hex_contact_3D_order1_onFace_FunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_3D_order1_onFace_FunctionOnContactOne_Scalar_vtk(self):
1004       reference="hex_3D_o1_contact_s.xml"       reference="hex_3D_o1_contact_s.xml"
1005       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1_onFace.msh"))
1006       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
1007       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_FunctionOnContactOne_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_onFace_FunctionOnContactOne_Scalar.xml"),data=x[0])
1008       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnContactOne_Scalar.xml",reference)
1009    def test_hex_contact_3D_order1_onFace_FunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_3D_order1_onFace_FunctionOnContactOne_Vector_vtk(self):
1010       reference="hex_3D_o1_contact_v.xml"       reference="hex_3D_o1_contact_v.xml"
1011       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1_onFace.msh"))
1012       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
1013       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_FunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_onFace_FunctionOnContactOne_Vector.xml"),data=x[0]*[1.,2.,3.])
1014       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnContactOne_Vector.xml",reference)
1015    def test_hex_contact_3D_order1_onFace_FunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_3D_order1_onFace_FunctionOnContactOne_Tensor_vtk(self):
1016       reference="hex_3D_o1_contact_t.xml"       reference="hex_3D_o1_contact_t.xml"
1017       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1_onFace.msh"))
1018       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
1019       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_FunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
1020       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnContactOne_Tensor.xml",reference)
1021    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Scalar_vtk(self):
1022       reference="hex_3D_o1_contact_s.xml"       reference="hex_3D_o1_contact_s.xml"
1023       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1_onFace.msh"))
1024       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
1025       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Scalar.xml"),data=x[0])
1026       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Scalar.xml",reference)
1027    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Vector_vtk(self):
1028       reference="hex_3D_o1_contact_v.xml"       reference="hex_3D_o1_contact_v.xml"
1029       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1_onFace.msh"))
1030       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
1031       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Vector.xml"),data=x[0]*[1.,2.,3.])
1032       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Vector.xml",reference)
1033    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Tensor_vtk(self):
1034       reference="hex_3D_o1_contact_t.xml"       reference="hex_3D_o1_contact_t.xml"
1035       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1_onFace.msh"))
1036       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
1037       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
1038       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Tensor.xml",reference)
1039    # ======================================================================================================================    # ======================================================================================================================
1040    def test_hex_contact_3D_order2_ContinuousFunction_Scalar_vtk(self):    def test_hex_contact_3D_order2_ContinuousFunction_Scalar_vtk(self):
1041       reference="hex_3D_o2_node_s.xml"       reference="hex_3D_o2_node_s.xml"
1042       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1043       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
1044       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ContinuousFunction_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ContinuousFunction_Scalar.xml"),data=x[0])
1045       self.check_vtk("hex_contact_3D_order2_ContinuousFunction_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_ContinuousFunction_Scalar.xml",reference)
1046    def test_hex_contact_3D_order2_ContinuousFunction_Vector_vtk(self):    def test_hex_contact_3D_order2_ContinuousFunction_Vector_vtk(self):
1047       reference="hex_3D_o2_node_v.xml"       reference="hex_3D_o2_node_v.xml"
1048       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1049       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
1050       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ContinuousFunction_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ContinuousFunction_Vector.xml"),data=x[0]*[1.,2.,3.])
1051       self.check_vtk("hex_contact_3D_order2_ContinuousFunction_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_ContinuousFunction_Vector.xml",reference)
1052    def test_hex_contact_3D_order2_ContinuousFunction_Tensor_vtk(self):    def test_hex_contact_3D_order2_ContinuousFunction_Tensor_vtk(self):
1053       reference="hex_3D_o2_node_t.xml"       reference="hex_3D_o2_node_t.xml"
1054       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1055       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
1056       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ContinuousFunction_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
1057       self.check_vtk("hex_contact_3D_order2_ContinuousFunction_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_ContinuousFunction_Tensor.xml",reference)
1058    def test_hex_contact_3D_order2_Solution_Scalar_vtk(self):    def test_hex_contact_3D_order2_Solution_Scalar_vtk(self):
1059       reference="hex_3D_o2_node_s.xml"       reference="hex_3D_o2_node_s.xml"
1060       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1061       x=Solution(dom).getX()       x=Solution(dom).getX()
1062       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Solution_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_Solution_Scalar.xml"),data=x[0])
1063       self.check_vtk("hex_contact_3D_order2_Solution_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_Solution_Scalar.xml",reference)
1064    def test_hex_contact_3D_order2_Solution_Vector_vtk(self):    def test_hex_contact_3D_order2_Solution_Vector_vtk(self):
1065       reference="hex_3D_o2_node_v.xml"       reference="hex_3D_o2_node_v.xml"
1066       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1067       x=Solution(dom).getX()       x=Solution(dom).getX()
1068       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Solution_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_Solution_Vector.xml"),data=x[0]*[1.,2.,3.])
1069       self.check_vtk("hex_contact_3D_order2_Solution_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_Solution_Vector.xml",reference)
1070    def test_hex_contact_3D_order2_Solution_Tensor_vtk(self):    def test_hex_contact_3D_order2_Solution_Tensor_vtk(self):
1071       reference="hex_3D_o2_node_t.xml"       reference="hex_3D_o2_node_t.xml"
1072       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1073       x=Solution(dom).getX()       x=Solution(dom).getX()
1074       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Solution_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
1075       self.check_vtk("hex_contact_3D_order2_Solution_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_Solution_Tensor.xml",reference)
1076    def test_hex_contact_3D_order2_ReducedSolution_Scalar_vtk(self):    def test_hex_contact_3D_order2_ReducedSolution_Scalar_vtk(self):
1077       reference="hex_3D_o1_node_s.xml"       reference="hex_3D_o1_node_s.xml"
1078       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1079       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
1080       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedSolution_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedSolution_Scalar.xml"),data=x[0])
1081       self.check_vtk("hex_contact_3D_order2_ReducedSolution_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedSolution_Scalar.xml",reference)
1082    def test_hex_contact_3D_order2_ReducedSolution_Vector_vtk(self):    def test_hex_contact_3D_order2_ReducedSolution_Vector_vtk(self):
1083       reference="hex_3D_o1_node_v.xml"       reference="hex_3D_o1_node_v.xml"
1084       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1085       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
1086       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedSolution_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedSolution_Vector.xml"),data=x[0]*[1.,2.,3.])
1087       self.check_vtk("hex_contact_3D_order2_ReducedSolution_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedSolution_Vector.xml",reference)
1088    def test_hex_contact_3D_order2_ReducedSolution_Tensor_vtk(self):    def test_hex_contact_3D_order2_ReducedSolution_Tensor_vtk(self):
1089       reference="hex_3D_o1_node_t.xml"       reference="hex_3D_o1_node_t.xml"
1090       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1091       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
1092       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedSolution_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
1093       self.check_vtk("hex_contact_3D_order2_ReducedSolution_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedSolution_Tensor.xml",reference)
1094    def test_hex_contact_3D_order2_Function_Scalar_vtk(self):    def test_hex_contact_3D_order2_Function_Scalar_vtk(self):
1095       reference="hex_3D_o2_cell_s.xml"       reference="hex_3D_o2_cell_s.xml"
1096       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1097       x=Function(dom).getX()       x=Function(dom).getX()
1098       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Function_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_Function_Scalar.xml"),data=x[0])
1099       self.check_vtk("hex_contact_3D_order2_Function_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_Function_Scalar.xml",reference)
1100    def test_hex_contact_3D_order2_Function_Vector_vtk(self):    def test_hex_contact_3D_order2_Function_Vector_vtk(self):
1101       reference="hex_3D_o2_cell_v.xml"       reference="hex_3D_o2_cell_v.xml"
1102       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1103       x=Function(dom).getX()       x=Function(dom).getX()
1104       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Function_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_Function_Vector.xml"),data=x[0]*[1.,2.,3.])
1105       self.check_vtk("hex_contact_3D_order2_Function_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_Function_Vector.xml",reference)
1106    def test_hex_contact_3D_order2_Function_Tensor_vtk(self):    def test_hex_contact_3D_order2_Function_Tensor_vtk(self):
1107       reference="hex_3D_o2_cell_t.xml"       reference="hex_3D_o2_cell_t.xml"
1108       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1109       x=Function(dom).getX()       x=Function(dom).getX()
1110       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Function_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
1111       self.check_vtk("hex_contact_3D_order2_Function_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_Function_Tensor.xml",reference)
1112    def test_hex_contact_3D_order2_ReducedFunction_Scalar_vtk(self):    def test_hex_contact_3D_order2_ReducedFunction_Scalar_vtk(self):
1113       reference="hex_3D_o2_cell_s.xml"       reference="hex_3D_o2_cell_s.xml"
1114       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1115       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
1116       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunction_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedFunction_Scalar.xml"),data=x[0])
1117       self.check_vtk("hex_contact_3D_order2_ReducedFunction_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedFunction_Scalar.xml",reference)
1118    def test_hex_contact_3D_order2_ReducedFunction_Vector_vtk(self):    def test_hex_contact_3D_order2_ReducedFunction_Vector_vtk(self):
1119       reference="hex_3D_o2_cell_v.xml"       reference="hex_3D_o2_cell_v.xml"
1120       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1121       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
1122       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunction_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedFunction_Vector.xml"),data=x[0]*[1.,2.,3.])
1123       self.check_vtk("hex_contact_3D_order2_ReducedFunction_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedFunction_Vector.xml",reference)
1124    def test_hex_contact_3D_order2_ReducedFunction_Tensor_vtk(self):    def test_hex_contact_3D_order2_ReducedFunction_Tensor_vtk(self):
1125       reference="hex_3D_o2_cell_t.xml"       reference="hex_3D_o2_cell_t.xml"
1126       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1127       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
1128       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunction_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
1129       self.check_vtk("hex_contact_3D_order2_ReducedFunction_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedFunction_Tensor.xml",reference)
1130    def test_hex_contact_3D_order2_FunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_3D_order2_FunctionOnBoundary_Scalar_vtk(self):
1131       reference="hex_3D_o2_boundary_s.xml"       reference="hex_3D_o2_boundary_s.xml"
1132       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1133       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
1134       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnBoundary_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_FunctionOnBoundary_Scalar.xml"),data=x[0])
1135       self.check_vtk("hex_contact_3D_order2_FunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_FunctionOnBoundary_Scalar.xml",reference)
1136    def test_hex_contact_3D_order2_FunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_3D_order2_FunctionOnBoundary_Vector_vtk(self):
1137       reference="hex_3D_o2_boundary_v.xml"       reference="hex_3D_o2_boundary_v.xml"
1138       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1139       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
1140       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_FunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.,3.])
1141       self.check_vtk("hex_contact_3D_order2_FunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_FunctionOnBoundary_Vector.xml",reference)
1142    def test_hex_contact_3D_order2_FunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_3D_order2_FunctionOnBoundary_Tensor_vtk(self):
1143       reference="hex_3D_o2_boundary_t.xml"       reference="hex_3D_o2_boundary_t.xml"
1144       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1145       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
1146       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
1147       self.check_vtk("hex_contact_3D_order2_FunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_FunctionOnBoundary_Tensor.xml",reference)
1148    def test_hex_contact_3D_order2_ReducedFunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_3D_order2_ReducedFunctionOnBoundary_Scalar_vtk(self):
1149       reference="hex_3D_o2_boundary_s.xml"       reference="hex_3D_o2_boundary_s.xml"
1150       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1151       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
1152       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnBoundary_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedFunctionOnBoundary_Scalar.xml"),data=x[0])
1153       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnBoundary_Scalar.xml",reference)
1154    def test_hex_contact_3D_order2_ReducedFunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_3D_order2_ReducedFunctionOnBoundary_Vector_vtk(self):
1155       reference="hex_3D_o2_boundary_v.xml"       reference="hex_3D_o2_boundary_v.xml"
1156       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1157       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
1158       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedFunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.,3.])
1159       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnBoundary_Vector.xml",reference)
1160    def test_hex_contact_3D_order2_ReducedFunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_3D_order2_ReducedFunctionOnBoundary_Tensor_vtk(self):
1161       reference="hex_3D_o2_boundary_t.xml"       reference="hex_3D_o2_boundary_t.xml"
1162       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1163       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
1164       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
1165       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnBoundary_Tensor.xml",reference)
1166    def test_hex_contact_3D_order2_onFace_FunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_3D_order2_onFace_FunctionOnBoundary_Scalar_vtk(self):
1167       reference="hex_3D_o2_f_boundary_s.xml"       reference="hex_3D_o2_f_boundary_s.xml"
1168       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2_onFace.msh"))
1169       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
1170       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_FunctionOnBoundary_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_onFace_FunctionOnBoundary_Scalar.xml"),data=x[0])
1171       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnBoundary_Scalar.xml",reference)
1172    def test_hex_contact_3D_order2_onFace_FunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_3D_order2_onFace_FunctionOnBoundary_Vector_vtk(self):
1173       reference="hex_3D_o2_f_boundary_v.xml"       reference="hex_3D_o2_f_boundary_v.xml"
1174       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2_onFace.msh"))
1175       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
1176       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_FunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_onFace_FunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.,3.])
1177       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnBoundary_Vector.xml",reference)
1178    def test_hex_contact_3D_order2_onFace_FunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_3D_order2_onFace_FunctionOnBoundary_Tensor_vtk(self):
1179       reference="hex_3D_o2_f_boundary_t.xml"       reference="hex_3D_o2_f_boundary_t.xml"
1180       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2_onFace.msh"))
1181       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
1182       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_FunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
1183       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnBoundary_Tensor.xml",reference)
1184    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Scalar_vtk(self):
1185       reference="hex_3D_o2_f_boundary_s.xml"       reference="hex_3D_o2_f_boundary_s.xml"
1186       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2_onFace.msh"))
1187       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
1188       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Scalar.xml"),data=x[0])
1189       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Scalar.xml",reference)
1190    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Vector_vtk(self):
1191       reference="hex_3D_o2_f_boundary_v.xml"       reference="hex_3D_o2_f_boundary_v.xml"
1192       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2_onFace.msh"))
1193       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
1194       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.,3.])
1195       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Vector.xml",reference)
1196    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Tensor_vtk(self):
1197       reference="hex_3D_o2_f_boundary_t.xml"       reference="hex_3D_o2_f_boundary_t.xml"
1198       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2_onFace.msh"))
1199       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
1200       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
1201       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Tensor.xml",reference)
1202    def test_hex_contact_3D_order2_FunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_3D_order2_FunctionOnContactZero_Scalar_vtk(self):
1203       reference="hex_3D_o2_contact_s.xml"       reference="hex_3D_o2_contact_s.xml"
1204       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1205       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
1206       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnContactZero_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_FunctionOnContactZero_Scalar.xml"),data=x[0])
1207       self.check_vtk("hex_contact_3D_order2_FunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_FunctionOnContactZero_Scalar.xml",reference)
1208    def test_hex_contact_3D_order2_FunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_3D_order2_FunctionOnContactZero_Vector_vtk(self):
1209       reference="hex_3D_o2_contact_v.xml"       reference="hex_3D_o2_contact_v.xml"
1210       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1211       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
1212       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_FunctionOnContactZero_Vector.xml"),data=x[0]*[1.,2.,3.])
1213       self.check_vtk("hex_contact_3D_order2_FunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_FunctionOnContactZero_Vector.xml",reference)
1214    def test_hex_contact_3D_order2_FunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_3D_order2_FunctionOnContactZero_Tensor_vtk(self):
1215       reference="hex_3D_o2_contact_t.xml"       reference="hex_3D_o2_contact_t.xml"
1216       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1217       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
1218       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
1219       self.check_vtk("hex_contact_3D_order2_FunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_FunctionOnContactZero_Tensor.xml",reference)
1220    def test_hex_contact_3D_order2_ReducedFunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_3D_order2_ReducedFunctionOnContactZero_Scalar_vtk(self):
1221       reference="hex_3D_o2_contact_s.xml"       reference="hex_3D_o2_contact_s.xml"
1222       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1223       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
1224       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnContactZero_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedFunctionOnContactZero_Scalar.xml"),data=x[0])
1225       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnContactZero_Scalar.xml",reference)
1226    def test_hex_contact_3D_order2_ReducedFunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_3D_order2_ReducedFunctionOnContactZero_Vector_vtk(self):
1227       reference="hex_3D_o2_contact_v.xml"       reference="hex_3D_o2_contact_v.xml"
1228       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1229       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
1230       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedFunctionOnContactZero_Vector.xml"),data=x[0]*[1.,2.,3.])
1231       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnContactZero_Vector.xml",reference)
1232    def test_hex_contact_3D_order2_ReducedFunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_3D_order2_ReducedFunctionOnContactZero_Tensor_vtk(self):
1233       reference="hex_3D_o2_contact_t.xml"       reference="hex_3D_o2_contact_t.xml"
1234       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1235       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
1236       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
1237       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnContactZero_Tensor.xml",reference)
1238    def test_hex_contact_3D_order2_onFace_FunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_3D_order2_onFace_FunctionOnContactZero_Scalar_vtk(self):
1239       reference="hex_3D_o2_contact_s.xml"       reference="hex_3D_o2_contact_s.xml"
1240       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2_onFace.msh"))
1241       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
1242       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_FunctionOnContactZero_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_onFace_FunctionOnContactZero_Scalar.xml"),data=x[0])
1243       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnContactZero_Scalar.xml",reference)
1244    def test_hex_contact_3D_order2_onFace_FunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_3D_order2_onFace_FunctionOnContactZero_Vector_vtk(self):
1245       reference="hex_3D_o2_contact_v.xml"       reference="hex_3D_o2_contact_v.xml"
1246       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2_onFace.msh"))
1247       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
1248       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_FunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_onFace_FunctionOnContactZero_Vector.xml"),data=x[0]*[1.,2.,3.])
1249       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnContactZero_Vector.xml",reference)
1250    def test_hex_contact_3D_order2_onFace_FunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_3D_order2_onFace_FunctionOnContactZero_Tensor_vtk(self):
1251       reference="hex_3D_o2_contact_t.xml"       reference="hex_3D_o2_contact_t.xml"
1252       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2_onFace.msh"))
1253       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
1254       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_FunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
1255       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnContactZero_Tensor.xml",reference)
1256    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Scalar_vtk(self):
1257       reference="hex_3D_o2_contact_s.xml"       reference="hex_3D_o2_contact_s.xml"
1258       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2_onFace.msh"))
1259       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
1260       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Scalar.xml"),data=x[0])
1261       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Scalar.xml",reference)
1262    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Vector_vtk(self):
1263       reference="hex_3D_o2_contact_v.xml"       reference="hex_3D_o2_contact_v.xml"
1264       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2_onFace.msh"))
1265       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
1266       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Vector.xml"),data=x[0]*[1.,2.,3.])
1267       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Vector.xml",reference)
1268    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Tensor_vtk(self):
1269       reference="hex_3D_o2_contact_t.xml"       reference="hex_3D_o2_contact_t.xml"
1270       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2_onFace.msh"))
1271       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
1272       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
1273       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Tensor.xml",reference)
1274    def test_hex_contact_3D_order2_FunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_3D_order2_FunctionOnContactOne_Scalar_vtk(self):
1275       reference="hex_3D_o2_contact_s.xml"       reference="hex_3D_o2_contact_s.xml"
1276       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1277       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
1278       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnContactOne_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_FunctionOnContactOne_Scalar.xml"),data=x[0])
1279       self.check_vtk("hex_contact_3D_order2_FunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_FunctionOnContactOne_Scalar.xml",reference)
1280    def test_hex_contact_3D_order2_FunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_3D_order2_FunctionOnContactOne_Vector_vtk(self):
1281       reference="hex_3D_o2_contact_v.xml"       reference="hex_3D_o2_contact_v.xml"
1282       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1283       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
1284       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_FunctionOnContactOne_Vector.xml"),data=x[0]*[1.,2.,3.])
1285       self.check_vtk("hex_contact_3D_order2_FunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_FunctionOnContactOne_Vector.xml",reference)
1286    def test_hex_contact_3D_order2_FunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_3D_order2_FunctionOnContactOne_Tensor_vtk(self):
1287       reference="hex_3D_o2_contact_t.xml"       reference="hex_3D_o2_contact_t.xml"
1288       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1289       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
1290       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
1291       self.check_vtk("hex_contact_3D_order2_FunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_FunctionOnContactOne_Tensor.xml",reference)
1292    def test_hex_contact_3D_order2_ReducedFunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_3D_order2_ReducedFunctionOnContactOne_Scalar_vtk(self):
1293       reference="hex_3D_o2_contact_s.xml"       reference="hex_3D_o2_contact_s.xml"
1294       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1295       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
1296       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnContactOne_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedFunctionOnContactOne_Scalar.xml"),data=x[0])
1297       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnContactOne_Scalar.xml",reference)
1298    def test_hex_contact_3D_order2_ReducedFunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_3D_order2_ReducedFunctionOnContactOne_Vector_vtk(self):
1299       reference="hex_3D_o2_contact_v.xml"       reference="hex_3D_o2_contact_v.xml"
1300       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1301       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
1302       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedFunctionOnContactOne_Vector.xml"),data=x[0]*[1.,2.,3.])
1303       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnContactOne_Vector.xml",reference)
1304    def test_hex_contact_3D_order2_ReducedFunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_3D_order2_ReducedFunctionOnContactOne_Tensor_vtk(self):
1305       reference="hex_3D_o2_contact_t.xml"       reference="hex_3D_o2_contact_t.xml"
1306       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1307       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
1308       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
1309       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnContactOne_Tensor.xml",reference)
1310    def test_hex_contact_3D_order2_onFace_FunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_3D_order2_onFace_FunctionOnContactOne_Scalar_vtk(self):
1311       reference="hex_3D_o2_contact_s.xml"       reference="hex_3D_o2_contact_s.xml"
1312       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2_onFace.msh"))
1313       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
1314       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_FunctionOnContactOne_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_onFace_FunctionOnContactOne_Scalar.xml"),data=x[0])
1315       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnContactOne_Scalar.xml",reference)
1316    def test_hex_contact_3D_order2_onFace_FunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_3D_order2_onFace_FunctionOnContactOne_Vector_vtk(self):
1317       reference="hex_3D_o2_contact_v.xml"       reference="hex_3D_o2_contact_v.xml"
1318       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2_onFace.msh"))
1319       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
1320       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_FunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_onFace_FunctionOnContactOne_Vector.xml"),data=x[0]*[1.,2.,3.])
1321       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnContactOne_Vector.xml",reference)
1322    def test_hex_contact_3D_order2_onFace_FunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_3D_order2_onFace_FunctionOnContactOne_Tensor_vtk(self):
1323       reference="hex_3D_o2_contact_t.xml"       reference="hex_3D_o2_contact_t.xml"
1324       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2_onFace.msh"))
1325       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
1326       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_FunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
1327       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnContactOne_Tensor.xml",reference)
1328    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Scalar_vtk(self):
1329       reference="hex_3D_o2_contact_s.xml"       reference="hex_3D_o2_contact_s.xml"
1330       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2_onFace.msh"))
1331       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
1332       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Scalar.xml",data=x[0])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Scalar.xml"),data=x[0])
1333       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Scalar.xml",reference)
1334    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Vector_vtk(self):
1335       reference="hex_3D_o2_contact_v.xml"       reference="hex_3D_o2_contact_v.xml"
1336       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2_onFace.msh"))
1337       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
1338       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Vector.xml"),data=x[0]*[1.,2.,3.])
1339       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Vector.xml",reference)
1340    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Tensor_vtk(self):
1341       reference="hex_3D_o2_contact_t.xml"       reference="hex_3D_o2_contact_t.xml"
1342       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2_onFace.msh"))
1343       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
1344       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
1345       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Tensor.xml",reference)
1346    
1347    
# Line 1341  class Test_DXFiles(Test_VisualizationInt Line 1349  class Test_DXFiles(Test_VisualizationInt
1349    # ======================================================================================================================    # ======================================================================================================================
1350    def test_hex_2D_order2_dx(self):    def test_hex_2D_order2_dx(self):
1351       reference="hex_2D_o1.dx"       reference="hex_2D_o1.dx"
1352       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_2D_order2.msh"))
1353       saveDX(FINLEY_WORKDIR_PATH+"hex_2D_order2.dx",domain=dom)       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_2D_order2.dx"),domain=dom)
1354       self.check_dx("hex_2D_order2.dx",reference)       self.check_dx("hex_2D_order2.dx",reference)
1355    
1356    def test_hex_2D_order2_AllPoints_Scalar_dx(self):    def test_hex_2D_order2_AllPoints_Scalar_dx(self):
1357       reference="hex_2D_o1_node_3xs.dx"       reference="hex_2D_o1_node_3xs.dx"
1358       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_2D_order2.msh"))
1359       x=Solution(dom).getX()       x=Solution(dom).getX()
1360       x_r=ReducedSolution(dom).getX()       x_r=ReducedSolution(dom).getX()
1361       x_n=ContinuousFunction(dom).getX()       x_n=ContinuousFunction(dom).getX()
1362       saveDX(FINLEY_WORKDIR_PATH+"hex_2D_order2_AllPoints_Scalar.dx",data_r=x_r[0],data_n=x_n[0],data=x[0])       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])
1363       self.check_dx("hex_2D_order2_AllPoints_Scalar.dx",reference)       self.check_dx("hex_2D_order2_AllPoints_Scalar.dx",reference)
1364    def test_hex_2D_order2_02Points_Scalar_dx(self):    def test_hex_2D_order2_02Points_Scalar_dx(self):
1365       reference="hex_2D_o1_node_2xs.dx"       reference="hex_2D_o1_node_2xs.dx"
1366       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_2D_order2.msh"))
1367       x=Solution(dom).getX()       x=Solution(dom).getX()
1368       x_n=ContinuousFunction(dom).getX()       x_n=ContinuousFunction(dom).getX()
1369       saveDX(FINLEY_WORKDIR_PATH+"hex_2D_order2_O2Points_Scalar.dx",data_n=x_n[0],data=x[0])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_2D_order2_O2Points_Scalar.dx"),data_n=x_n[0],data=x[0])
1370       self.check_dx("hex_2D_order2_O2Points_Scalar.dx",reference)       self.check_dx("hex_2D_order2_O2Points_Scalar.dx",reference)
1371    def test_hex_2D_order2_2Cells_Scalar_dx(self):    def test_hex_2D_order2_2Cells_Scalar_dx(self):
1372       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_2D_order2.msh"))
1373       x=Function(dom).getX()       x=Function(dom).getX()
1374       x_b=FunctionOnBoundary(dom).getX()       x_b=FunctionOnBoundary(dom).getX()
1375       try:       try:
1376          saveDX(FINLEY_WORKDIR_PATH+"hex_2D_order2_2Cells_Scalar.dx",data=x[0],data_b=x_b[0])          saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_2D_order2_2Cells_Scalar.dx"),data=x[0],data_b=x_b[0])
1377          self.fail("non-matching data not detected.")          self.fail("non-matching data not detected.")
1378       except StandardError:       except StandardError:
1379          pass          pass
1380    def test_hex_2D_order2_BoundaryPoint_Scalar_dx(self):    def test_hex_2D_order2_BoundaryPoint_Scalar_dx(self):
1381       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_2D_order2.msh"))
1382       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
1383       x_b=FunctionOnBoundary(dom).getX()       x_b=FunctionOnBoundary(dom).getX()
1384       try:       try:
1385          saveDX(FINLEY_WORKDIR_PATH+"hex_2D_order2_BoundaryPoint_Scalar.dx",data=x[0],data_b=x_b[0])          saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_2D_order2_BoundaryPoint_Scalar.dx"),data=x[0],data_b=x_b[0])
1386          self.fail("non-matching data not detected.")          self.fail("non-matching data not detected.")
1387       except StandardError:       except StandardError:
1388          pass          pass
1389    def test_hex_2D_order2_Cells_AllData_dx(self):    def test_hex_2D_order2_Cells_AllData_dx(self):
1390       reference="hex_2D_o1_cell_all.dx"       reference="hex_2D_o1_cell_all.dx"
1391       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_2D_order2.msh"))
1392       x=Function(dom).getX()       x=Function(dom).getX()
1393       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.]])       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.]])
1394       self.check_dx("hex_2D_order2_Cells_AllData.dx",reference)       self.check_dx("hex_2D_order2_Cells_AllData.dx",reference)
1395    
1396    def test_hex_2D_order2_CellsPoints_AllData_dx(self):    def test_hex_2D_order2_CellsPoints_AllData_dx(self):
1397       reference="hex_2D_o1_cellnode_all.dx"       reference="hex_2D_o1_cellnode_all.dx"
1398       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_2D_order2.msh"))
1399       x_c=Function(dom).getX()       x_c=Function(dom).getX()
1400       x_p=ContinuousFunction(dom).getX()       x_p=ContinuousFunction(dom).getX()
1401       saveDX(FINLEY_WORKDIR_PATH+"hex_2D_order2_CellsPoints_AllData.dx",data_sp=x_p[0],       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_2D_order2_CellsPoints_AllData.dx"),data_sp=x_p[0],
1402                                                       data_vp=x_p[0]*[1.,2.],                                                       data_vp=x_p[0]*[1.,2.],
1403                                                       data_tp=x_p[0]*[[11.,12.],[21.,22.]],                                                       data_tp=x_p[0]*[[11.,12.],[21.,22.]],
1404                                                       data_sc=x_c[0],                                                       data_sc=x_c[0],
# Line 1400  class Test_DXFiles(Test_VisualizationInt Line 1408  class Test_DXFiles(Test_VisualizationInt
1408    # ======================================================================================================================    # ======================================================================================================================
1409    def test_hex_contact_2D_order1_ContinuousFunction_Scalar_dx(self):    def test_hex_contact_2D_order1_ContinuousFunction_Scalar_dx(self):
1410       reference="hex_2D_o1_node_s.dx"       reference="hex_2D_o1_node_s.dx"
1411       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
1412       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
1413       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ContinuousFunction_Scalar.dx",data=x[0])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ContinuousFunction_Scalar.dx"),data=x[0])
1414       self.check_dx("hex_contact_2D_order1_ContinuousFunction_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order1_ContinuousFunction_Scalar.dx",reference)
1415    def test_hex_contact_2D_order1_ContinuousFunction_Vector_dx(self):    def test_hex_contact_2D_order1_ContinuousFunction_Vector_dx(self):
1416       reference="hex_2D_o1_node_v.dx"       reference="hex_2D_o1_node_v.dx"
1417       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
1418       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
1419       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ContinuousFunction_Vector.dx",data=x[0]*[1.,2.])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ContinuousFunction_Vector.dx"),data=x[0]*[1.,2.])
1420       self.check_dx("hex_contact_2D_order1_ContinuousFunction_Vector.dx",reference)       self.check_dx("hex_contact_2D_order1_ContinuousFunction_Vector.dx",reference)
1421    def test_hex_contact_2D_order1_ContinuousFunction_Tensor_dx(self):    def test_hex_contact_2D_order1_ContinuousFunction_Tensor_dx(self):
1422       reference="hex_2D_o1_node_t.dx"       reference="hex_2D_o1_node_t.dx"
1423       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
1424       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
1425       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ContinuousFunction_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ContinuousFunction_Tensor.dx"),data=x[0]*[[11.,12.],[21.,22.]])
1426       self.check_dx("hex_contact_2D_order1_ContinuousFunction_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order1_ContinuousFunction_Tensor.dx",reference)
1427    def test_hex_contact_2D_order1_Solution_Scalar_dx(self):    def test_hex_contact_2D_order1_Solution_Scalar_dx(self):
1428       reference="hex_2D_o1_node_s.dx"       reference="hex_2D_o1_node_s.dx"
1429       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
1430       x=Solution(dom).getX()       x=Solution(dom).getX()
1431       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Solution_Scalar.dx",data=x[0])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_Solution_Scalar.dx"),data=x[0])
1432       self.check_dx("hex_contact_2D_order1_Solution_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order1_Solution_Scalar.dx",reference)
1433    def test_hex_contact_2D_order1_Solution_Vector_dx(self):    def test_hex_contact_2D_order1_Solution_Vector_dx(self):
1434       reference="hex_2D_o1_node_v.dx"       reference="hex_2D_o1_node_v.dx"
1435       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
1436       x=Solution(dom).getX()       x=Solution(dom).getX()
1437       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Solution_Vector.dx",data=x[0]*[1.,2.])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_Solution_Vector.dx"),data=x[0]*[1.,2.])
1438       self.check_dx("hex_contact_2D_order1_Solution_Vector.dx",reference)       self.check_dx("hex_contact_2D_order1_Solution_Vector.dx",reference)
1439    def test_hex_contact_2D_order1_Solution_Tensor_dx(self):    def test_hex_contact_2D_order1_Solution_Tensor_dx(self):
1440       reference="hex_2D_o1_node_t.dx"       reference="hex_2D_o1_node_t.dx"
1441       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
1442       x=Solution(dom).getX()       x=Solution(dom).getX()
1443       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Solution_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_Solution_Tensor.dx"),data=x[0]*[[11.,12.],[21.,22.]])
1444       self.check_dx("hex_contact_2D_order1_Solution_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order1_Solution_Tensor.dx",reference)
1445    def test_hex_contact_2D_order1_ReducedSolution_Scalar_dx(self):    def test_hex_contact_2D_order1_ReducedSolution_Scalar_dx(self):
1446       reference="hex_2D_o1_node_s.dx"       reference="hex_2D_o1_node_s.dx"
1447       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
1448       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
1449       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedSolution_Scalar.dx",data=x[0])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedSolution_Scalar.dx"),data=x[0])
1450       self.check_dx("hex_contact_2D_order1_ReducedSolution_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order1_ReducedSolution_Scalar.dx",reference)
1451    def test_hex_contact_2D_order1_ReducedSolution_Vector_dx(self):    def test_hex_contact_2D_order1_ReducedSolution_Vector_dx(self):
1452       reference="hex_2D_o1_node_v.dx"       reference="hex_2D_o1_node_v.dx"
1453       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
1454       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
1455       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedSolution_Vector.dx",data=x[0]*[1.,2.])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedSolution_Vector.dx"),data=x[0]*[1.,2.])
1456       self.check_dx("hex_contact_2D_order1_ReducedSolution_Vector.dx",reference)       self.check_dx("hex_contact_2D_order1_ReducedSolution_Vector.dx",reference)
1457    def test_hex_contact_2D_order1_ReducedSolution_Tensor_dx(self):    def test_hex_contact_2D_order1_ReducedSolution_Tensor_dx(self):
1458       reference="hex_2D_o1_node_t.dx"       reference="hex_2D_o1_node_t.dx"
1459       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
1460       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
1461       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedSolution_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedSolution_Tensor.dx"),data=x[0]*[[11.,12.],[21.,22.]])
1462       self.check_dx("hex_contact_2D_order1_ReducedSolution_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order1_ReducedSolution_Tensor.dx",reference)
1463    def test_hex_contact_2D_order1_Function_Scalar_dx(self):    def test_hex_contact_2D_order1_Function_Scalar_dx(self):
1464       reference="hex_2D_o1_cell_s.dx"       reference="hex_2D_o1_cell_s.dx"
1465       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
1466       x=Function(dom).getX()       x=Function(dom).getX()
1467       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Function_Scalar.dx",data=x[0])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_Function_Scalar.dx"),data=x[0])
1468       self.check_dx("hex_contact_2D_order1_Function_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order1_Function_Scalar.dx",reference)
1469    def test_hex_contact_2D_order1_Function_Vector_dx(self):    def test_hex_contact_2D_order1_Function_Vector_dx(self):
1470       reference="hex_2D_o1_cell_v.dx"       reference="hex_2D_o1_cell_v.dx"
1471       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
1472       x=Function(dom).getX()       x=Function(dom).getX()
1473       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Function_Vector.dx",data=x[0]*[1.,2.])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_Function_Vector.dx"),data=x[0]*[1.,2.])
1474       self.check_dx("hex_contact_2D_order1_Function_Vector.dx",reference)       self.check_dx("hex_contact_2D_order1_Function_Vector.dx",reference)
1475    def test_hex_contact_2D_order1_Function_Tensor_dx(self):    def test_hex_contact_2D_order1_Function_Tensor_dx(self):
1476       reference="hex_2D_o1_cell_t.dx"       reference="hex_2D_o1_cell_t.dx"
1477       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
1478       x=Function(dom).getX()       x=Function(dom).getX()
1479       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Function_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_Function_Tensor.dx"),data=x[0]*[[11.,12.],[21.,22.]])
1480       self.check_dx("hex_contact_2D_order1_Function_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order1_Function_Tensor.dx",reference)
1481    def test_hex_contact_2D_order1_ReducedFunction_Scalar_dx(self):    def test_hex_contact_2D_order1_ReducedFunction_Scalar_dx(self):
1482       reference="hex_2D_o1_cell_s.dx"       reference="hex_2D_o1_cell_s.dx"
1483       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
1484       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
1485       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunction_Scalar.dx",data=x[0])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedFunction_Scalar.dx"),data=x[0])
1486       self.check_dx("hex_contact_2D_order1_ReducedFunction_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order1_ReducedFunction_Scalar.dx",reference)
1487    def test_hex_contact_2D_order1_ReducedFunction_Vector_dx(self):    def test_hex_contact_2D_order1_ReducedFunction_Vector_dx(self):
1488       reference="hex_2D_o1_cell_v.dx"       reference="hex_2D_o1_cell_v.dx"
1489       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
1490       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
1491       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunction_Vector.dx",data=x[0]*[1.,2.])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedFunction_Vector.dx"),data=x[0]*[1.,2.])
1492       self.check_dx("hex_contact_2D_order1_ReducedFunction_Vector.dx",reference)       self.check_dx("hex_contact_2D_order1_ReducedFunction_Vector.dx",reference)
1493    def test_hex_contact_2D_order1_ReducedFunction_Tensor_dx(self):    def test_hex_contact_2D_order1_ReducedFunction_Tensor_dx(self):
1494       reference="hex_2D_o1_cell_t.dx"       reference="hex_2D_o1_cell_t.dx"
1495       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
1496       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
1497       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunction_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedFunction_Tensor.dx"),data=x[0]*[[11.,12.],[21.,22.]])
1498       self.check_dx("hex_contact_2D_order1_ReducedFunction_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order1_ReducedFunction_Tensor.dx",reference)
1499    def test_hex_contact_2D_order1_FunctionOnBoundary_Scalar_dx(self):    def test_hex_contact_2D_order1_FunctionOnBoundary_Scalar_dx(self):
1500       reference="hex_2D_o1_boundary_s.dx"       reference="hex_2D_o1_boundary_s.dx"
1501       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
1502       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
1503       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnBoundary_Scalar.dx",data=x[0])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_FunctionOnBoundary_Scalar.dx"),data=x[0])
1504       self.check_dx("hex_contact_2D_order1_FunctionOnBoundary_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order1_FunctionOnBoundary_Scalar.dx",reference)
1505    def test_hex_contact_2D_order1_FunctionOnBoundary_Vector_dx(self):    def test_hex_contact_2D_order1_FunctionOnBoundary_Vector_dx(self):
1506       reference="hex_2D_o1_boundary_v.dx"       reference="hex_2D_o1_boundary_v.dx"
1507       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
1508       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
1509       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnBoundary_Vector.dx",data=x[0]*[1.,2.])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_FunctionOnBoundary_Vector.dx"),data=x[0]*[1.,2.])
1510       self.check_dx("hex_contact_2D_order1_FunctionOnBoundary_Vector.dx",reference)       self.check_dx("hex_contact_2D_order1_FunctionOnBoundary_Vector.dx",reference)
1511    def test_hex_contact_2D_order1_FunctionOnBoundary_Tensor_dx(self):    def test_hex_contact_2D_order1_FunctionOnBoundary_Tensor_dx(self):
1512       reference="hex_2D_o1_boundary_t.dx"       reference="hex_2D_o1_boundary_t.dx"
1513       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
1514       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
1515       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnBoundary_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_FunctionOnBoundary_Tensor.dx"),data=x[0]*[[11.,12.],[21.,22.]])
1516       self.check_dx("hex_contact_2D_order1_FunctionOnBoundary_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order1_FunctionOnBoundary_Tensor.dx",reference)
1517    def test_hex_contact_2D_order1_ReducedFunctionOnBoundary_Scalar_dx(self):    def test_hex_contact_2D_order1_ReducedFunctionOnBoundary_Scalar_dx(self):
1518       reference="hex_2D_o1_boundary_s.dx"       reference="hex_2D_o1_boundary_s.dx"
1519       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
1520       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
1521       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnBoundary_Scalar.dx",data=x[0])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedFunctionOnBoundary_Scalar.dx"),data=x[0])
1522       self.check_dx("hex_contact_2D_order1_ReducedFunctionOnBoundary_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order1_ReducedFunctionOnBoundary_Scalar.dx",reference)
1523    def test_hex_contact_2D_order1_ReducedFunctionOnBoundary_Vector_dx(self):    def test_hex_contact_2D_order1_ReducedFunctionOnBoundary_Vector_dx(self):
1524       reference="hex_2D_o1_boundary_v.dx"       reference="hex_2D_o1_boundary_v.dx"
1525       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
1526       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
1527       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnBoundary_Vector.dx",data=x[0]*[1.,2.])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedFunctionOnBoundary_Vector.dx"),data=x[0]*[1.,2.])
1528       self.check_dx("hex_contact_2D_order1_ReducedFunctionOnBoundary_Vector.dx",reference)       self.check_dx("hex_contact_2D_order1_ReducedFunctionOnBoundary_Vector.dx",reference)
1529    def test_hex_contact_2D_order1_ReducedFunctionOnBoundary_Tensor_dx(self):    def test_hex_contact_2D_order1_ReducedFunctionOnBoundary_Tensor_dx(self):
1530       reference="hex_2D_o1_boundary_t.dx"       reference="hex_2D_o1_boundary_t.dx"
1531       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order1.msh"))
1532       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
1533       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnBoundary_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order1_ReducedFunctionOnBoundary_Tensor.dx"),data=x[0]*[[11.,12.],[21.,22.]])
1534       self.check_dx("hex_contact_2D_order1_ReducedFunctionOnBoundary_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order1_ReducedFunctionOnBoundary_Tensor.dx",reference)
1535    # ======================================================================================================================    # ======================================================================================================================
1536    def test_hex_contact_2D_order2_ContinuousFunction_Scalar_dx(self):    def test_hex_contact_2D_order2_ContinuousFunction_Scalar_dx(self):
1537       reference="hex_2D_o2_node_s.dx"       reference="hex_2D_o2_node_s.dx"
1538       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
1539       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
1540       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ContinuousFunction_Scalar.dx",data=x[0])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ContinuousFunction_Scalar.dx"),data=x[0])
1541       self.check_dx("hex_contact_2D_order2_ContinuousFunction_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order2_ContinuousFunction_Scalar.dx",reference)
1542    def test_hex_contact_2D_order2_ContinuousFunction_Vector_dx(self):    def test_hex_contact_2D_order2_ContinuousFunction_Vector_dx(self):
1543       reference="hex_2D_o2_node_v.dx"       reference="hex_2D_o2_node_v.dx"
1544       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
1545       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
1546       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ContinuousFunction_Vector.dx",data=x[0]*[1.,2.])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ContinuousFunction_Vector.dx"),data=x[0]*[1.,2.])
1547       self.check_dx("hex_contact_2D_order2_ContinuousFunction_Vector.dx",reference)       self.check_dx("hex_contact_2D_order2_ContinuousFunction_Vector.dx",reference)
1548    def test_hex_contact_2D_order2_ContinuousFunction_Tensor_dx(self):    def test_hex_contact_2D_order2_ContinuousFunction_Tensor_dx(self):
1549       reference="hex_2D_o2_node_t.dx"       reference="hex_2D_o2_node_t.dx"
1550       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
1551       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
1552       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ContinuousFunction_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ContinuousFunction_Tensor.dx"),data=x[0]*[[11.,12.],[21.,22.]])
1553       self.check_dx("hex_contact_2D_order2_ContinuousFunction_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order2_ContinuousFunction_Tensor.dx",reference)
1554    def test_hex_contact_2D_order2_Solution_Scalar_dx(self):    def test_hex_contact_2D_order2_Solution_Scalar_dx(self):
1555       reference="hex_2D_o2_node_s.dx"       reference="hex_2D_o2_node_s.dx"
1556       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
1557       x=Solution(dom).getX()       x=Solution(dom).getX()
1558       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Solution_Scalar.dx",data=x[0])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_Solution_Scalar.dx"),data=x[0])
1559       self.check_dx("hex_contact_2D_order2_Solution_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order2_Solution_Scalar.dx",reference)
1560    def test_hex_contact_2D_order2_Solution_Vector_dx(self):    def test_hex_contact_2D_order2_Solution_Vector_dx(self):
1561       reference="hex_2D_o2_node_v.dx"       reference="hex_2D_o2_node_v.dx"
1562       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
1563       x=Solution(dom).getX()       x=Solution(dom).getX()
1564       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Solution_Vector.dx",data=x[0]*[1.,2.])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_Solution_Vector.dx"),data=x[0]*[1.,2.])
1565       self.check_dx("hex_contact_2D_order2_Solution_Vector.dx",reference)       self.check_dx("hex_contact_2D_order2_Solution_Vector.dx",reference)
1566    def test_hex_contact_2D_order2_Solution_Tensor_dx(self):    def test_hex_contact_2D_order2_Solution_Tensor_dx(self):
1567       reference="hex_2D_o2_node_t.dx"       reference="hex_2D_o2_node_t.dx"
1568       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
1569       x=Solution(dom).getX()       x=Solution(dom).getX()
1570       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Solution_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_Solution_Tensor.dx"),data=x[0]*[[11.,12.],[21.,22.]])
1571       self.check_dx("hex_contact_2D_order2_Solution_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order2_Solution_Tensor.dx",reference)
1572    def test_hex_contact_2D_order2_ReducedSolution_Scalar_dx(self):    def test_hex_contact_2D_order2_ReducedSolution_Scalar_dx(self):
1573       reference="hex_2D_o1_node_s.dx"       reference="hex_2D_o1_node_s.dx"
1574       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
1575       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
1576       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedSolution_Scalar.dx",data=x[0])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedSolution_Scalar.dx"),data=x[0])
1577       self.check_dx("hex_contact_2D_order2_ReducedSolution_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order2_ReducedSolution_Scalar.dx",reference)
1578    def test_hex_contact_2D_order2_ReducedSolution_Vector_dx(self):    def test_hex_contact_2D_order2_ReducedSolution_Vector_dx(self):
1579       reference="hex_2D_o1_node_v.dx"       reference="hex_2D_o1_node_v.dx"
1580       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
1581       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
1582       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedSolution_Vector.dx",data=x[0]*[1.,2.])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedSolution_Vector.dx"),data=x[0]*[1.,2.])
1583       self.check_dx("hex_contact_2D_order2_ReducedSolution_Vector.dx",reference)       self.check_dx("hex_contact_2D_order2_ReducedSolution_Vector.dx",reference)
1584    def test_hex_contact_2D_order2_ReducedSolution_Tensor_dx(self):    def test_hex_contact_2D_order2_ReducedSolution_Tensor_dx(self):
1585       reference="hex_2D_o1_node_t.dx"       reference="hex_2D_o1_node_t.dx"
1586       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
1587       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
1588       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedSolution_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedSolution_Tensor.dx"),data=x[0]*[[11.,12.],[21.,22.]])
1589       self.check_dx("hex_contact_2D_order2_ReducedSolution_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order2_ReducedSolution_Tensor.dx",reference)
1590    def test_hex_contact_2D_order2_Function_Scalar_dx(self):    def test_hex_contact_2D_order2_Function_Scalar_dx(self):
1591       reference="hex_2D_o2_cell_s.dx"       reference="hex_2D_o2_cell_s.dx"
1592       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
1593       x=Function(dom).getX()       x=Function(dom).getX()
1594       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Function_Scalar.dx",data=x[0])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_Function_Scalar.dx"),data=x[0])
1595       self.check_dx("hex_contact_2D_order2_Function_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order2_Function_Scalar.dx",reference)
1596    def test_hex_contact_2D_order2_Function_Vector_dx(self):    def test_hex_contact_2D_order2_Function_Vector_dx(self):
1597       reference="hex_2D_o2_cell_v.dx"       reference="hex_2D_o2_cell_v.dx"
1598       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
1599       x=Function(dom).getX()       x=Function(dom).getX()
1600       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Function_Vector.dx",data=x[0]*[1.,2.])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_Function_Vector.dx"),data=x[0]*[1.,2.])
1601       self.check_dx("hex_contact_2D_order2_Function_Vector.dx",reference)       self.check_dx("hex_contact_2D_order2_Function_Vector.dx",reference)
1602    def test_hex_contact_2D_order2_Function_Tensor_dx(self):    def test_hex_contact_2D_order2_Function_Tensor_dx(self):
1603       reference="hex_2D_o2_cell_t.dx"       reference="hex_2D_o2_cell_t.dx"
1604       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
1605       x=Function(dom).getX()       x=Function(dom).getX()
1606       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Function_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_Function_Tensor.dx"),data=x[0]*[[11.,12.],[21.,22.]])
1607       self.check_dx("hex_contact_2D_order2_Function_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order2_Function_Tensor.dx",reference)
1608    def test_hex_contact_2D_order2_ReducedFunction_Scalar_dx(self):    def test_hex_contact_2D_order2_ReducedFunction_Scalar_dx(self):
1609       reference="hex_2D_o2_cell_s.dx"       reference="hex_2D_o2_cell_s.dx"
1610       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
1611       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
1612       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunction_Scalar.dx",data=x[0])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedFunction_Scalar.dx"),data=x[0])
1613       self.check_dx("hex_contact_2D_order2_ReducedFunction_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order2_ReducedFunction_Scalar.dx",reference)
1614    def test_hex_contact_2D_order2_ReducedFunction_Vector_dx(self):    def test_hex_contact_2D_order2_ReducedFunction_Vector_dx(self):
1615       reference="hex_2D_o2_cell_v.dx"       reference="hex_2D_o2_cell_v.dx"
1616       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
1617       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
1618       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunction_Vector.dx",data=x[0]*[1.,2.])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedFunction_Vector.dx"),data=x[0]*[1.,2.])
1619       self.check_dx("hex_contact_2D_order2_ReducedFunction_Vector.dx",reference)       self.check_dx("hex_contact_2D_order2_ReducedFunction_Vector.dx",reference)
1620    def test_hex_contact_2D_order2_ReducedFunction_Tensor_dx(self):    def test_hex_contact_2D_order2_ReducedFunction_Tensor_dx(self):
1621       reference="hex_2D_o2_cell_t.dx"       reference="hex_2D_o2_cell_t.dx"
1622       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
1623       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
1624       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunction_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedFunction_Tensor.dx"),data=x[0]*[[11.,12.],[21.,22.]])
1625       self.check_dx("hex_contact_2D_order2_ReducedFunction_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order2_ReducedFunction_Tensor.dx",reference)
1626    def test_hex_contact_2D_order2_FunctionOnBoundary_Scalar_dx(self):    def test_hex_contact_2D_order2_FunctionOnBoundary_Scalar_dx(self):
1627       reference="hex_2D_o2_boundary_s.dx"       reference="hex_2D_o2_boundary_s.dx"
1628       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
1629       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
1630       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnBoundary_Scalar.dx",data=x[0])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_FunctionOnBoundary_Scalar.dx"),data=x[0])
1631       self.check_dx("hex_contact_2D_order2_FunctionOnBoundary_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order2_FunctionOnBoundary_Scalar.dx",reference)
1632    def test_hex_contact_2D_order2_FunctionOnBoundary_Vector_dx(self):    def test_hex_contact_2D_order2_FunctionOnBoundary_Vector_dx(self):
1633       reference="hex_2D_o2_boundary_v.dx"       reference="hex_2D_o2_boundary_v.dx"
1634       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
1635       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
1636       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnBoundary_Vector.dx",data=x[0]*[1.,2.])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_FunctionOnBoundary_Vector.dx"),data=x[0]*[1.,2.])
1637       self.check_dx("hex_contact_2D_order2_FunctionOnBoundary_Vector.dx",reference)       self.check_dx("hex_contact_2D_order2_FunctionOnBoundary_Vector.dx",reference)
1638    def test_hex_contact_2D_order2_FunctionOnBoundary_Tensor_dx(self):    def test_hex_contact_2D_order2_FunctionOnBoundary_Tensor_dx(self):
1639       reference="hex_2D_o2_boundary_t.dx"       reference="hex_2D_o2_boundary_t.dx"
1640       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
1641       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
1642       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnBoundary_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_FunctionOnBoundary_Tensor.dx"),data=x[0]*[[11.,12.],[21.,22.]])
1643       self.check_dx("hex_contact_2D_order2_FunctionOnBoundary_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order2_FunctionOnBoundary_Tensor.dx",reference)
1644    def test_hex_contact_2D_order2_ReducedFunctionOnBoundary_Scalar_dx(self):    def test_hex_contact_2D_order2_ReducedFunctionOnBoundary_Scalar_dx(self):
1645       reference="hex_2D_o2_boundary_s.dx"       reference="hex_2D_o2_boundary_s.dx"
1646       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
1647       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
1648       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnBoundary_Scalar.dx",data=x[0])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedFunctionOnBoundary_Scalar.dx"),data=x[0])
1649       self.check_dx("hex_contact_2D_order2_ReducedFunctionOnBoundary_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order2_ReducedFunctionOnBoundary_Scalar.dx",reference)
1650    def test_hex_contact_2D_order2_ReducedFunctionOnBoundary_Vector_dx(self):    def test_hex_contact_2D_order2_ReducedFunctionOnBoundary_Vector_dx(self):
1651       reference="hex_2D_o2_boundary_v.dx"       reference="hex_2D_o2_boundary_v.dx"
1652       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
1653       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
1654       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnBoundary_Vector.dx",data=x[0]*[1.,2.])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedFunctionOnBoundary_Vector.dx"),data=x[0]*[1.,2.])
1655       self.check_dx("hex_contact_2D_order2_ReducedFunctionOnBoundary_Vector.dx",reference)       self.check_dx("hex_contact_2D_order2_ReducedFunctionOnBoundary_Vector.dx",reference)
1656    def test_hex_contact_2D_order2_ReducedFunctionOnBoundary_Tensor_dx(self):    def test_hex_contact_2D_order2_ReducedFunctionOnBoundary_Tensor_dx(self):
1657       reference="hex_2D_o2_boundary_t.dx"       reference="hex_2D_o2_boundary_t.dx"
1658       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_2D_order2.msh"))
1659       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
1660       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnBoundary_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_2D_order2_ReducedFunctionOnBoundary_Tensor.dx"),data=x[0]*[[11.,12.],[21.,22.]])
1661       self.check_dx("hex_contact_2D_order2_ReducedFunctionOnBoundary_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order2_ReducedFunctionOnBoundary_Tensor.dx",reference)
1662    # ======================================================================================================================    # ======================================================================================================================
1663    def test_hex_contact_3D_order1_ContinuousFunction_Scalar_dx(self):    def test_hex_contact_3D_order1_ContinuousFunction_Scalar_dx(self):
1664       reference="hex_3D_o1_node_s.dx"       reference="hex_3D_o1_node_s.dx"
1665       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
1666       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
1667       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ContinuousFunction_Scalar.dx",data=x[0])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ContinuousFunction_Scalar.dx"),data=x[0])
1668       self.check_dx("hex_contact_3D_order1_ContinuousFunction_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order1_ContinuousFunction_Scalar.dx",reference)
1669    def test_hex_contact_3D_order1_ContinuousFunction_Vector_dx(self):    def test_hex_contact_3D_order1_ContinuousFunction_Vector_dx(self):
1670       reference="hex_3D_o1_node_v.dx"       reference="hex_3D_o1_node_v.dx"
1671       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
1672       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
1673       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ContinuousFunction_Vector.dx",data=x[0]*[1.,2.,3.])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ContinuousFunction_Vector.dx"),data=x[0]*[1.,2.,3.])
1674       self.check_dx("hex_contact_3D_order1_ContinuousFunction_Vector.dx",reference)       self.check_dx("hex_contact_3D_order1_ContinuousFunction_Vector.dx",reference)
1675    def test_hex_contact_3D_order1_ContinuousFunction_Tensor_dx(self):    def test_hex_contact_3D_order1_ContinuousFunction_Tensor_dx(self):
1676       reference="hex_3D_o1_node_t.dx"       reference="hex_3D_o1_node_t.dx"
1677       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
1678       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
1679       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ContinuousFunction_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
1680       self.check_dx("hex_contact_3D_order1_ContinuousFunction_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order1_ContinuousFunction_Tensor.dx",reference)
1681    def test_hex_contact_3D_order1_Solution_Scalar_dx(self):    def test_hex_contact_3D_order1_Solution_Scalar_dx(self):
1682       reference="hex_3D_o1_node_s.dx"       reference="hex_3D_o1_node_s.dx"
1683       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
1684       x=Solution(dom).getX()       x=Solution(dom).getX()
1685       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Solution_Scalar.dx",data=x[0])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_Solution_Scalar.dx"),data=x[0])
1686       self.check_dx("hex_contact_3D_order1_Solution_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order1_Solution_Scalar.dx",reference)
1687    def test_hex_contact_3D_order1_Solution_Vector_dx(self):    def test_hex_contact_3D_order1_Solution_Vector_dx(self):
1688       reference="hex_3D_o1_node_v.dx"       reference="hex_3D_o1_node_v.dx"
1689       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
1690       x=Solution(dom).getX()       x=Solution(dom).getX()
1691       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Solution_Vector.dx",data=x[0]*[1.,2.,3.])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_Solution_Vector.dx"),data=x[0]*[1.,2.,3.])
1692       self.check_dx("hex_contact_3D_order1_Solution_Vector.dx",reference)       self.check_dx("hex_contact_3D_order1_Solution_Vector.dx",reference)
1693    def test_hex_contact_3D_order1_Solution_Tensor_dx(self):    def test_hex_contact_3D_order1_Solution_Tensor_dx(self):
1694       reference="hex_3D_o1_node_t.dx"       reference="hex_3D_o1_node_t.dx"
1695       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
1696       x=Solution(dom).getX()       x=Solution(dom).getX()
1697       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Solution_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
1698       self.check_dx("hex_contact_3D_order1_Solution_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order1_Solution_Tensor.dx",reference)
1699    def test_hex_contact_3D_order1_ReducedSolution_Scalar_dx(self):    def test_hex_contact_3D_order1_ReducedSolution_Scalar_dx(self):
1700       reference="hex_3D_o1_node_s.dx"       reference="hex_3D_o1_node_s.dx"
1701       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
1702       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
1703       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedSolution_Scalar.dx",data=x[0])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedSolution_Scalar.dx"),data=x[0])
1704       self.check_dx("hex_contact_3D_order1_ReducedSolution_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order1_ReducedSolution_Scalar.dx",reference)
1705    def test_hex_contact_3D_order1_ReducedSolution_Vector_dx(self):    def test_hex_contact_3D_order1_ReducedSolution_Vector_dx(self):
1706       reference="hex_3D_o1_node_v.dx"       reference="hex_3D_o1_node_v.dx"
1707       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
1708       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
1709       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedSolution_Vector.dx",data=x[0]*[1.,2.,3.])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedSolution_Vector.dx"),data=x[0]*[1.,2.,3.])
1710       self.check_dx("hex_contact_3D_order1_ReducedSolution_Vector.dx",reference)       self.check_dx("hex_contact_3D_order1_ReducedSolution_Vector.dx",reference)
1711    def test_hex_contact_3D_order1_ReducedSolution_Tensor_dx(self):    def test_hex_contact_3D_order1_ReducedSolution_Tensor_dx(self):
1712       reference="hex_3D_o1_node_t.dx"       reference="hex_3D_o1_node_t.dx"
1713       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
1714       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
1715       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedSolution_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
1716       self.check_dx("hex_contact_3D_order1_ReducedSolution_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order1_ReducedSolution_Tensor.dx",reference)
1717    def test_hex_contact_3D_order1_Function_Scalar_dx(self):    def test_hex_contact_3D_order1_Function_Scalar_dx(self):
1718       reference="hex_3D_o1_cell_s.dx"       reference="hex_3D_o1_cell_s.dx"
1719       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
1720       x=Function(dom).getX()       x=Function(dom).getX()
1721       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Function_Scalar.dx",data=x[0])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_Function_Scalar.dx"),data=x[0])
1722       self.check_dx("hex_contact_3D_order1_Function_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order1_Function_Scalar.dx",reference)
1723    def test_hex_contact_3D_order1_Function_Vector_dx(self):    def test_hex_contact_3D_order1_Function_Vector_dx(self):
1724       reference="hex_3D_o1_cell_v.dx"       reference="hex_3D_o1_cell_v.dx"
1725       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
1726       x=Function(dom).getX()       x=Function(dom).getX()
1727       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Function_Vector.dx",data=x[0]*[1.,2.,3.])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_Function_Vector.dx"),data=x[0]*[1.,2.,3.])
1728       self.check_dx("hex_contact_3D_order1_Function_Vector.dx",reference)       self.check_dx("hex_contact_3D_order1_Function_Vector.dx",reference)
1729    def test_hex_contact_3D_order1_Function_Tensor_dx(self):    def test_hex_contact_3D_order1_Function_Tensor_dx(self):
1730       reference="hex_3D_o1_cell_t.dx"       reference="hex_3D_o1_cell_t.dx"
1731       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
1732       x=Function(dom).getX()       x=Function(dom).getX()
1733       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Function_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
1734       self.check_dx("hex_contact_3D_order1_Function_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order1_Function_Tensor.dx",reference)
1735    def test_hex_contact_3D_order1_ReducedFunction_Scalar_dx(self):    def test_hex_contact_3D_order1_ReducedFunction_Scalar_dx(self):
1736       reference="hex_3D_o1_cell_s.dx"       reference="hex_3D_o1_cell_s.dx"
1737       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
1738       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
1739       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunction_Scalar.dx",data=x[0])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedFunction_Scalar.dx"),data=x[0])
1740       self.check_dx("hex_contact_3D_order1_ReducedFunction_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order1_ReducedFunction_Scalar.dx",reference)
1741    def test_hex_contact_3D_order1_ReducedFunction_Vector_dx(self):    def test_hex_contact_3D_order1_ReducedFunction_Vector_dx(self):
1742       reference="hex_3D_o1_cell_v.dx"       reference="hex_3D_o1_cell_v.dx"
1743       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
1744       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
1745       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunction_Vector.dx",data=x[0]*[1.,2.,3.])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedFunction_Vector.dx"),data=x[0]*[1.,2.,3.])
1746       self.check_dx("hex_contact_3D_order1_ReducedFunction_Vector.dx",reference)       self.check_dx("hex_contact_3D_order1_ReducedFunction_Vector.dx",reference)
1747    def test_hex_contact_3D_order1_ReducedFunction_Tensor_dx(self):    def test_hex_contact_3D_order1_ReducedFunction_Tensor_dx(self):
1748       reference="hex_3D_o1_cell_t.dx"       reference="hex_3D_o1_cell_t.dx"
1749       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
1750       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
1751       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunction_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
1752       self.check_dx("hex_contact_3D_order1_ReducedFunction_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order1_ReducedFunction_Tensor.dx",reference)
1753    def test_hex_contact_3D_order1_FunctionOnBoundary_Scalar_dx(self):    def test_hex_contact_3D_order1_FunctionOnBoundary_Scalar_dx(self):
1754       reference="hex_3D_o1_boundary_s.dx"       reference="hex_3D_o1_boundary_s.dx"
1755       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
1756       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
1757       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnBoundary_Scalar.dx",data=x[0])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_FunctionOnBoundary_Scalar.dx"),data=x[0])
1758       self.check_dx("hex_contact_3D_order1_FunctionOnBoundary_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order1_FunctionOnBoundary_Scalar.dx",reference)
1759    def test_hex_contact_3D_order1_FunctionOnBoundary_Vector_dx(self):    def test_hex_contact_3D_order1_FunctionOnBoundary_Vector_dx(self):
1760       reference="hex_3D_o1_boundary_v.dx"       reference="hex_3D_o1_boundary_v.dx"
1761       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
1762       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
1763       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnBoundary_Vector.dx",data=x[0]*[1.,2.,3.])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_FunctionOnBoundary_Vector.dx"),data=x[0]*[1.,2.,3.])
1764       self.check_dx("hex_contact_3D_order1_FunctionOnBoundary_Vector.dx",reference)       self.check_dx("hex_contact_3D_order1_FunctionOnBoundary_Vector.dx",reference)
1765    def test_hex_contact_3D_order1_FunctionOnBoundary_Tensor_dx(self):    def test_hex_contact_3D_order1_FunctionOnBoundary_Tensor_dx(self):
1766       reference="hex_3D_o1_boundary_t.dx"       reference="hex_3D_o1_boundary_t.dx"
1767       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
1768       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
1769       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnBoundary_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
1770       self.check_dx("hex_contact_3D_order1_FunctionOnBoundary_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order1_FunctionOnBoundary_Tensor.dx",reference)
1771    def test_hex_contact_3D_order1_ReducedFunctionOnBoundary_Scalar_dx(self):    def test_hex_contact_3D_order1_ReducedFunctionOnBoundary_Scalar_dx(self):
1772       reference="hex_3D_o1_boundary_s.dx"       reference="hex_3D_o1_boundary_s.dx"
1773       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
1774       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
1775       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnBoundary_Scalar.dx",data=x[0])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedFunctionOnBoundary_Scalar.dx"),data=x[0])
1776       self.check_dx("hex_contact_3D_order1_ReducedFunctionOnBoundary_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order1_ReducedFunctionOnBoundary_Scalar.dx",reference)
1777    def test_hex_contact_3D_order1_ReducedFunctionOnBoundary_Vector_dx(self):    def test_hex_contact_3D_order1_ReducedFunctionOnBoundary_Vector_dx(self):
1778       reference="hex_3D_o1_boundary_v.dx"       reference="hex_3D_o1_boundary_v.dx"
1779       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
1780       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
1781       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnBoundary_Vector.dx",data=x[0]*[1.,2.,3.])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order1_ReducedFunctionOnBoundary_Vector.dx"),data=x[0]*[1.,2.,3.])
1782       self.check_dx("hex_contact_3D_order1_ReducedFunctionOnBoundary_Vector.dx",reference)       self.check_dx("hex_contact_3D_order1_ReducedFunctionOnBoundary_Vector.dx",reference)
1783    def test_hex_contact_3D_order1_ReducedFunctionOnBoundary_Tensor_dx(self):    def test_hex_contact_3D_order1_ReducedFunctionOnBoundary_Tensor_dx(self):
1784       reference="hex_3D_o1_boundary_t.dx"       reference="hex_3D_o1_boundary_t.dx"
1785       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order1.msh"))
1786       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
1787       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnBoundary_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
1788       self.check_dx("hex_contact_3D_order1_ReducedFunctionOnBoundary_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order1_ReducedFunctionOnBoundary_Tensor.dx",reference)
1789    # ======================================================================================================================    # ======================================================================================================================
1790    def test_hex_contact_3D_order2_ContinuousFunction_Scalar_dx(self):    def test_hex_contact_3D_order2_ContinuousFunction_Scalar_dx(self):
1791       reference="hex_3D_o1_node_s.dx"       reference="hex_3D_o1_node_s.dx"
1792       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1793       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
1794       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ContinuousFunction_Scalar.dx",data=x[0])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ContinuousFunction_Scalar.dx"),data=x[0])
1795       self.check_dx("hex_contact_3D_order2_ContinuousFunction_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order2_ContinuousFunction_Scalar.dx",reference)
1796    def test_hex_contact_3D_order2_ContinuousFunction_Vector_dx(self):    def test_hex_contact_3D_order2_ContinuousFunction_Vector_dx(self):
1797       reference="hex_3D_o1_node_v.dx"       reference="hex_3D_o1_node_v.dx"
1798       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1799       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
1800       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ContinuousFunction_Vector.dx",data=x[0]*[1.,2.,3.])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ContinuousFunction_Vector.dx"),data=x[0]*[1.,2.,3.])
1801       self.check_dx("hex_contact_3D_order2_ContinuousFunction_Vector.dx",reference)       self.check_dx("hex_contact_3D_order2_ContinuousFunction_Vector.dx",reference)
1802    def test_hex_contact_3D_order2_ContinuousFunction_Tensor_dx(self):    def test_hex_contact_3D_order2_ContinuousFunction_Tensor_dx(self):
1803       reference="hex_3D_o1_node_t.dx"       reference="hex_3D_o1_node_t.dx"
1804       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1805       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
1806       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ContinuousFunction_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
1807       self.check_dx("hex_contact_3D_order2_ContinuousFunction_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order2_ContinuousFunction_Tensor.dx",reference)
1808    def test_hex_contact_3D_order2_Solution_Scalar_dx(self):    def test_hex_contact_3D_order2_Solution_Scalar_dx(self):
1809       reference="hex_3D_o1_node_s.dx"       reference="hex_3D_o1_node_s.dx"
1810       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1811       x=Solution(dom).getX()       x=Solution(dom).getX()
1812       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Solution_Scalar.dx",data=x[0])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_Solution_Scalar.dx"),data=x[0])
1813       self.check_dx("hex_contact_3D_order2_Solution_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order2_Solution_Scalar.dx",reference)
1814    def test_hex_contact_3D_order2_Solution_Vector_dx(self):    def test_hex_contact_3D_order2_Solution_Vector_dx(self):
1815       reference="hex_3D_o1_node_v.dx"       reference="hex_3D_o1_node_v.dx"
1816       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1817       x=Solution(dom).getX()       x=Solution(dom).getX()
1818       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Solution_Vector.dx",data=x[0]*[1.,2.,3.])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_Solution_Vector.dx"),data=x[0]*[1.,2.,3.])
1819       self.check_dx("hex_contact_3D_order2_Solution_Vector.dx",reference)       self.check_dx("hex_contact_3D_order2_Solution_Vector.dx",reference)
1820    def test_hex_contact_3D_order2_Solution_Tensor_dx(self):    def test_hex_contact_3D_order2_Solution_Tensor_dx(self):
1821       reference="hex_3D_o1_node_t.dx"       reference="hex_3D_o1_node_t.dx"
1822       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1823       x=Solution(dom).getX()       x=Solution(dom).getX()
1824       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Solution_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
1825       self.check_dx("hex_contact_3D_order2_Solution_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order2_Solution_Tensor.dx",reference)
1826    def test_hex_contact_3D_order2_ReducedSolution_Scalar_dx(self):    def test_hex_contact_3D_order2_ReducedSolution_Scalar_dx(self):
1827       reference="hex_3D_o1_node_s.dx"       reference="hex_3D_o1_node_s.dx"
1828       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1829       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
1830       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedSolution_Scalar.dx",data=x[0])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedSolution_Scalar.dx"),data=x[0])
1831       self.check_dx("hex_contact_3D_order2_ReducedSolution_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order2_ReducedSolution_Scalar.dx",reference)
1832    def test_hex_contact_3D_order2_ReducedSolution_Vector_dx(self):    def test_hex_contact_3D_order2_ReducedSolution_Vector_dx(self):
1833       reference="hex_3D_o1_node_v.dx"       reference="hex_3D_o1_node_v.dx"
1834       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1835       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
1836       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedSolution_Vector.dx",data=x[0]*[1.,2.,3.])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedSolution_Vector.dx"),data=x[0]*[1.,2.,3.])
1837       self.check_dx("hex_contact_3D_order2_ReducedSolution_Vector.dx",reference)       self.check_dx("hex_contact_3D_order2_ReducedSolution_Vector.dx",reference)
1838    def test_hex_contact_3D_order2_ReducedSolution_Tensor_dx(self):    def test_hex_contact_3D_order2_ReducedSolution_Tensor_dx(self):
1839       reference="hex_3D_o1_node_t.dx"       reference="hex_3D_o1_node_t.dx"
1840       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1841       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
1842       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedSolution_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
1843       self.check_dx("hex_contact_3D_order2_ReducedSolution_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order2_ReducedSolution_Tensor.dx",reference)
1844    def test_hex_contact_3D_order2_Function_Scalar_dx(self):    def test_hex_contact_3D_order2_Function_Scalar_dx(self):
1845       reference="hex_3D_o1_cell_s.dx"       reference="hex_3D_o1_cell_s.dx"
1846       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1847       x=Function(dom).getX()       x=Function(dom).getX()
1848       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Function_Scalar.dx",data=x[0])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_Function_Scalar.dx"),data=x[0])
1849       self.check_dx("hex_contact_3D_order2_Function_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order2_Function_Scalar.dx",reference)
1850    def test_hex_contact_3D_order2_Function_Vector_dx(self):    def test_hex_contact_3D_order2_Function_Vector_dx(self):
1851       reference="hex_3D_o1_cell_v.dx"       reference="hex_3D_o1_cell_v.dx"
1852       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1853       x=Function(dom).getX()       x=Function(dom).getX()
1854       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Function_Vector.dx",data=x[0]*[1.,2.,3.])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_Function_Vector.dx"),data=x[0]*[1.,2.,3.])
1855       self.check_dx("hex_contact_3D_order2_Function_Vector.dx",reference)       self.check_dx("hex_contact_3D_order2_Function_Vector.dx",reference)
1856    def test_hex_contact_3D_order2_Function_Tensor_dx(self):    def test_hex_contact_3D_order2_Function_Tensor_dx(self):
1857       reference="hex_3D_o1_cell_t.dx"       reference="hex_3D_o1_cell_t.dx"
1858       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1859       x=Function(dom).getX()       x=Function(dom).getX()
1860       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Function_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
1861       self.check_dx("hex_contact_3D_order2_Function_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order2_Function_Tensor.dx",reference)
1862    def test_hex_contact_3D_order2_ReducedFunction_Scalar_dx(self):    def test_hex_contact_3D_order2_ReducedFunction_Scalar_dx(self):
1863       reference="hex_3D_o1_cell_s.dx"       reference="hex_3D_o1_cell_s.dx"
1864       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1865       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
1866       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunction_Scalar.dx",data=x[0])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedFunction_Scalar.dx"),data=x[0])
1867       self.check_dx("hex_contact_3D_order2_ReducedFunction_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order2_ReducedFunction_Scalar.dx",reference)
1868    def test_hex_contact_3D_order2_ReducedFunction_Vector_dx(self):    def test_hex_contact_3D_order2_ReducedFunction_Vector_dx(self):
1869       reference="hex_3D_o1_cell_v.dx"       reference="hex_3D_o1_cell_v.dx"
1870       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1871       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
1872       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunction_Vector.dx",data=x[0]*[1.,2.,3.])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedFunction_Vector.dx"),data=x[0]*[1.,2.,3.])
1873       self.check_dx("hex_contact_3D_order2_ReducedFunction_Vector.dx",reference)       self.check_dx("hex_contact_3D_order2_ReducedFunction_Vector.dx",reference)
1874    def test_hex_contact_3D_order2_ReducedFunction_Tensor_dx(self):    def test_hex_contact_3D_order2_ReducedFunction_Tensor_dx(self):
1875       reference="hex_3D_o1_cell_t.dx"       reference="hex_3D_o1_cell_t.dx"
1876       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1877       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
1878       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunction_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
1879       self.check_dx("hex_contact_3D_order2_ReducedFunction_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order2_ReducedFunction_Tensor.dx",reference)
1880    def test_hex_contact_3D_order2_FunctionOnBoundary_Scalar_dx(self):    def test_hex_contact_3D_order2_FunctionOnBoundary_Scalar_dx(self):
1881       reference="hex_3D_o1_boundary_s.dx"       reference="hex_3D_o1_boundary_s.dx"
1882       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1883       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
1884       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnBoundary_Scalar.dx",data=x[0])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_FunctionOnBoundary_Scalar.dx"),data=x[0])
1885       self.check_dx("hex_contact_3D_order2_FunctionOnBoundary_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order2_FunctionOnBoundary_Scalar.dx",reference)
1886    def test_hex_contact_3D_order2_FunctionOnBoundary_Vector_dx(self):    def test_hex_contact_3D_order2_FunctionOnBoundary_Vector_dx(self):
1887       reference="hex_3D_o1_boundary_v.dx"       reference="hex_3D_o1_boundary_v.dx"
1888       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1889       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
1890       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnBoundary_Vector.dx",data=x[0]*[1.,2.,3.])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_FunctionOnBoundary_Vector.dx"),data=x[0]*[1.,2.,3.])
1891       self.check_dx("hex_contact_3D_order2_FunctionOnBoundary_Vector.dx",reference)       self.check_dx("hex_contact_3D_order2_FunctionOnBoundary_Vector.dx",reference)
1892    def test_hex_contact_3D_order2_FunctionOnBoundary_Tensor_dx(self):    def test_hex_contact_3D_order2_FunctionOnBoundary_Tensor_dx(self):
1893       reference="hex_3D_o1_boundary_t.dx"       reference="hex_3D_o1_boundary_t.dx"
1894       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1895       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
1896       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnBoundary_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
1897       self.check_dx("hex_contact_3D_order2_FunctionOnBoundary_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order2_FunctionOnBoundary_Tensor.dx",reference)
1898    def test_hex_contact_3D_order2_ReducedFunctionOnBoundary_Scalar_dx(self):    def test_hex_contact_3D_order2_ReducedFunctionOnBoundary_Scalar_dx(self):
1899       reference="hex_3D_o1_boundary_s.dx"       reference="hex_3D_o1_boundary_s.dx"
1900       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1901       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
1902       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnBoundary_Scalar.dx",data=x[0])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedFunctionOnBoundary_Scalar.dx"),data=x[0])
1903       self.check_dx("hex_contact_3D_order2_ReducedFunctionOnBoundary_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order2_ReducedFunctionOnBoundary_Scalar.dx",reference)
1904    def test_hex_contact_3D_order2_ReducedFunctionOnBoundary_Vector_dx(self):    def test_hex_contact_3D_order2_ReducedFunctionOnBoundary_Vector_dx(self):
1905       reference="hex_3D_o1_boundary_v.dx"       reference="hex_3D_o1_boundary_v.dx"
1906       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1907       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
1908       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnBoundary_Vector.dx",data=x[0]*[1.,2.,3.])       saveDX(os.path.join(FINLEY_WORKDIR_PATH,"hex_contact_3D_order2_ReducedFunctionOnBoundary_Vector.dx"),data=x[0]*[1.,2.,3.])
1909       self.check_dx("hex_contact_3D_order2_ReducedFunctionOnBoundary_Vector.dx",reference)       self.check_dx("hex_contact_3D_order2_ReducedFunctionOnBoundary_Vector.dx",reference)
1910    def test_hex_contact_3D_order2_ReducedFunctionOnBoundary_Tensor_dx(self):    def test_hex_contact_3D_order2_ReducedFunctionOnBoundary_Tensor_dx(self):
1911       reference="hex_3D_o1_boundary_t.dx"       reference="hex_3D_o1_boundary_t.dx"
1912       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"hex_contact_3D_order2.msh"))
1913       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
1914       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnBoundary_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       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.]])
1915       self.check_dx("hex_contact_3D_order2_ReducedFunctionOnBoundary_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order2_ReducedFunctionOnBoundary_Tensor.dx",reference)
1916    
1917    

Legend:
Removed from v.1065  
changed lines
  Added in v.1135

  ViewVC Help
Powered by ViewVC 1.1.26