/[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 1312 by ksteube, Mon Sep 24 06:18:44 2007 UTC
# Line 1  Line 1 
1    #
2  # $Id$  # $Id$
3    #
4    #######################################################
5    #
6    #           Copyright 2003-2007 by ACceSS MNRF
7    #       Copyright 2007 by University of Queensland
8    #
9    #                http://esscc.uq.edu.au
10    #        Primary Business: Queensland, Australia
11    #  Licensed under the Open Software License version 3.0
12    #     http://www.opensource.org/licenses/osl-3.0.php
13    #
14    #######################################################
15    #
16    
17  __copyright__="""  Copyright (c) 2006 by ACcESS MNRF  __copyright__="""  Copyright (c) 2006 by ACcESS MNRF
18                      http://www.access.edu.au                      http://www.access.edu.au
# Line 27  FINLEY_WORKDIR_PATH=FINLEY_WORKDIR+"/" Line 41  FINLEY_WORKDIR_PATH=FINLEY_WORKDIR+"/"
41    
42  class Test_VisualizationInterface(unittest.TestCase):  class Test_VisualizationInterface(unittest.TestCase):
43     def check_vtk(self,f,reference_f):     def check_vtk(self,f,reference_f):
44        out_string=open(FINLEY_WORKDIR_PATH+f).read().splitlines()        # if reference_f.startswith("tet_"): os.link(os.path.join(FINLEY_WORKDIR_PATH,f),os.path.join(FINLEY_TEST_MESH_PATH,reference_f))
45        ref_string=open(FINLEY_TEST_MESH_PATH+reference_f).read().splitlines()        out_string=open(os.path.join(FINLEY_WORKDIR_PATH,f)).read().splitlines()
46          ref_string=open(os.path.join(FINLEY_TEST_MESH_PATH,reference_f)).read().splitlines()
47        c=0        c=0
48        for l in range(0,len(ref_string)):        for l in range(0,len(ref_string)):
49           if not ref_string[l].strip()[:2]=="<!":           if not ref_string[l].strip()[:2]=="<!":
50             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()
51           if os.name == "nt":
52               line=line.replace("e+00","e+0").replace("e-00","e-0")
53           line=line.replace("e-00","e+00").replace("-0.000000e+00","0.000000e+00")
54               self.failUnlessEqual(line,ref_string[l].strip(),"line %d (%s) in vtk files does not match reference (%s)"%(c,line,ref_string[l].strip()))
55             c+=1             c+=1
56    
57     def check_dx(self,f,reference_f):     def check_dx(self,f,reference_f):
# Line 41  class Test_VisualizationInterface(unitte Line 60  class Test_VisualizationInterface(unitte
60        c=0        c=0
61        for l in range(0,len(ref_string)):        for l in range(0,len(ref_string)):
62           if not ref_string[l].strip()[0]=="#":           if not ref_string[l].strip()[0]=="#":
63             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()
64           if os.name == "nt":
65               line=line.replace("e+00","e+0").replace("e-00","e-0")
66           line=line.replace("e-00","e+00").replace("-0.000000e+00","0.000000e+00")
67               self.failUnlessEqual(line,ref_string[l].strip(),"line %d (%s) in dx file does not match reference (%s)"%(c,line,ref_string[l].strip()))
68             c+=1             c+=1
69    
70  class Test_VTKFiles(Test_VisualizationInterface):  class Test_VTKFiles(Test_VisualizationInterface):
71    # ======================================================================================================================    # ======================================================================================================================
72    def test_hex_2D_order2_vtk(self):    def test_hex_2D_order2_vtk(self):
73       reference="hex_2D_o2.xml"       reference="hex_2D_o2.xml"
74       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh",optimize=False)
75       saveVTK(FINLEY_WORKDIR_PATH+"hex_2D_order2.xml",domain=dom)       saveVTK(FINLEY_WORKDIR_PATH+"hex_2D_order2.xml",domain=dom)
76       self.check_vtk("hex_2D_order2.xml",reference)       self.check_vtk("hex_2D_order2.xml",reference)
77    
78    def test_hex_2D_order2_AllPoints_Scalar_vtk(self):    def test_hex_2D_order2_AllPoints_Scalar_vtk(self):
79       reference="hex_2D_o1_node_3xs.xml"       reference="hex_2D_o1_node_3xs.xml"
80       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh",optimize=False)
81       x=Solution(dom).getX()       x=Solution(dom).getX()
82       x_r=ReducedSolution(dom).getX()       x_r=ReducedSolution(dom).getX()
83       x_n=ContinuousFunction(dom).getX()       x_n=ContinuousFunction(dom).getX()
# Line 62  class Test_VTKFiles(Test_VisualizationIn Line 85  class Test_VTKFiles(Test_VisualizationIn
85       self.check_vtk("hex_2D_order2_AllPoints_Scalar.xml",reference)       self.check_vtk("hex_2D_order2_AllPoints_Scalar.xml",reference)
86    def test_hex_2D_order2_02Points_Scalar_vtk(self):    def test_hex_2D_order2_02Points_Scalar_vtk(self):
87       reference="hex_2D_o2_node_2xs.xml"       reference="hex_2D_o2_node_2xs.xml"
88       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh",optimize=False)
89       x=Solution(dom).getX()       x=Solution(dom).getX()
90       x_n=ContinuousFunction(dom).getX()       x_n=ContinuousFunction(dom).getX()
91       saveVTK(FINLEY_WORKDIR_PATH+"hex_2D_order2_O2Points_Scalar.xml",data_n=x_n[0],data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_2D_order2_O2Points_Scalar.xml",data_n=x_n[0],data=x[0])
92       self.check_vtk("hex_2D_order2_O2Points_Scalar.xml",reference)       self.check_vtk("hex_2D_order2_O2Points_Scalar.xml",reference)
93    def test_hex_2D_order2_2Cells_Scalar_vtk(self):    def test_hex_2D_order2_2Cells_Scalar_vtk(self):
94       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh",optimize=False)
95       x=Function(dom).getX()       x=Function(dom).getX()
96       x_b=FunctionOnBoundary(dom).getX()       x_b=FunctionOnBoundary(dom).getX()
97       try:       try:
# Line 77  class Test_VTKFiles(Test_VisualizationIn Line 100  class Test_VTKFiles(Test_VisualizationIn
100       except StandardError:       except StandardError:
101          pass          pass
102    def test_hex_2D_order2_BoundaryPoint_Scalar_vtk(self):    def test_hex_2D_order2_BoundaryPoint_Scalar_vtk(self):
103       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh",optimize=False)
104       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
105       x_b=FunctionOnBoundary(dom).getX()       x_b=FunctionOnBoundary(dom).getX()
106       try:       try:
# Line 87  class Test_VTKFiles(Test_VisualizationIn Line 110  class Test_VTKFiles(Test_VisualizationIn
110          pass          pass
111    def test_hex_2D_order2_Cells_AllData_vtk(self):    def test_hex_2D_order2_Cells_AllData_vtk(self):
112       reference="hex_2D_o2_cell_all.xml"       reference="hex_2D_o2_cell_all.xml"
113       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh",optimize=False)
114       x=Function(dom).getX()       x=Function(dom).getX()
115       saveVTK(FINLEY_WORKDIR_PATH+"hex_2D_order2_Cells_AllData.xml",data_s=x[0],data_v=x[0]*[1.,2.],data_t=x[0]*[[11.,12.],[21.,22.]],data_t2=x[0]*[[-11.,-12.],[-21.,-22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_2D_order2_Cells_AllData.xml",data_s=x[0],data_v=x[0]*[1.,2.],data_t=x[0]*[[11.,12.],[21.,22.]],data_t2=x[0]*[[-11.,-12.],[-21.,-22.]])
116       self.check_vtk("hex_2D_order2_Cells_AllData.xml",reference)       self.check_vtk("hex_2D_order2_Cells_AllData.xml",reference)
117    
118    def test_hex_2D_order2_CellsPoints_AllData_vtk(self):    def test_hex_2D_order2_CellsPoints_AllData_vtk(self):
119       reference="hex_2D_o2_cellnode_all.xml"       reference="hex_2D_o2_cellnode_all.xml"
120       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh",optimize=False)
121       x_c=Function(dom).getX()       x_c=Function(dom).getX()
122       x_p=ContinuousFunction(dom).getX()       x_p=ContinuousFunction(dom).getX()
123       saveVTK(FINLEY_WORKDIR_PATH+"hex_2D_order2_CellsPoints_AllData.xml",data_sp=x_p[0],       saveVTK(FINLEY_WORKDIR_PATH+"hex_2D_order2_CellsPoints_AllData.xml",data_sp=x_p[0],
# Line 107  class Test_VTKFiles(Test_VisualizationIn Line 130  class Test_VTKFiles(Test_VisualizationIn
130    # ======================================================================================================================    # ======================================================================================================================
131    def test_hex_contact_2D_order1_ContinuousFunction_Scalar_vtk(self):    def test_hex_contact_2D_order1_ContinuousFunction_Scalar_vtk(self):
132       reference="hex_2D_o1_node_s.xml"       reference="hex_2D_o1_node_s.xml"
133       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
134       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
135       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ContinuousFunction_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ContinuousFunction_Scalar.xml",data=x[0])
136       self.check_vtk("hex_contact_2D_order1_ContinuousFunction_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_ContinuousFunction_Scalar.xml",reference)
137    def test_hex_contact_2D_order1_ContinuousFunction_Vector_vtk(self):    def test_hex_contact_2D_order1_ContinuousFunction_Vector_vtk(self):
138       reference="hex_2D_o1_node_v.xml"       reference="hex_2D_o1_node_v.xml"
139       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
140       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
141       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ContinuousFunction_Vector.xml",data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ContinuousFunction_Vector.xml",data=x[0]*[1.,2.])
142       self.check_vtk("hex_contact_2D_order1_ContinuousFunction_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_ContinuousFunction_Vector.xml",reference)
143    def test_hex_contact_2D_order1_ContinuousFunction_Tensor_vtk(self):    def test_hex_contact_2D_order1_ContinuousFunction_Tensor_vtk(self):
144       reference="hex_2D_o1_node_t.xml"       reference="hex_2D_o1_node_t.xml"
145       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
146       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
147       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ContinuousFunction_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ContinuousFunction_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
148       self.check_vtk("hex_contact_2D_order1_ContinuousFunction_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_ContinuousFunction_Tensor.xml",reference)
149    def test_hex_contact_2D_order1_Solution_Scalar_vtk(self):    def test_hex_contact_2D_order1_Solution_Scalar_vtk(self):
150       reference="hex_2D_o1_node_s.xml"       reference="hex_2D_o1_node_s.xml"
151       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
152       x=Solution(dom).getX()       x=Solution(dom).getX()
153       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Solution_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Solution_Scalar.xml",data=x[0])
154       self.check_vtk("hex_contact_2D_order1_Solution_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_Solution_Scalar.xml",reference)
155    def test_hex_contact_2D_order1_Solution_Vector_vtk(self):    def test_hex_contact_2D_order1_Solution_Vector_vtk(self):
156       reference="hex_2D_o1_node_v.xml"       reference="hex_2D_o1_node_v.xml"
157       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
158       x=Solution(dom).getX()       x=Solution(dom).getX()
159       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Solution_Vector.xml",data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Solution_Vector.xml",data=x[0]*[1.,2.])
160       self.check_vtk("hex_contact_2D_order1_Solution_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_Solution_Vector.xml",reference)
161    def test_hex_contact_2D_order1_Solution_Tensor_vtk(self):    def test_hex_contact_2D_order1_Solution_Tensor_vtk(self):
162       reference="hex_2D_o1_node_t.xml"       reference="hex_2D_o1_node_t.xml"
163       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
164       x=Solution(dom).getX()       x=Solution(dom).getX()
165       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Solution_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Solution_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
166       self.check_vtk("hex_contact_2D_order1_Solution_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_Solution_Tensor.xml",reference)
167    def test_hex_contact_2D_order1_ReducedSolution_Scalar_vtk(self):    def test_hex_contact_2D_order1_ReducedSolution_Scalar_vtk(self):
168       reference="hex_2D_o1_node_s.xml"       reference="hex_2D_o1_node_s.xml"
169       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
170       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
171       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedSolution_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedSolution_Scalar.xml",data=x[0])
172       self.check_vtk("hex_contact_2D_order1_ReducedSolution_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedSolution_Scalar.xml",reference)
173    def test_hex_contact_2D_order1_ReducedSolution_Vector_vtk(self):    def test_hex_contact_2D_order1_ReducedSolution_Vector_vtk(self):
174       reference="hex_2D_o1_node_v.xml"       reference="hex_2D_o1_node_v.xml"
175       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
176       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
177       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedSolution_Vector.xml",data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedSolution_Vector.xml",data=x[0]*[1.,2.])
178       self.check_vtk("hex_contact_2D_order1_ReducedSolution_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedSolution_Vector.xml",reference)
179    def test_hex_contact_2D_order1_ReducedSolution_Tensor_vtk(self):    def test_hex_contact_2D_order1_ReducedSolution_Tensor_vtk(self):
180       reference="hex_2D_o1_node_t.xml"       reference="hex_2D_o1_node_t.xml"
181       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
182       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
183       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedSolution_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedSolution_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
184       self.check_vtk("hex_contact_2D_order1_ReducedSolution_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedSolution_Tensor.xml",reference)
185    def test_hex_contact_2D_order1_Function_Scalar_vtk(self):    def test_hex_contact_2D_order1_Function_Scalar_vtk(self):
186       reference="hex_2D_o1_cell_s.xml"       reference="hex_2D_o1_cell_s.xml"
187       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
188       x=Function(dom).getX()       x=Function(dom).getX()
189       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Function_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Function_Scalar.xml",data=x[0])
190       self.check_vtk("hex_contact_2D_order1_Function_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_Function_Scalar.xml",reference)
191    def test_hex_contact_2D_order1_Function_Vector_vtk(self):    def test_hex_contact_2D_order1_Function_Vector_vtk(self):
192       reference="hex_2D_o1_cell_v.xml"       reference="hex_2D_o1_cell_v.xml"
193       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
194       x=Function(dom).getX()       x=Function(dom).getX()
195       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Function_Vector.xml",data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Function_Vector.xml",data=x[0]*[1.,2.])
196       self.check_vtk("hex_contact_2D_order1_Function_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_Function_Vector.xml",reference)
197    def test_hex_contact_2D_order1_Function_Tensor_vtk(self):    def test_hex_contact_2D_order1_Function_Tensor_vtk(self):
198       reference="hex_2D_o1_cell_t.xml"       reference="hex_2D_o1_cell_t.xml"
199       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
200       x=Function(dom).getX()       x=Function(dom).getX()
201       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Function_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Function_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
202       self.check_vtk("hex_contact_2D_order1_Function_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_Function_Tensor.xml",reference)
203    def test_hex_contact_2D_order1_ReducedFunction_Scalar_vtk(self):    def test_hex_contact_2D_order1_ReducedFunction_Scalar_vtk(self):
204       reference="hex_2D_o1_cell_s.xml"       reference="hex_2D_o1_cell_s.xml"
205       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
206       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
207       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunction_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunction_Scalar.xml",data=x[0])
208       self.check_vtk("hex_contact_2D_order1_ReducedFunction_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedFunction_Scalar.xml",reference)
209    def test_hex_contact_2D_order1_ReducedFunction_Vector_vtk(self):    def test_hex_contact_2D_order1_ReducedFunction_Vector_vtk(self):
210       reference="hex_2D_o1_cell_v.xml"       reference="hex_2D_o1_cell_v.xml"
211       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
212       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
213       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunction_Vector.xml",data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunction_Vector.xml",data=x[0]*[1.,2.])
214       self.check_vtk("hex_contact_2D_order1_ReducedFunction_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedFunction_Vector.xml",reference)
215    def test_hex_contact_2D_order1_ReducedFunction_Tensor_vtk(self):    def test_hex_contact_2D_order1_ReducedFunction_Tensor_vtk(self):
216       reference="hex_2D_o1_cell_t.xml"       reference="hex_2D_o1_cell_t.xml"
217       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
218       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
219       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunction_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunction_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
220       self.check_vtk("hex_contact_2D_order1_ReducedFunction_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedFunction_Tensor.xml",reference)
221    def test_hex_contact_2D_order1_FunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_2D_order1_FunctionOnBoundary_Scalar_vtk(self):
222       reference="hex_2D_o1_boundary_s.xml"       reference="hex_2D_o1_boundary_s.xml"
223       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
224       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
225       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnBoundary_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnBoundary_Scalar.xml",data=x[0])
226       self.check_vtk("hex_contact_2D_order1_FunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_FunctionOnBoundary_Scalar.xml",reference)
227    def test_hex_contact_2D_order1_FunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_2D_order1_FunctionOnBoundary_Vector_vtk(self):
228       reference="hex_2D_o1_boundary_v.xml"       reference="hex_2D_o1_boundary_v.xml"
229       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
230       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
231       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.])
232       self.check_vtk("hex_contact_2D_order1_FunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_FunctionOnBoundary_Vector.xml",reference)
233    def test_hex_contact_2D_order1_FunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_2D_order1_FunctionOnBoundary_Tensor_vtk(self):
234       reference="hex_2D_o1_boundary_t.xml"       reference="hex_2D_o1_boundary_t.xml"
235       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
236       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
237       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
238       self.check_vtk("hex_contact_2D_order1_FunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_FunctionOnBoundary_Tensor.xml",reference)
239    def test_hex_contact_2D_order1_ReducedFunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_2D_order1_ReducedFunctionOnBoundary_Scalar_vtk(self):
240       reference="hex_2D_o1_boundary_s.xml"       reference="hex_2D_o1_boundary_s.xml"
241       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
242       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
243       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnBoundary_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnBoundary_Scalar.xml",data=x[0])
244       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnBoundary_Scalar.xml",reference)
245    def test_hex_contact_2D_order1_ReducedFunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_2D_order1_ReducedFunctionOnBoundary_Vector_vtk(self):
246       reference="hex_2D_o1_boundary_v.xml"       reference="hex_2D_o1_boundary_v.xml"
247       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
248       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
249       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.])
250       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnBoundary_Vector.xml",reference)
251    def test_hex_contact_2D_order1_ReducedFunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_2D_order1_ReducedFunctionOnBoundary_Tensor_vtk(self):
252       reference="hex_2D_o1_boundary_t.xml"       reference="hex_2D_o1_boundary_t.xml"
253       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
254       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
255       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
256       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnBoundary_Tensor.xml",reference)
257    def test_hex_contact_2D_order1_onFace_FunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_2D_order1_onFace_FunctionOnBoundary_Scalar_vtk(self):
258       reference="hex_2D_o1_f_boundary_s.xml"       reference="hex_2D_o1_f_boundary_s.xml"
259       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh",optimize=False)
260       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
261       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_FunctionOnBoundary_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_FunctionOnBoundary_Scalar.xml",data=x[0])
262       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnBoundary_Scalar.xml",reference)
263    def test_hex_contact_2D_order1_onFace_FunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_2D_order1_onFace_FunctionOnBoundary_Vector_vtk(self):
264       reference="hex_2D_o1_f_boundary_v.xml"       reference="hex_2D_o1_f_boundary_v.xml"
265       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh",optimize=False)
266       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
267       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_FunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_FunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.])
268       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnBoundary_Vector.xml",reference)
269    def test_hex_contact_2D_order1_onFace_FunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_2D_order1_onFace_FunctionOnBoundary_Tensor_vtk(self):
270       reference="hex_2D_o1_f_boundary_t.xml"       reference="hex_2D_o1_f_boundary_t.xml"
271       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh",optimize=False)
272       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
273       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_FunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_FunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
274       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnBoundary_Tensor.xml",reference)
275    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Scalar_vtk(self):
276       reference="hex_2D_o1_f_boundary_s.xml"       reference="hex_2D_o1_f_boundary_s.xml"
277       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh",optimize=False)
278       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
279       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Scalar.xml",data=x[0])
280       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Scalar.xml",reference)
281    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Vector_vtk(self):
282       reference="hex_2D_o1_f_boundary_v.xml"       reference="hex_2D_o1_f_boundary_v.xml"
283       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh",optimize=False)
284       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
285       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.])
286       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Vector.xml",reference)
287    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Tensor_vtk(self):
288       reference="hex_2D_o1_f_boundary_t.xml"       reference="hex_2D_o1_f_boundary_t.xml"
289       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh",optimize=False)
290       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
291       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
292       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnBoundary_Tensor.xml",reference)
293    def test_hex_contact_2D_order1_FunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_2D_order1_FunctionOnContactZero_Scalar_vtk(self):
294       reference="hex_2D_o1_contact_s.xml"       reference="hex_2D_o1_contact_s.xml"
295       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
296       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
297       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnContactZero_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnContactZero_Scalar.xml",data=x[0])
298       self.check_vtk("hex_contact_2D_order1_FunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_FunctionOnContactZero_Scalar.xml",reference)
299    def test_hex_contact_2D_order1_FunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_2D_order1_FunctionOnContactZero_Vector_vtk(self):
300       reference="hex_2D_o1_contact_v.xml"       reference="hex_2D_o1_contact_v.xml"
301       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
302       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
303       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.])
304       self.check_vtk("hex_contact_2D_order1_FunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_FunctionOnContactZero_Vector.xml",reference)
305    def test_hex_contact_2D_order1_FunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_2D_order1_FunctionOnContactZero_Tensor_vtk(self):
306       reference="hex_2D_o1_contact_t.xml"       reference="hex_2D_o1_contact_t.xml"
307       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
308       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
309       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
310       self.check_vtk("hex_contact_2D_order1_FunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_FunctionOnContactZero_Tensor.xml",reference)
311    def test_hex_contact_2D_order1_ReducedFunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_2D_order1_ReducedFunctionOnContactZero_Scalar_vtk(self):
312       reference="hex_2D_o1_contact_s.xml"       reference="hex_2D_o1_contact_s.xml"
313       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
314       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
315       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnContactZero_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnContactZero_Scalar.xml",data=x[0])
316       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnContactZero_Scalar.xml",reference)
317    def test_hex_contact_2D_order1_ReducedFunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_2D_order1_ReducedFunctionOnContactZero_Vector_vtk(self):
318       reference="hex_2D_o1_contact_v.xml"       reference="hex_2D_o1_contact_v.xml"
319       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
320       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
321       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.])
322       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnContactZero_Vector.xml",reference)
323    def test_hex_contact_2D_order1_ReducedFunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_2D_order1_ReducedFunctionOnContactZero_Tensor_vtk(self):
324       reference="hex_2D_o1_contact_t.xml"       reference="hex_2D_o1_contact_t.xml"
325       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
326       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
327       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
328       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnContactZero_Tensor.xml",reference)
329    def test_hex_contact_2D_order1_onFace_FunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_2D_order1_onFace_FunctionOnContactZero_Scalar_vtk(self):
330       reference="hex_2D_o1_contact_s.xml"       reference="hex_2D_o1_contact_s.xml"
331       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh",optimize=False)
332       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
333       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_FunctionOnContactZero_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_FunctionOnContactZero_Scalar.xml",data=x[0])
334       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnContactZero_Scalar.xml",reference)
335    def test_hex_contact_2D_order1_onFace_FunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_2D_order1_onFace_FunctionOnContactZero_Vector_vtk(self):
336       reference="hex_2D_o1_contact_v.xml"       reference="hex_2D_o1_contact_v.xml"
337       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh",optimize=False)
338       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
339       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_FunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_FunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.])
340       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnContactZero_Vector.xml",reference)
341    def test_hex_contact_2D_order1_onFace_FunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_2D_order1_onFace_FunctionOnContactZero_Tensor_vtk(self):
342       reference="hex_2D_o1_contact_t.xml"       reference="hex_2D_o1_contact_t.xml"
343       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh",optimize=False)
344       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
345       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_FunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_FunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
346       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnContactZero_Tensor.xml",reference)
347    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Scalar_vtk(self):
348       reference="hex_2D_o1_contact_s.xml"       reference="hex_2D_o1_contact_s.xml"
349       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh",optimize=False)
350       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
351       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Scalar.xml",data=x[0])
352       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Scalar.xml",reference)
353    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Vector_vtk(self):
354       reference="hex_2D_o1_contact_v.xml"       reference="hex_2D_o1_contact_v.xml"
355       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh",optimize=False)
356       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
357       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.])
358       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Vector.xml",reference)
359    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Tensor_vtk(self):
360       reference="hex_2D_o1_contact_t.xml"       reference="hex_2D_o1_contact_t.xml"
361       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh",optimize=False)
362       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
363       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
364       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactZero_Tensor.xml",reference)
365    def test_hex_contact_2D_order1_FunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_2D_order1_FunctionOnContactOne_Scalar_vtk(self):
366       reference="hex_2D_o1_contact_s.xml"       reference="hex_2D_o1_contact_s.xml"
367       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
368       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
369       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnContactOne_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnContactOne_Scalar.xml",data=x[0])
370       self.check_vtk("hex_contact_2D_order1_FunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_FunctionOnContactOne_Scalar.xml",reference)
371    def test_hex_contact_2D_order1_FunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_2D_order1_FunctionOnContactOne_Vector_vtk(self):
372       reference="hex_2D_o1_contact_v.xml"       reference="hex_2D_o1_contact_v.xml"
373       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
374       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
375       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.])
376       self.check_vtk("hex_contact_2D_order1_FunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_FunctionOnContactOne_Vector.xml",reference)
377    def test_hex_contact_2D_order1_FunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_2D_order1_FunctionOnContactOne_Tensor_vtk(self):
378       reference="hex_2D_o1_contact_t.xml"       reference="hex_2D_o1_contact_t.xml"
379       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
380       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
381       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
382       self.check_vtk("hex_contact_2D_order1_FunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_FunctionOnContactOne_Tensor.xml",reference)
383    def test_hex_contact_2D_order1_ReducedFunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_2D_order1_ReducedFunctionOnContactOne_Scalar_vtk(self):
384       reference="hex_2D_o1_contact_s.xml"       reference="hex_2D_o1_contact_s.xml"
385       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
386       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
387       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnContactOne_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnContactOne_Scalar.xml",data=x[0])
388       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnContactOne_Scalar.xml",reference)
389    def test_hex_contact_2D_order1_ReducedFunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_2D_order1_ReducedFunctionOnContactOne_Vector_vtk(self):
390       reference="hex_2D_o1_contact_v.xml"       reference="hex_2D_o1_contact_v.xml"
391       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
392       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
393       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.])
394       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnContactOne_Vector.xml",reference)
395    def test_hex_contact_2D_order1_ReducedFunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_2D_order1_ReducedFunctionOnContactOne_Tensor_vtk(self):
396       reference="hex_2D_o1_contact_t.xml"       reference="hex_2D_o1_contact_t.xml"
397       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
398       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
399       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
400       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_ReducedFunctionOnContactOne_Tensor.xml",reference)
401    def test_hex_contact_2D_order1_onFace_FunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_2D_order1_onFace_FunctionOnContactOne_Scalar_vtk(self):
402       reference="hex_2D_o1_contact_s.xml"       reference="hex_2D_o1_contact_s.xml"
403       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh",optimize=False)
404       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
405       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_FunctionOnContactOne_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_FunctionOnContactOne_Scalar.xml",data=x[0])
406       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnContactOne_Scalar.xml",reference)
407    def test_hex_contact_2D_order1_onFace_FunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_2D_order1_onFace_FunctionOnContactOne_Vector_vtk(self):
408       reference="hex_2D_o1_contact_v.xml"       reference="hex_2D_o1_contact_v.xml"
409       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh",optimize=False)
410       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
411       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_FunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_FunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.])
412       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnContactOne_Vector.xml",reference)
413    def test_hex_contact_2D_order1_onFace_FunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_2D_order1_onFace_FunctionOnContactOne_Tensor_vtk(self):
414       reference="hex_2D_o1_contact_t.xml"       reference="hex_2D_o1_contact_t.xml"
415       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh",optimize=False)
416       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
417       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_FunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_FunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
418       self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order1_onFace_FunctionOnContactOne_Tensor.xml",reference)
419    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Scalar_vtk(self):
420      reference="hex_2D_o1_contact_s.xml"      reference="hex_2D_o1_contact_s.xml"
421      dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh")      dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh",optimize=False)
422      x=ReducedFunctionOnContactOne(dom).getX()      x=ReducedFunctionOnContactOne(dom).getX()
423      saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Scalar.xml",data=x[0])      saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Scalar.xml",data=x[0])
424      self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Scalar.xml",reference)      self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Scalar.xml",reference)
425    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Vector_vtk(self):
426      reference="hex_2D_o1_contact_v.xml"      reference="hex_2D_o1_contact_v.xml"
427      dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh")      dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh",optimize=False)
428      x=ReducedFunctionOnContactOne(dom).getX()      x=ReducedFunctionOnContactOne(dom).getX()
429      saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.])      saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.])
430      self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Vector.xml",reference)      self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Vector.xml",reference)
431    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Tensor_vtk(self):
432      reference="hex_2D_o1_contact_t.xml"      reference="hex_2D_o1_contact_t.xml"
433      dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh")      dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1_onFace.msh",optimize=False)
434      x=ReducedFunctionOnContactOne(dom).getX()      x=ReducedFunctionOnContactOne(dom).getX()
435      saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])      saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
436      self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Tensor.xml",reference)      self.check_vtk("hex_contact_2D_order1_onFace_ReducedFunctionOnContactOne_Tensor.xml",reference)
437    # ======================================================================================================================    # ======================================================================================================================
438    def test_hex_contact_2D_order2_ContinuousFunction_Scalar_vtk(self):    def test_hex_contact_2D_order2_ContinuousFunction_Scalar_vtk(self):
439       reference="hex_2D_o2_node_s.xml"       reference="hex_2D_o2_node_s.xml"
440       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
441       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
442       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ContinuousFunction_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ContinuousFunction_Scalar.xml",data=x[0])
443       self.check_vtk("hex_contact_2D_order2_ContinuousFunction_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_ContinuousFunction_Scalar.xml",reference)
444    def test_hex_contact_2D_order2_ContinuousFunction_Vector_vtk(self):    def test_hex_contact_2D_order2_ContinuousFunction_Vector_vtk(self):
445       reference="hex_2D_o2_node_v.xml"       reference="hex_2D_o2_node_v.xml"
446       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
447       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
448       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ContinuousFunction_Vector.xml",data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ContinuousFunction_Vector.xml",data=x[0]*[1.,2.])
449       self.check_vtk("hex_contact_2D_order2_ContinuousFunction_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_ContinuousFunction_Vector.xml",reference)
450    def test_hex_contact_2D_order2_ContinuousFunction_Tensor_vtk(self):    def test_hex_contact_2D_order2_ContinuousFunction_Tensor_vtk(self):
451       reference="hex_2D_o2_node_t.xml"       reference="hex_2D_o2_node_t.xml"
452       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
453       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
454       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ContinuousFunction_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ContinuousFunction_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
455       self.check_vtk("hex_contact_2D_order2_ContinuousFunction_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_ContinuousFunction_Tensor.xml",reference)
456    def test_hex_contact_2D_order2_Solution_Scalar_vtk(self):    def test_hex_contact_2D_order2_Solution_Scalar_vtk(self):
457       reference="hex_2D_o2_node_s.xml"       reference="hex_2D_o2_node_s.xml"
458       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
459       x=Solution(dom).getX()       x=Solution(dom).getX()
460       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Solution_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Solution_Scalar.xml",data=x[0])
461       self.check_vtk("hex_contact_2D_order2_Solution_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_Solution_Scalar.xml",reference)
462    def test_hex_contact_2D_order2_Solution_Vector_vtk(self):    def test_hex_contact_2D_order2_Solution_Vector_vtk(self):
463       reference="hex_2D_o2_node_v.xml"       reference="hex_2D_o2_node_v.xml"
464       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
465       x=Solution(dom).getX()       x=Solution(dom).getX()
466       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Solution_Vector.xml",data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Solution_Vector.xml",data=x[0]*[1.,2.])
467       self.check_vtk("hex_contact_2D_order2_Solution_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_Solution_Vector.xml",reference)
468    def test_hex_contact_2D_order2_Solution_Tensor_vtk(self):    def test_hex_contact_2D_order2_Solution_Tensor_vtk(self):
469       reference="hex_2D_o2_node_t.xml"       reference="hex_2D_o2_node_t.xml"
470       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
471       x=Solution(dom).getX()       x=Solution(dom).getX()
472       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Solution_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Solution_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
473       self.check_vtk("hex_contact_2D_order2_Solution_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_Solution_Tensor.xml",reference)
474    def test_hex_contact_2D_order2_ReducedSolution_Scalar_vtk(self):    def test_hex_contact_2D_order2_ReducedSolution_Scalar_vtk(self):
475       reference="hex_2D_o1_node_s.xml"       reference="hex_2D_o1_node_s.xml"
476       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
477       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
478       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedSolution_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedSolution_Scalar.xml",data=x[0])
479       self.check_vtk("hex_contact_2D_order2_ReducedSolution_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedSolution_Scalar.xml",reference)
480    def test_hex_contact_2D_order2_ReducedSolution_Vector_vtk(self):    def test_hex_contact_2D_order2_ReducedSolution_Vector_vtk(self):
481       reference="hex_2D_o1_node_v.xml"       reference="hex_2D_o1_node_v.xml"
482       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
483       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
484       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedSolution_Vector.xml",data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedSolution_Vector.xml",data=x[0]*[1.,2.])
485       self.check_vtk("hex_contact_2D_order2_ReducedSolution_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedSolution_Vector.xml",reference)
486    def test_hex_contact_2D_order2_ReducedSolution_Tensor_vtk(self):    def test_hex_contact_2D_order2_ReducedSolution_Tensor_vtk(self):
487       reference="hex_2D_o1_node_t.xml"       reference="hex_2D_o1_node_t.xml"
488       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
489       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
490       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedSolution_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedSolution_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
491       self.check_vtk("hex_contact_2D_order2_ReducedSolution_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedSolution_Tensor.xml",reference)
492    def test_hex_contact_2D_order2_Function_Scalar_vtk(self):    def test_hex_contact_2D_order2_Function_Scalar_vtk(self):
493       reference="hex_2D_o2_cell_s.xml"       reference="hex_2D_o2_cell_s.xml"
494       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
495       x=Function(dom).getX()       x=Function(dom).getX()
496       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Function_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Function_Scalar.xml",data=x[0])
497       self.check_vtk("hex_contact_2D_order2_Function_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_Function_Scalar.xml",reference)
498    def test_hex_contact_2D_order2_Function_Vector_vtk(self):    def test_hex_contact_2D_order2_Function_Vector_vtk(self):
499       reference="hex_2D_o2_cell_v.xml"       reference="hex_2D_o2_cell_v.xml"
500       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
501       x=Function(dom).getX()       x=Function(dom).getX()
502       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Function_Vector.xml",data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Function_Vector.xml",data=x[0]*[1.,2.])
503       self.check_vtk("hex_contact_2D_order2_Function_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_Function_Vector.xml",reference)
504    def test_hex_contact_2D_order2_Function_Tensor_vtk(self):    def test_hex_contact_2D_order2_Function_Tensor_vtk(self):
505       reference="hex_2D_o2_cell_t.xml"       reference="hex_2D_o2_cell_t.xml"
506       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
507       x=Function(dom).getX()       x=Function(dom).getX()
508       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Function_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Function_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
509       self.check_vtk("hex_contact_2D_order2_Function_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_Function_Tensor.xml",reference)
510    def test_hex_contact_2D_order2_ReducedFunction_Scalar_vtk(self):    def test_hex_contact_2D_order2_ReducedFunction_Scalar_vtk(self):
511       reference="hex_2D_o2_cell_s.xml"       reference="hex_2D_o2_cell_s.xml"
512       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
513       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
514       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunction_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunction_Scalar.xml",data=x[0])
515       self.check_vtk("hex_contact_2D_order2_ReducedFunction_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedFunction_Scalar.xml",reference)
516    def test_hex_contact_2D_order2_ReducedFunction_Vector_vtk(self):    def test_hex_contact_2D_order2_ReducedFunction_Vector_vtk(self):
517       reference="hex_2D_o2_cell_v.xml"       reference="hex_2D_o2_cell_v.xml"
518       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
519       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
520       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunction_Vector.xml",data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunction_Vector.xml",data=x[0]*[1.,2.])
521       self.check_vtk("hex_contact_2D_order2_ReducedFunction_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedFunction_Vector.xml",reference)
522    def test_hex_contact_2D_order2_ReducedFunction_Tensor_vtk(self):    def test_hex_contact_2D_order2_ReducedFunction_Tensor_vtk(self):
523       reference="hex_2D_o2_cell_t.xml"       reference="hex_2D_o2_cell_t.xml"
524       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
525       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
526       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunction_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunction_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
527       self.check_vtk("hex_contact_2D_order2_ReducedFunction_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedFunction_Tensor.xml",reference)
528    def test_hex_contact_2D_order2_FunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_2D_order2_FunctionOnBoundary_Scalar_vtk(self):
529       reference="hex_2D_o2_boundary_s.xml"       reference="hex_2D_o2_boundary_s.xml"
530       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
531       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
532       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnBoundary_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnBoundary_Scalar.xml",data=x[0])
533       self.check_vtk("hex_contact_2D_order2_FunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_FunctionOnBoundary_Scalar.xml",reference)
534    def test_hex_contact_2D_order2_FunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_2D_order2_FunctionOnBoundary_Vector_vtk(self):
535       reference="hex_2D_o2_boundary_v.xml"       reference="hex_2D_o2_boundary_v.xml"
536       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
537       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
538       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.])
539       self.check_vtk("hex_contact_2D_order2_FunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_FunctionOnBoundary_Vector.xml",reference)
540    def test_hex_contact_2D_order2_FunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_2D_order2_FunctionOnBoundary_Tensor_vtk(self):
541       reference="hex_2D_o2_boundary_t.xml"       reference="hex_2D_o2_boundary_t.xml"
542       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
543       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
544       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
545       self.check_vtk("hex_contact_2D_order2_FunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_FunctionOnBoundary_Tensor.xml",reference)
546    def test_hex_contact_2D_order2_ReducedFunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_2D_order2_ReducedFunctionOnBoundary_Scalar_vtk(self):
547       reference="hex_2D_o2_boundary_s.xml"       reference="hex_2D_o2_boundary_s.xml"
548       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
549       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
550       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnBoundary_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnBoundary_Scalar.xml",data=x[0])
551       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnBoundary_Scalar.xml",reference)
552    def test_hex_contact_2D_order2_ReducedFunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_2D_order2_ReducedFunctionOnBoundary_Vector_vtk(self):
553       reference="hex_2D_o2_boundary_v.xml"       reference="hex_2D_o2_boundary_v.xml"
554       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
555       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
556       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.])
557       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnBoundary_Vector.xml",reference)
558    def test_hex_contact_2D_order2_ReducedFunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_2D_order2_ReducedFunctionOnBoundary_Tensor_vtk(self):
559       reference="hex_2D_o2_boundary_t.xml"       reference="hex_2D_o2_boundary_t.xml"
560       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
561       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
562       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
563       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnBoundary_Tensor.xml",reference)
564    def test_hex_contact_2D_order2_onFace_FunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_2D_order2_onFace_FunctionOnBoundary_Scalar_vtk(self):
565       reference="hex_2D_o2_f_boundary_s.xml"       reference="hex_2D_o2_f_boundary_s.xml"
566       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh",optimize=False)
567       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
568       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_FunctionOnBoundary_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_FunctionOnBoundary_Scalar.xml",data=x[0])
569       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnBoundary_Scalar.xml",reference)
570    def test_hex_contact_2D_order2_onFace_FunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_2D_order2_onFace_FunctionOnBoundary_Vector_vtk(self):
571       reference="hex_2D_o2_f_boundary_v.xml"       reference="hex_2D_o2_f_boundary_v.xml"
572       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh",optimize=False)
573       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
574       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_FunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_FunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.])
575       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnBoundary_Vector.xml",reference)
576    def test_hex_contact_2D_order2_onFace_FunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_2D_order2_onFace_FunctionOnBoundary_Tensor_vtk(self):
577       reference="hex_2D_o2_f_boundary_t.xml"       reference="hex_2D_o2_f_boundary_t.xml"
578       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh",optimize=False)
579       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
580       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_FunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_FunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
581       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnBoundary_Tensor.xml",reference)
582    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Scalar_vtk(self):
583       reference="hex_2D_o2_f_boundary_s.xml"       reference="hex_2D_o2_f_boundary_s.xml"
584       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh",optimize=False)
585       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
586       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Scalar.xml",data=x[0])
587       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Scalar.xml",reference)
588    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Vector_vtk(self):
589       reference="hex_2D_o2_f_boundary_v.xml"       reference="hex_2D_o2_f_boundary_v.xml"
590       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh",optimize=False)
591       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
592       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.])
593       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Vector.xml",reference)
594    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Tensor_vtk(self):
595       reference="hex_2D_o2_f_boundary_t.xml"       reference="hex_2D_o2_f_boundary_t.xml"
596       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh",optimize=False)
597       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
598       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
599       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnBoundary_Tensor.xml",reference)
600    def test_hex_contact_2D_order2_FunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_2D_order2_FunctionOnContactZero_Scalar_vtk(self):
601       reference="hex_2D_o2_contact_s.xml"       reference="hex_2D_o2_contact_s.xml"
602       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
603       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
604       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnContactZero_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnContactZero_Scalar.xml",data=x[0])
605       self.check_vtk("hex_contact_2D_order2_FunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_FunctionOnContactZero_Scalar.xml",reference)
606    def test_hex_contact_2D_order2_FunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_2D_order2_FunctionOnContactZero_Vector_vtk(self):
607       reference="hex_2D_o2_contact_v.xml"       reference="hex_2D_o2_contact_v.xml"
608       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
609       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
610       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.])
611       self.check_vtk("hex_contact_2D_order2_FunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_FunctionOnContactZero_Vector.xml",reference)
612    def test_hex_contact_2D_order2_FunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_2D_order2_FunctionOnContactZero_Tensor_vtk(self):
613       reference="hex_2D_o2_contact_t.xml"       reference="hex_2D_o2_contact_t.xml"
614       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
615       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
616       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
617       self.check_vtk("hex_contact_2D_order2_FunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_FunctionOnContactZero_Tensor.xml",reference)
618    def test_hex_contact_2D_order2_ReducedFunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_2D_order2_ReducedFunctionOnContactZero_Scalar_vtk(self):
619       reference="hex_2D_o2_contact_s.xml"       reference="hex_2D_o2_contact_s.xml"
620       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
621       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
622       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnContactZero_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnContactZero_Scalar.xml",data=x[0])
623       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnContactZero_Scalar.xml",reference)
624    def test_hex_contact_2D_order2_ReducedFunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_2D_order2_ReducedFunctionOnContactZero_Vector_vtk(self):
625       reference="hex_2D_o2_contact_v.xml"       reference="hex_2D_o2_contact_v.xml"
626       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
627       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
628       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.])
629       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnContactZero_Vector.xml",reference)
630    def test_hex_contact_2D_order2_ReducedFunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_2D_order2_ReducedFunctionOnContactZero_Tensor_vtk(self):
631       reference="hex_2D_o2_contact_t.xml"       reference="hex_2D_o2_contact_t.xml"
632       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
633       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
634       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
635       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnContactZero_Tensor.xml",reference)
636    def test_hex_contact_2D_order2_onFace_FunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_2D_order2_onFace_FunctionOnContactZero_Scalar_vtk(self):
637       reference="hex_2D_o2_contact_s.xml"       reference="hex_2D_o2_contact_s.xml"
638       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh",optimize=False)
639       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
640       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_FunctionOnContactZero_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_FunctionOnContactZero_Scalar.xml",data=x[0])
641       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnContactZero_Scalar.xml",reference)
642    def test_hex_contact_2D_order2_onFace_FunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_2D_order2_onFace_FunctionOnContactZero_Vector_vtk(self):
643       reference="hex_2D_o2_contact_v.xml"       reference="hex_2D_o2_contact_v.xml"
644       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh",optimize=False)
645       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
646       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_FunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_FunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.])
647       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnContactZero_Vector.xml",reference)
648    def test_hex_contact_2D_order2_onFace_FunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_2D_order2_onFace_FunctionOnContactZero_Tensor_vtk(self):
649       reference="hex_2D_o2_contact_t.xml"       reference="hex_2D_o2_contact_t.xml"
650       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh",optimize=False)
651       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
652       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_FunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_FunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
653       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnContactZero_Tensor.xml",reference)
654    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Scalar_vtk(self):
655       reference="hex_2D_o2_contact_s.xml"       reference="hex_2D_o2_contact_s.xml"
656       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh",optimize=False)
657       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
658       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Scalar.xml",data=x[0])
659       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Scalar.xml",reference)
660    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Vector_vtk(self):
661       reference="hex_2D_o2_contact_v.xml"       reference="hex_2D_o2_contact_v.xml"
662       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh",optimize=False)
663       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
664       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.])
665       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Vector.xml",reference)
666    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Tensor_vtk(self):
667       reference="hex_2D_o2_contact_t.xml"       reference="hex_2D_o2_contact_t.xml"
668       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh",optimize=False)
669       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
670       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
671       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnContactZero_Tensor.xml",reference)
672    def test_hex_contact_2D_order2_FunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_2D_order2_FunctionOnContactOne_Scalar_vtk(self):
673       reference="hex_2D_o2_contact_s.xml"       reference="hex_2D_o2_contact_s.xml"
674       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
675       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
676       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnContactOne_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnContactOne_Scalar.xml",data=x[0])
677       self.check_vtk("hex_contact_2D_order2_FunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_FunctionOnContactOne_Scalar.xml",reference)
678    def test_hex_contact_2D_order2_FunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_2D_order2_FunctionOnContactOne_Vector_vtk(self):
679       reference="hex_2D_o2_contact_v.xml"       reference="hex_2D_o2_contact_v.xml"
680       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
681       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
682       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.])
683       self.check_vtk("hex_contact_2D_order2_FunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_FunctionOnContactOne_Vector.xml",reference)
684    def test_hex_contact_2D_order2_FunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_2D_order2_FunctionOnContactOne_Tensor_vtk(self):
685       reference="hex_2D_o2_contact_t.xml"       reference="hex_2D_o2_contact_t.xml"
686       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
687       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
688       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
689       self.check_vtk("hex_contact_2D_order2_FunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_FunctionOnContactOne_Tensor.xml",reference)
690    def test_hex_contact_2D_order2_ReducedFunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_2D_order2_ReducedFunctionOnContactOne_Scalar_vtk(self):
691       reference="hex_2D_o2_contact_s.xml"       reference="hex_2D_o2_contact_s.xml"
692       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
693       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
694       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnContactOne_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnContactOne_Scalar.xml",data=x[0])
695       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnContactOne_Scalar.xml",reference)
696    def test_hex_contact_2D_order2_ReducedFunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_2D_order2_ReducedFunctionOnContactOne_Vector_vtk(self):
697       reference="hex_2D_o2_contact_v.xml"       reference="hex_2D_o2_contact_v.xml"
698       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
699       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
700       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.])
701       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnContactOne_Vector.xml",reference)
702    def test_hex_contact_2D_order2_ReducedFunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_2D_order2_ReducedFunctionOnContactOne_Tensor_vtk(self):
703       reference="hex_2D_o2_contact_t.xml"       reference="hex_2D_o2_contact_t.xml"
704       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
705       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
706       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
707       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_ReducedFunctionOnContactOne_Tensor.xml",reference)
708    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Scalar_vtk(self):
709       reference="hex_2D_o2_contact_s.xml"       reference="hex_2D_o2_contact_s.xml"
710       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh",optimize=False)
711       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
712       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_FunctionOnContactOne_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_FunctionOnContactOne_Scalar.xml",data=x[0])
713       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnContactOne_Scalar.xml",reference)
714    def test_hex_contact_2D_order2_onFace_FunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_2D_order2_onFace_FunctionOnContactOne_Vector_vtk(self):
715       reference="hex_2D_o2_contact_v.xml"       reference="hex_2D_o2_contact_v.xml"
716       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh",optimize=False)
717       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
718       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_FunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_FunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.])
719       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnContactOne_Vector.xml",reference)
720    def test_hex_contact_2D_order2_onFace_FunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_2D_order2_onFace_FunctionOnContactOne_Tensor_vtk(self):
721       reference="hex_2D_o2_contact_t.xml"       reference="hex_2D_o2_contact_t.xml"
722       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh",optimize=False)
723       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
724       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_FunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_FunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
725       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_FunctionOnContactOne_Tensor.xml",reference)
726    
727    def test_hex_contact_2D_order2_onFace_ReducedReducedFunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_2D_order2_onFace_ReducedReducedFunctionOnContactOne_Scalar_vtk(self):
728       reference="hex_2D_o2_contact_s.xml"       reference="hex_2D_o2_contact_s.xml"
729       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh",optimize=False)
730       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
731       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Scalar.xml",data=x[0])
732       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Scalar.xml",reference)
733    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Vector_vtk(self):
734       reference="hex_2D_o2_contact_v.xml"       reference="hex_2D_o2_contact_v.xml"
735       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh",optimize=False)
736       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
737       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.])
738       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Vector.xml",reference)
739    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Tensor_vtk(self):
740       reference="hex_2D_o2_contact_t.xml"       reference="hex_2D_o2_contact_t.xml"
741       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2_onFace.msh",optimize=False)
742       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
743       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.],[21.,22.]])
744       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_2D_order2_onFace_ReducedFunctionOnContactOne_Tensor.xml",reference)
# Line 724  class Test_VTKFiles(Test_VisualizationIn Line 747  class Test_VTKFiles(Test_VisualizationIn
747    # ======================================================================================================================    # ======================================================================================================================
748    def test_hex_contact_3D_order1_ContinuousFunction_Scalar_vtk(self):    def test_hex_contact_3D_order1_ContinuousFunction_Scalar_vtk(self):
749       reference="hex_3D_o1_node_s.xml"       reference="hex_3D_o1_node_s.xml"
750       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
751       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
752       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ContinuousFunction_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ContinuousFunction_Scalar.xml",data=x[0])
753       self.check_vtk("hex_contact_3D_order1_ContinuousFunction_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_ContinuousFunction_Scalar.xml",reference)
754    def test_hex_contact_3D_order1_ContinuousFunction_Vector_vtk(self):    def test_hex_contact_3D_order1_ContinuousFunction_Vector_vtk(self):
755       reference="hex_3D_o1_node_v.xml"       reference="hex_3D_o1_node_v.xml"
756       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
757       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
758       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ContinuousFunction_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ContinuousFunction_Vector.xml",data=x[0]*[1.,2.,3.])
759       self.check_vtk("hex_contact_3D_order1_ContinuousFunction_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_ContinuousFunction_Vector.xml",reference)
760    def test_hex_contact_3D_order1_ContinuousFunction_Tensor_vtk(self):    def test_hex_contact_3D_order1_ContinuousFunction_Tensor_vtk(self):
761       reference="hex_3D_o1_node_t.xml"       reference="hex_3D_o1_node_t.xml"
762       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
763       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
764       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ContinuousFunction_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ContinuousFunction_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
765       self.check_vtk("hex_contact_3D_order1_ContinuousFunction_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_ContinuousFunction_Tensor.xml",reference)
766    def test_hex_contact_3D_order1_Solution_Scalar_vtk(self):    def test_hex_contact_3D_order1_Solution_Scalar_vtk(self):
767       reference="hex_3D_o1_node_s.xml"       reference="hex_3D_o1_node_s.xml"
768       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
769       x=Solution(dom).getX()       x=Solution(dom).getX()
770       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Solution_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Solution_Scalar.xml",data=x[0])
771       self.check_vtk("hex_contact_3D_order1_Solution_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_Solution_Scalar.xml",reference)
772    def test_hex_contact_3D_order1_Solution_Vector_vtk(self):    def test_hex_contact_3D_order1_Solution_Vector_vtk(self):
773       reference="hex_3D_o1_node_v.xml"       reference="hex_3D_o1_node_v.xml"
774       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
775       x=Solution(dom).getX()       x=Solution(dom).getX()
776       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Solution_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Solution_Vector.xml",data=x[0]*[1.,2.,3.])
777       self.check_vtk("hex_contact_3D_order1_Solution_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_Solution_Vector.xml",reference)
778    def test_hex_contact_3D_order1_Solution_Tensor_vtk(self):    def test_hex_contact_3D_order1_Solution_Tensor_vtk(self):
779       reference="hex_3D_o1_node_t.xml"       reference="hex_3D_o1_node_t.xml"
780       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
781       x=Solution(dom).getX()       x=Solution(dom).getX()
782       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Solution_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Solution_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
783       self.check_vtk("hex_contact_3D_order1_Solution_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_Solution_Tensor.xml",reference)
784    def test_hex_contact_3D_order1_ReducedSolution_Scalar_vtk(self):    def test_hex_contact_3D_order1_ReducedSolution_Scalar_vtk(self):
785       reference="hex_3D_o1_node_s.xml"       reference="hex_3D_o1_node_s.xml"
786       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
787       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
788       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedSolution_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedSolution_Scalar.xml",data=x[0])
789       self.check_vtk("hex_contact_3D_order1_ReducedSolution_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedSolution_Scalar.xml",reference)
790    def test_hex_contact_3D_order1_ReducedSolution_Vector_vtk(self):    def test_hex_contact_3D_order1_ReducedSolution_Vector_vtk(self):
791       reference="hex_3D_o1_node_v.xml"       reference="hex_3D_o1_node_v.xml"
792       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
793       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
794       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedSolution_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedSolution_Vector.xml",data=x[0]*[1.,2.,3.])
795       self.check_vtk("hex_contact_3D_order1_ReducedSolution_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedSolution_Vector.xml",reference)
796    def test_hex_contact_3D_order1_ReducedSolution_Tensor_vtk(self):    def test_hex_contact_3D_order1_ReducedSolution_Tensor_vtk(self):
797       reference="hex_3D_o1_node_t.xml"       reference="hex_3D_o1_node_t.xml"
798       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
799       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
800       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedSolution_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedSolution_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
801       self.check_vtk("hex_contact_3D_order1_ReducedSolution_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedSolution_Tensor.xml",reference)
802    def test_hex_contact_3D_order1_Function_Scalar_vtk(self):    def test_hex_contact_3D_order1_Function_Scalar_vtk(self):
803       reference="hex_3D_o1_cell_s.xml"       reference="hex_3D_o1_cell_s.xml"
804       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
805       x=Function(dom).getX()       x=Function(dom).getX()
806       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Function_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Function_Scalar.xml",data=x[0])
807       self.check_vtk("hex_contact_3D_order1_Function_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_Function_Scalar.xml",reference)
808    def test_hex_contact_3D_order1_Function_Vector_vtk(self):    def test_hex_contact_3D_order1_Function_Vector_vtk(self):
809       reference="hex_3D_o1_cell_v.xml"       reference="hex_3D_o1_cell_v.xml"
810       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
811       x=Function(dom).getX()       x=Function(dom).getX()
812       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Function_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Function_Vector.xml",data=x[0]*[1.,2.,3.])
813       self.check_vtk("hex_contact_3D_order1_Function_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_Function_Vector.xml",reference)
814    def test_hex_contact_3D_order1_Function_Tensor_vtk(self):    def test_hex_contact_3D_order1_Function_Tensor_vtk(self):
815       reference="hex_3D_o1_cell_t.xml"       reference="hex_3D_o1_cell_t.xml"
816       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
817       x=Function(dom).getX()       x=Function(dom).getX()
818       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Function_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Function_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
819       self.check_vtk("hex_contact_3D_order1_Function_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_Function_Tensor.xml",reference)
820    def test_hex_contact_3D_order1_ReducedFunction_Scalar_vtk(self):    def test_hex_contact_3D_order1_ReducedFunction_Scalar_vtk(self):
821       reference="hex_3D_o1_cell_s.xml"       reference="hex_3D_o1_cell_s.xml"
822       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
823       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
824       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunction_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunction_Scalar.xml",data=x[0])
825       self.check_vtk("hex_contact_3D_order1_ReducedFunction_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedFunction_Scalar.xml",reference)
826    def test_hex_contact_3D_order1_ReducedFunction_Vector_vtk(self):    def test_hex_contact_3D_order1_ReducedFunction_Vector_vtk(self):
827       reference="hex_3D_o1_cell_v.xml"       reference="hex_3D_o1_cell_v.xml"
828       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
829       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
830       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunction_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunction_Vector.xml",data=x[0]*[1.,2.,3.])
831       self.check_vtk("hex_contact_3D_order1_ReducedFunction_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedFunction_Vector.xml",reference)
832    def test_hex_contact_3D_order1_ReducedFunction_Tensor_vtk(self):    def test_hex_contact_3D_order1_ReducedFunction_Tensor_vtk(self):
833       reference="hex_3D_o1_cell_t.xml"       reference="hex_3D_o1_cell_t.xml"
834       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
835       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
836       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunction_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunction_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
837       self.check_vtk("hex_contact_3D_order1_ReducedFunction_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedFunction_Tensor.xml",reference)
838    def test_hex_contact_3D_order1_FunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_3D_order1_FunctionOnBoundary_Scalar_vtk(self):
839       reference="hex_3D_o1_boundary_s.xml"       reference="hex_3D_o1_boundary_s.xml"
840       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
841       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
842       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnBoundary_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnBoundary_Scalar.xml",data=x[0])
843       self.check_vtk("hex_contact_3D_order1_FunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_FunctionOnBoundary_Scalar.xml",reference)
844    def test_hex_contact_3D_order1_FunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_3D_order1_FunctionOnBoundary_Vector_vtk(self):
845       reference="hex_3D_o1_boundary_v.xml"       reference="hex_3D_o1_boundary_v.xml"
846       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
847       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
848       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.,3.])
849       self.check_vtk("hex_contact_3D_order1_FunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_FunctionOnBoundary_Vector.xml",reference)
850    def test_hex_contact_3D_order1_FunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_3D_order1_FunctionOnBoundary_Tensor_vtk(self):
851       reference="hex_3D_o1_boundary_t.xml"       reference="hex_3D_o1_boundary_t.xml"
852       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
853       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
854       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
855       self.check_vtk("hex_contact_3D_order1_FunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_FunctionOnBoundary_Tensor.xml",reference)
856    def test_hex_contact_3D_order1_ReducedFunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_3D_order1_ReducedFunctionOnBoundary_Scalar_vtk(self):
857       reference="hex_3D_o1_boundary_s.xml"       reference="hex_3D_o1_boundary_s.xml"
858       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
859       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
860       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnBoundary_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnBoundary_Scalar.xml",data=x[0])
861       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnBoundary_Scalar.xml",reference)
862    def test_hex_contact_3D_order1_ReducedFunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_3D_order1_ReducedFunctionOnBoundary_Vector_vtk(self):
863       reference="hex_3D_o1_boundary_v.xml"       reference="hex_3D_o1_boundary_v.xml"
864       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
865       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
866       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.,3.])
867       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnBoundary_Vector.xml",reference)
868    def test_hex_contact_3D_order1_ReducedFunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_3D_order1_ReducedFunctionOnBoundary_Tensor_vtk(self):
869       reference="hex_3D_o1_boundary_t.xml"       reference="hex_3D_o1_boundary_t.xml"
870       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
871       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
872       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
873       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnBoundary_Tensor.xml",reference)
874    def test_hex_contact_3D_order1_onFace_FunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_3D_order1_onFace_FunctionOnBoundary_Scalar_vtk(self):
875       reference="hex_3D_o1_f_boundary_s.xml"       reference="hex_3D_o1_f_boundary_s.xml"
876       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh",optimize=False)
877       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
878       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_FunctionOnBoundary_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_FunctionOnBoundary_Scalar.xml",data=x[0])
879       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnBoundary_Scalar.xml",reference)
880    def test_hex_contact_3D_order1_onFace_FunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_3D_order1_onFace_FunctionOnBoundary_Vector_vtk(self):
881       reference="hex_3D_o1_f_boundary_v.xml"       reference="hex_3D_o1_f_boundary_v.xml"
882       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh",optimize=False)
883       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
884       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_FunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_FunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.,3.])
885       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnBoundary_Vector.xml",reference)
886    def test_hex_contact_3D_order1_onFace_FunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_3D_order1_onFace_FunctionOnBoundary_Tensor_vtk(self):
887       reference="hex_3D_o1_f_boundary_t.xml"       reference="hex_3D_o1_f_boundary_t.xml"
888       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh",optimize=False)
889       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
890       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_FunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_FunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
891       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnBoundary_Tensor.xml",reference)
892    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Scalar_vtk(self):
893       reference="hex_3D_o1_f_boundary_s.xml"       reference="hex_3D_o1_f_boundary_s.xml"
894       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh",optimize=False)
895       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
896       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Scalar.xml",data=x[0])
897       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Scalar.xml",reference)
898    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Vector_vtk(self):
899       reference="hex_3D_o1_f_boundary_v.xml"       reference="hex_3D_o1_f_boundary_v.xml"
900       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh",optimize=False)
901       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
902       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.,3.])
903       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Vector.xml",reference)
904    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Tensor_vtk(self):
905       reference="hex_3D_o1_f_boundary_t.xml"       reference="hex_3D_o1_f_boundary_t.xml"
906       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh",optimize=False)
907       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
908       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
909       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnBoundary_Tensor.xml",reference)
910    def test_hex_contact_3D_order1_FunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_3D_order1_FunctionOnContactZero_Scalar_vtk(self):
911       reference="hex_3D_o1_contact_s.xml"       reference="hex_3D_o1_contact_s.xml"
912       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
913       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
914       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnContactZero_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnContactZero_Scalar.xml",data=x[0])
915       self.check_vtk("hex_contact_3D_order1_FunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_FunctionOnContactZero_Scalar.xml",reference)
916    def test_hex_contact_3D_order1_FunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_3D_order1_FunctionOnContactZero_Vector_vtk(self):
917       reference="hex_3D_o1_contact_v.xml"       reference="hex_3D_o1_contact_v.xml"
918       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
919       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
920       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.,3.])
921       self.check_vtk("hex_contact_3D_order1_FunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_FunctionOnContactZero_Vector.xml",reference)
922    def test_hex_contact_3D_order1_FunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_3D_order1_FunctionOnContactZero_Tensor_vtk(self):
923       reference="hex_3D_o1_contact_t.xml"       reference="hex_3D_o1_contact_t.xml"
924       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
925       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
926       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
927       self.check_vtk("hex_contact_3D_order1_FunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_FunctionOnContactZero_Tensor.xml",reference)
928    def test_hex_contact_3D_order1_ReducedFunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_3D_order1_ReducedFunctionOnContactZero_Scalar_vtk(self):
929       reference="hex_3D_o1_contact_s.xml"       reference="hex_3D_o1_contact_s.xml"
930       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
931       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
932       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnContactZero_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnContactZero_Scalar.xml",data=x[0])
933       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnContactZero_Scalar.xml",reference)
934    def test_hex_contact_3D_order1_ReducedFunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_3D_order1_ReducedFunctionOnContactZero_Vector_vtk(self):
935       reference="hex_3D_o1_contact_v.xml"       reference="hex_3D_o1_contact_v.xml"
936       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
937       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
938       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.,3.])
939       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnContactZero_Vector.xml",reference)
940    def test_hex_contact_3D_order1_ReducedFunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_3D_order1_ReducedFunctionOnContactZero_Tensor_vtk(self):
941       reference="hex_3D_o1_contact_t.xml"       reference="hex_3D_o1_contact_t.xml"
942       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
943       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
944       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
945       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnContactZero_Tensor.xml",reference)
946    def test_hex_contact_3D_order1_onFace_FunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_3D_order1_onFace_FunctionOnContactZero_Scalar_vtk(self):
947       reference="hex_3D_o1_contact_s.xml"       reference="hex_3D_o1_contact_s.xml"
948       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh",optimize=False)
949       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
950       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_FunctionOnContactZero_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_FunctionOnContactZero_Scalar.xml",data=x[0])
951       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnContactZero_Scalar.xml",reference)
952    def test_hex_contact_3D_order1_onFace_FunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_3D_order1_onFace_FunctionOnContactZero_Vector_vtk(self):
953       reference="hex_3D_o1_contact_v.xml"       reference="hex_3D_o1_contact_v.xml"
954       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh",optimize=False)
955       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
956       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_FunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_FunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.,3.])
957       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnContactZero_Vector.xml",reference)
958    def test_hex_contact_3D_order1_onFace_FunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_3D_order1_onFace_FunctionOnContactZero_Tensor_vtk(self):
959       reference="hex_3D_o1_contact_t.xml"       reference="hex_3D_o1_contact_t.xml"
960       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh",optimize=False)
961       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
962       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_FunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_FunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
963       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnContactZero_Tensor.xml",reference)
964    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Scalar_vtk(self):
965       reference="hex_3D_o1_contact_s.xml"       reference="hex_3D_o1_contact_s.xml"
966       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh",optimize=False)
967       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
968       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Scalar.xml",data=x[0])
969       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Scalar.xml",reference)
970    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Vector_vtk(self):
971       reference="hex_3D_o1_contact_v.xml"       reference="hex_3D_o1_contact_v.xml"
972       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh",optimize=False)
973       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
974       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.,3.])
975       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Vector.xml",reference)
976    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Tensor_vtk(self):
977       reference="hex_3D_o1_contact_t.xml"       reference="hex_3D_o1_contact_t.xml"
978       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh",optimize=False)
979       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
980       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
981       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnContactZero_Tensor.xml",reference)
982    def test_hex_contact_3D_order1_FunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_3D_order1_FunctionOnContactOne_Scalar_vtk(self):
983       reference="hex_3D_o1_contact_s.xml"       reference="hex_3D_o1_contact_s.xml"
984       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
985       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
986       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnContactOne_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnContactOne_Scalar.xml",data=x[0])
987       self.check_vtk("hex_contact_3D_order1_FunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_FunctionOnContactOne_Scalar.xml",reference)
988    def test_hex_contact_3D_order1_FunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_3D_order1_FunctionOnContactOne_Vector_vtk(self):
989       reference="hex_3D_o1_contact_v.xml"       reference="hex_3D_o1_contact_v.xml"
990       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
991       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
992       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.,3.])
993       self.check_vtk("hex_contact_3D_order1_FunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_FunctionOnContactOne_Vector.xml",reference)
994    def test_hex_contact_3D_order1_FunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_3D_order1_FunctionOnContactOne_Tensor_vtk(self):
995       reference="hex_3D_o1_contact_t.xml"       reference="hex_3D_o1_contact_t.xml"
996       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
997       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
998       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
999       self.check_vtk("hex_contact_3D_order1_FunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_FunctionOnContactOne_Tensor.xml",reference)
1000    def test_hex_contact_3D_order1_ReducedFunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_3D_order1_ReducedFunctionOnContactOne_Scalar_vtk(self):
1001       reference="hex_3D_o1_contact_s.xml"       reference="hex_3D_o1_contact_s.xml"
1002       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
1003       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
1004       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnContactOne_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnContactOne_Scalar.xml",data=x[0])
1005       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnContactOne_Scalar.xml",reference)
1006    def test_hex_contact_3D_order1_ReducedFunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_3D_order1_ReducedFunctionOnContactOne_Vector_vtk(self):
1007       reference="hex_3D_o1_contact_v.xml"       reference="hex_3D_o1_contact_v.xml"
1008       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
1009       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
1010       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.,3.])
1011       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnContactOne_Vector.xml",reference)
1012    def test_hex_contact_3D_order1_ReducedFunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_3D_order1_ReducedFunctionOnContactOne_Tensor_vtk(self):
1013       reference="hex_3D_o1_contact_t.xml"       reference="hex_3D_o1_contact_t.xml"
1014       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
1015       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
1016       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1017       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_ReducedFunctionOnContactOne_Tensor.xml",reference)
1018    def test_hex_contact_3D_order1_onFace_FunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_3D_order1_onFace_FunctionOnContactOne_Scalar_vtk(self):
1019       reference="hex_3D_o1_contact_s.xml"       reference="hex_3D_o1_contact_s.xml"
1020       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh",optimize=False)
1021       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
1022       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_FunctionOnContactOne_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_FunctionOnContactOne_Scalar.xml",data=x[0])
1023       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnContactOne_Scalar.xml",reference)
1024    def test_hex_contact_3D_order1_onFace_FunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_3D_order1_onFace_FunctionOnContactOne_Vector_vtk(self):
1025       reference="hex_3D_o1_contact_v.xml"       reference="hex_3D_o1_contact_v.xml"
1026       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh",optimize=False)
1027       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
1028       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_FunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_FunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.,3.])
1029       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnContactOne_Vector.xml",reference)
1030    def test_hex_contact_3D_order1_onFace_FunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_3D_order1_onFace_FunctionOnContactOne_Tensor_vtk(self):
1031       reference="hex_3D_o1_contact_t.xml"       reference="hex_3D_o1_contact_t.xml"
1032       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh",optimize=False)
1033       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
1034       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_FunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_FunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1035       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_FunctionOnContactOne_Tensor.xml",reference)
1036    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Scalar_vtk(self):
1037       reference="hex_3D_o1_contact_s.xml"       reference="hex_3D_o1_contact_s.xml"
1038       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh",optimize=False)
1039       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
1040       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Scalar.xml",data=x[0])
1041       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Scalar.xml",reference)
1042    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Vector_vtk(self):
1043       reference="hex_3D_o1_contact_v.xml"       reference="hex_3D_o1_contact_v.xml"
1044       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh",optimize=False)
1045       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
1046       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.,3.])
1047       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Vector.xml",reference)
1048    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Tensor_vtk(self):
1049       reference="hex_3D_o1_contact_t.xml"       reference="hex_3D_o1_contact_t.xml"
1050       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1_onFace.msh",optimize=False)
1051       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
1052       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1053       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order1_onFace_ReducedFunctionOnContactOne_Tensor.xml",reference)
1054    # ======================================================================================================================    # ======================================================================================================================
1055    def test_hex_contact_3D_order2_ContinuousFunction_Scalar_vtk(self):    def test_hex_contact_3D_order2_ContinuousFunction_Scalar_vtk(self):
1056       reference="hex_3D_o2_node_s.xml"       reference="hex_3D_o2_node_s.xml"
1057       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1058       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
1059       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ContinuousFunction_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ContinuousFunction_Scalar.xml",data=x[0])
1060       self.check_vtk("hex_contact_3D_order2_ContinuousFunction_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_ContinuousFunction_Scalar.xml",reference)
1061    def test_hex_contact_3D_order2_ContinuousFunction_Vector_vtk(self):    def test_hex_contact_3D_order2_ContinuousFunction_Vector_vtk(self):
1062       reference="hex_3D_o2_node_v.xml"       reference="hex_3D_o2_node_v.xml"
1063       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1064       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
1065       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ContinuousFunction_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ContinuousFunction_Vector.xml",data=x[0]*[1.,2.,3.])
1066       self.check_vtk("hex_contact_3D_order2_ContinuousFunction_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_ContinuousFunction_Vector.xml",reference)
1067    def test_hex_contact_3D_order2_ContinuousFunction_Tensor_vtk(self):    def test_hex_contact_3D_order2_ContinuousFunction_Tensor_vtk(self):
1068       reference="hex_3D_o2_node_t.xml"       reference="hex_3D_o2_node_t.xml"
1069       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1070       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
1071       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ContinuousFunction_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ContinuousFunction_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1072       self.check_vtk("hex_contact_3D_order2_ContinuousFunction_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_ContinuousFunction_Tensor.xml",reference)
1073    def test_hex_contact_3D_order2_Solution_Scalar_vtk(self):    def test_hex_contact_3D_order2_Solution_Scalar_vtk(self):
1074       reference="hex_3D_o2_node_s.xml"       reference="hex_3D_o2_node_s.xml"
1075       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1076       x=Solution(dom).getX()       x=Solution(dom).getX()
1077       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Solution_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Solution_Scalar.xml",data=x[0])
1078       self.check_vtk("hex_contact_3D_order2_Solution_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_Solution_Scalar.xml",reference)
1079    def test_hex_contact_3D_order2_Solution_Vector_vtk(self):    def test_hex_contact_3D_order2_Solution_Vector_vtk(self):
1080       reference="hex_3D_o2_node_v.xml"       reference="hex_3D_o2_node_v.xml"
1081       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1082       x=Solution(dom).getX()       x=Solution(dom).getX()
1083       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Solution_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Solution_Vector.xml",data=x[0]*[1.,2.,3.])
1084       self.check_vtk("hex_contact_3D_order2_Solution_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_Solution_Vector.xml",reference)
1085    def test_hex_contact_3D_order2_Solution_Tensor_vtk(self):    def test_hex_contact_3D_order2_Solution_Tensor_vtk(self):
1086       reference="hex_3D_o2_node_t.xml"       reference="hex_3D_o2_node_t.xml"
1087       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1088       x=Solution(dom).getX()       x=Solution(dom).getX()
1089       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Solution_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Solution_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1090       self.check_vtk("hex_contact_3D_order2_Solution_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_Solution_Tensor.xml",reference)
1091    def test_hex_contact_3D_order2_ReducedSolution_Scalar_vtk(self):    def test_hex_contact_3D_order2_ReducedSolution_Scalar_vtk(self):
1092       reference="hex_3D_o1_node_s.xml"       reference="hex_3D_o1_node_s.xml"
1093       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1094       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
1095       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedSolution_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedSolution_Scalar.xml",data=x[0])
1096       self.check_vtk("hex_contact_3D_order2_ReducedSolution_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedSolution_Scalar.xml",reference)
1097    def test_hex_contact_3D_order2_ReducedSolution_Vector_vtk(self):    def test_hex_contact_3D_order2_ReducedSolution_Vector_vtk(self):
1098       reference="hex_3D_o1_node_v.xml"       reference="hex_3D_o1_node_v.xml"
1099       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1100       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
1101       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedSolution_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedSolution_Vector.xml",data=x[0]*[1.,2.,3.])
1102       self.check_vtk("hex_contact_3D_order2_ReducedSolution_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedSolution_Vector.xml",reference)
1103    def test_hex_contact_3D_order2_ReducedSolution_Tensor_vtk(self):    def test_hex_contact_3D_order2_ReducedSolution_Tensor_vtk(self):
1104       reference="hex_3D_o1_node_t.xml"       reference="hex_3D_o1_node_t.xml"
1105       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1106       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
1107       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedSolution_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedSolution_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1108       self.check_vtk("hex_contact_3D_order2_ReducedSolution_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedSolution_Tensor.xml",reference)
1109    def test_hex_contact_3D_order2_Function_Scalar_vtk(self):    def test_hex_contact_3D_order2_Function_Scalar_vtk(self):
1110       reference="hex_3D_o2_cell_s.xml"       reference="hex_3D_o2_cell_s.xml"
1111       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1112       x=Function(dom).getX()       x=Function(dom).getX()
1113       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Function_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Function_Scalar.xml",data=x[0])
1114       self.check_vtk("hex_contact_3D_order2_Function_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_Function_Scalar.xml",reference)
1115    def test_hex_contact_3D_order2_Function_Vector_vtk(self):    def test_hex_contact_3D_order2_Function_Vector_vtk(self):
1116       reference="hex_3D_o2_cell_v.xml"       reference="hex_3D_o2_cell_v.xml"
1117       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1118       x=Function(dom).getX()       x=Function(dom).getX()
1119       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Function_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Function_Vector.xml",data=x[0]*[1.,2.,3.])
1120       self.check_vtk("hex_contact_3D_order2_Function_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_Function_Vector.xml",reference)
1121    def test_hex_contact_3D_order2_Function_Tensor_vtk(self):    def test_hex_contact_3D_order2_Function_Tensor_vtk(self):
1122       reference="hex_3D_o2_cell_t.xml"       reference="hex_3D_o2_cell_t.xml"
1123       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1124       x=Function(dom).getX()       x=Function(dom).getX()
1125       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Function_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Function_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1126       self.check_vtk("hex_contact_3D_order2_Function_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_Function_Tensor.xml",reference)
1127    def test_hex_contact_3D_order2_ReducedFunction_Scalar_vtk(self):    def test_hex_contact_3D_order2_ReducedFunction_Scalar_vtk(self):
1128       reference="hex_3D_o2_cell_s.xml"       reference="hex_3D_o2_cell_s.xml"
1129       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1130       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
1131       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunction_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunction_Scalar.xml",data=x[0])
1132       self.check_vtk("hex_contact_3D_order2_ReducedFunction_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedFunction_Scalar.xml",reference)
1133    def test_hex_contact_3D_order2_ReducedFunction_Vector_vtk(self):    def test_hex_contact_3D_order2_ReducedFunction_Vector_vtk(self):
1134       reference="hex_3D_o2_cell_v.xml"       reference="hex_3D_o2_cell_v.xml"
1135       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1136       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
1137       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunction_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunction_Vector.xml",data=x[0]*[1.,2.,3.])
1138       self.check_vtk("hex_contact_3D_order2_ReducedFunction_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedFunction_Vector.xml",reference)
1139    def test_hex_contact_3D_order2_ReducedFunction_Tensor_vtk(self):    def test_hex_contact_3D_order2_ReducedFunction_Tensor_vtk(self):
1140       reference="hex_3D_o2_cell_t.xml"       reference="hex_3D_o2_cell_t.xml"
1141       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1142       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
1143       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunction_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunction_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1144       self.check_vtk("hex_contact_3D_order2_ReducedFunction_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedFunction_Tensor.xml",reference)
1145    def test_hex_contact_3D_order2_FunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_3D_order2_FunctionOnBoundary_Scalar_vtk(self):
1146       reference="hex_3D_o2_boundary_s.xml"       reference="hex_3D_o2_boundary_s.xml"
1147       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1148       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
1149       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnBoundary_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnBoundary_Scalar.xml",data=x[0])
1150       self.check_vtk("hex_contact_3D_order2_FunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_FunctionOnBoundary_Scalar.xml",reference)
1151    def test_hex_contact_3D_order2_FunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_3D_order2_FunctionOnBoundary_Vector_vtk(self):
1152       reference="hex_3D_o2_boundary_v.xml"       reference="hex_3D_o2_boundary_v.xml"
1153       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1154       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
1155       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.,3.])
1156       self.check_vtk("hex_contact_3D_order2_FunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_FunctionOnBoundary_Vector.xml",reference)
1157    def test_hex_contact_3D_order2_FunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_3D_order2_FunctionOnBoundary_Tensor_vtk(self):
1158       reference="hex_3D_o2_boundary_t.xml"       reference="hex_3D_o2_boundary_t.xml"
1159       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1160       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
1161       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1162       self.check_vtk("hex_contact_3D_order2_FunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_FunctionOnBoundary_Tensor.xml",reference)
1163    def test_hex_contact_3D_order2_ReducedFunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_3D_order2_ReducedFunctionOnBoundary_Scalar_vtk(self):
1164       reference="hex_3D_o2_boundary_s.xml"       reference="hex_3D_o2_boundary_s.xml"
1165       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1166       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
1167       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnBoundary_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnBoundary_Scalar.xml",data=x[0])
1168       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnBoundary_Scalar.xml",reference)
1169    def test_hex_contact_3D_order2_ReducedFunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_3D_order2_ReducedFunctionOnBoundary_Vector_vtk(self):
1170       reference="hex_3D_o2_boundary_v.xml"       reference="hex_3D_o2_boundary_v.xml"
1171       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1172       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
1173       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.,3.])
1174       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnBoundary_Vector.xml",reference)
1175    def test_hex_contact_3D_order2_ReducedFunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_3D_order2_ReducedFunctionOnBoundary_Tensor_vtk(self):
1176       reference="hex_3D_o2_boundary_t.xml"       reference="hex_3D_o2_boundary_t.xml"
1177       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1178       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
1179       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1180       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnBoundary_Tensor.xml",reference)
1181    def test_hex_contact_3D_order2_onFace_FunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_3D_order2_onFace_FunctionOnBoundary_Scalar_vtk(self):
1182       reference="hex_3D_o2_f_boundary_s.xml"       reference="hex_3D_o2_f_boundary_s.xml"
1183       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh",optimize=False)
1184       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
1185       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_FunctionOnBoundary_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_FunctionOnBoundary_Scalar.xml",data=x[0])
1186       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnBoundary_Scalar.xml",reference)
1187    def test_hex_contact_3D_order2_onFace_FunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_3D_order2_onFace_FunctionOnBoundary_Vector_vtk(self):
1188       reference="hex_3D_o2_f_boundary_v.xml"       reference="hex_3D_o2_f_boundary_v.xml"
1189       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh",optimize=False)
1190       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
1191       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_FunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_FunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.,3.])
1192       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnBoundary_Vector.xml",reference)
1193    def test_hex_contact_3D_order2_onFace_FunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_3D_order2_onFace_FunctionOnBoundary_Tensor_vtk(self):
1194       reference="hex_3D_o2_f_boundary_t.xml"       reference="hex_3D_o2_f_boundary_t.xml"
1195       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh",optimize=False)
1196       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
1197       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_FunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_FunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1198       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnBoundary_Tensor.xml",reference)
1199    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Scalar_vtk(self):    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Scalar_vtk(self):
1200       reference="hex_3D_o2_f_boundary_s.xml"       reference="hex_3D_o2_f_boundary_s.xml"
1201       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh",optimize=False)
1202       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
1203       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Scalar.xml",data=x[0])
1204       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Scalar.xml",reference)
1205    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Vector_vtk(self):    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Vector_vtk(self):
1206       reference="hex_3D_o2_f_boundary_v.xml"       reference="hex_3D_o2_f_boundary_v.xml"
1207       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh",optimize=False)
1208       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
1209       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Vector.xml",data=x[0]*[1.,2.,3.])
1210       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Vector.xml",reference)
1211    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Tensor_vtk(self):    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Tensor_vtk(self):
1212       reference="hex_3D_o2_f_boundary_t.xml"       reference="hex_3D_o2_f_boundary_t.xml"
1213       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh",optimize=False)
1214       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
1215       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1216       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnBoundary_Tensor.xml",reference)
1217    def test_hex_contact_3D_order2_FunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_3D_order2_FunctionOnContactZero_Scalar_vtk(self):
1218       reference="hex_3D_o2_contact_s.xml"       reference="hex_3D_o2_contact_s.xml"
1219       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1220       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
1221       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnContactZero_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnContactZero_Scalar.xml",data=x[0])
1222       self.check_vtk("hex_contact_3D_order2_FunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_FunctionOnContactZero_Scalar.xml",reference)
1223    def test_hex_contact_3D_order2_FunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_3D_order2_FunctionOnContactZero_Vector_vtk(self):
1224       reference="hex_3D_o2_contact_v.xml"       reference="hex_3D_o2_contact_v.xml"
1225       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1226       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
1227       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.,3.])
1228       self.check_vtk("hex_contact_3D_order2_FunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_FunctionOnContactZero_Vector.xml",reference)
1229    def test_hex_contact_3D_order2_FunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_3D_order2_FunctionOnContactZero_Tensor_vtk(self):
1230       reference="hex_3D_o2_contact_t.xml"       reference="hex_3D_o2_contact_t.xml"
1231       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1232       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
1233       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1234       self.check_vtk("hex_contact_3D_order2_FunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_FunctionOnContactZero_Tensor.xml",reference)
1235    def test_hex_contact_3D_order2_ReducedFunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_3D_order2_ReducedFunctionOnContactZero_Scalar_vtk(self):
1236       reference="hex_3D_o2_contact_s.xml"       reference="hex_3D_o2_contact_s.xml"
1237       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1238       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
1239       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnContactZero_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnContactZero_Scalar.xml",data=x[0])
1240       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnContactZero_Scalar.xml",reference)
1241    def test_hex_contact_3D_order2_ReducedFunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_3D_order2_ReducedFunctionOnContactZero_Vector_vtk(self):
1242       reference="hex_3D_o2_contact_v.xml"       reference="hex_3D_o2_contact_v.xml"
1243       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1244       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
1245       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.,3.])
1246       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnContactZero_Vector.xml",reference)
1247    def test_hex_contact_3D_order2_ReducedFunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_3D_order2_ReducedFunctionOnContactZero_Tensor_vtk(self):
1248       reference="hex_3D_o2_contact_t.xml"       reference="hex_3D_o2_contact_t.xml"
1249       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1250       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
1251       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1252       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnContactZero_Tensor.xml",reference)
1253    def test_hex_contact_3D_order2_onFace_FunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_3D_order2_onFace_FunctionOnContactZero_Scalar_vtk(self):
1254       reference="hex_3D_o2_contact_s.xml"       reference="hex_3D_o2_contact_s.xml"
1255       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh",optimize=False)
1256       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
1257       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_FunctionOnContactZero_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_FunctionOnContactZero_Scalar.xml",data=x[0])
1258       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnContactZero_Scalar.xml",reference)
1259    def test_hex_contact_3D_order2_onFace_FunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_3D_order2_onFace_FunctionOnContactZero_Vector_vtk(self):
1260       reference="hex_3D_o2_contact_v.xml"       reference="hex_3D_o2_contact_v.xml"
1261       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh",optimize=False)
1262       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
1263       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_FunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_FunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.,3.])
1264       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnContactZero_Vector.xml",reference)
1265    def test_hex_contact_3D_order2_onFace_FunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_3D_order2_onFace_FunctionOnContactZero_Tensor_vtk(self):
1266       reference="hex_3D_o2_contact_t.xml"       reference="hex_3D_o2_contact_t.xml"
1267       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh",optimize=False)
1268       x=FunctionOnContactZero(dom).getX()       x=FunctionOnContactZero(dom).getX()
1269       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_FunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_FunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1270       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnContactZero_Tensor.xml",reference)
1271    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Scalar_vtk(self):    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Scalar_vtk(self):
1272       reference="hex_3D_o2_contact_s.xml"       reference="hex_3D_o2_contact_s.xml"
1273       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh",optimize=False)
1274       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
1275       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Scalar.xml",data=x[0])
1276       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Scalar.xml",reference)
1277    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Vector_vtk(self):    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Vector_vtk(self):
1278       reference="hex_3D_o2_contact_v.xml"       reference="hex_3D_o2_contact_v.xml"
1279       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh",optimize=False)
1280       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
1281       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Vector.xml",data=x[0]*[1.,2.,3.])
1282       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Vector.xml",reference)
1283    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Tensor_vtk(self):    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Tensor_vtk(self):
1284       reference="hex_3D_o2_contact_t.xml"       reference="hex_3D_o2_contact_t.xml"
1285       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh",optimize=False)
1286       x=ReducedFunctionOnContactZero(dom).getX()       x=ReducedFunctionOnContactZero(dom).getX()
1287       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1288       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnContactZero_Tensor.xml",reference)
1289    def test_hex_contact_3D_order2_FunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_3D_order2_FunctionOnContactOne_Scalar_vtk(self):
1290       reference="hex_3D_o2_contact_s.xml"       reference="hex_3D_o2_contact_s.xml"
1291       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1292       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
1293       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnContactOne_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnContactOne_Scalar.xml",data=x[0])
1294       self.check_vtk("hex_contact_3D_order2_FunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_FunctionOnContactOne_Scalar.xml",reference)
1295    def test_hex_contact_3D_order2_FunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_3D_order2_FunctionOnContactOne_Vector_vtk(self):
1296       reference="hex_3D_o2_contact_v.xml"       reference="hex_3D_o2_contact_v.xml"
1297       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1298       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
1299       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.,3.])
1300       self.check_vtk("hex_contact_3D_order2_FunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_FunctionOnContactOne_Vector.xml",reference)
1301    def test_hex_contact_3D_order2_FunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_3D_order2_FunctionOnContactOne_Tensor_vtk(self):
1302       reference="hex_3D_o2_contact_t.xml"       reference="hex_3D_o2_contact_t.xml"
1303       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1304       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
1305       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_FunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1306       self.check_vtk("hex_contact_3D_order2_FunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_FunctionOnContactOne_Tensor.xml",reference)
1307    def test_hex_contact_3D_order2_ReducedFunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_3D_order2_ReducedFunctionOnContactOne_Scalar_vtk(self):
1308       reference="hex_3D_o2_contact_s.xml"       reference="hex_3D_o2_contact_s.xml"
1309       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1310       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
1311       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnContactOne_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnContactOne_Scalar.xml",data=x[0])
1312       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnContactOne_Scalar.xml",reference)
1313    def test_hex_contact_3D_order2_ReducedFunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_3D_order2_ReducedFunctionOnContactOne_Vector_vtk(self):
1314       reference="hex_3D_o2_contact_v.xml"       reference="hex_3D_o2_contact_v.xml"
1315       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1316       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
1317       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.,3.])
1318       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnContactOne_Vector.xml",reference)
1319    def test_hex_contact_3D_order2_ReducedFunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_3D_order2_ReducedFunctionOnContactOne_Tensor_vtk(self):
1320       reference="hex_3D_o2_contact_t.xml"       reference="hex_3D_o2_contact_t.xml"
1321       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
1322       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
1323       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1324       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_ReducedFunctionOnContactOne_Tensor.xml",reference)
1325    def test_hex_contact_3D_order2_onFace_FunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_3D_order2_onFace_FunctionOnContactOne_Scalar_vtk(self):
1326       reference="hex_3D_o2_contact_s.xml"       reference="hex_3D_o2_contact_s.xml"
1327       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh",optimize=False)
1328       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
1329       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_FunctionOnContactOne_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_FunctionOnContactOne_Scalar.xml",data=x[0])
1330       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnContactOne_Scalar.xml",reference)
1331    def test_hex_contact_3D_order2_onFace_FunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_3D_order2_onFace_FunctionOnContactOne_Vector_vtk(self):
1332       reference="hex_3D_o2_contact_v.xml"       reference="hex_3D_o2_contact_v.xml"
1333       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh",optimize=False)
1334       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
1335       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_FunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_FunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.,3.])
1336       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnContactOne_Vector.xml",reference)
1337    def test_hex_contact_3D_order2_onFace_FunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_3D_order2_onFace_FunctionOnContactOne_Tensor_vtk(self):
1338       reference="hex_3D_o2_contact_t.xml"       reference="hex_3D_o2_contact_t.xml"
1339       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh",optimize=False)
1340       x=FunctionOnContactOne(dom).getX()       x=FunctionOnContactOne(dom).getX()
1341       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_FunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_FunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1342       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_FunctionOnContactOne_Tensor.xml",reference)
1343    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Scalar_vtk(self):    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Scalar_vtk(self):
1344       reference="hex_3D_o2_contact_s.xml"       reference="hex_3D_o2_contact_s.xml"
1345       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh",optimize=False)
1346       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
1347       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Scalar.xml",data=x[0])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Scalar.xml",data=x[0])
1348       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Scalar.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Scalar.xml",reference)
1349    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Vector_vtk(self):    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Vector_vtk(self):
1350       reference="hex_3D_o2_contact_v.xml"       reference="hex_3D_o2_contact_v.xml"
1351       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh",optimize=False)
1352       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
1353       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.,3.])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Vector.xml",data=x[0]*[1.,2.,3.])
1354       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Vector.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Vector.xml",reference)
1355    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Tensor_vtk(self):    def test_hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Tensor_vtk(self):
1356       reference="hex_3D_o2_contact_t.xml"       reference="hex_3D_o2_contact_t.xml"
1357       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2_onFace.msh",optimize=False)
1358       x=ReducedFunctionOnContactOne(dom).getX()       x=ReducedFunctionOnContactOne(dom).getX()
1359       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveVTK(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Tensor.xml",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1360       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Tensor.xml",reference)       self.check_vtk("hex_contact_3D_order2_onFace_ReducedFunctionOnContactOne_Tensor.xml",reference)
1361    
1362    
1363      # ======================================================================================================================
1364      # ======================================================================================================================
1365      # ======================================================================================================================
1366      def test_tet_2D_order2_vtk(self):
1367         reference="tet_2D_o2.xml"
1368         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order2.fly"))
1369         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order2.xml"),domain=dom)
1370         self.check_vtk("tet_2D_order2.xml",reference)
1371    
1372      def test_tet_2D_order2_AllPoints_Scalar_vtk(self):
1373         reference="tet_2D_o1_node_3xs.xml"
1374         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order2.fly"))
1375         x=Solution(dom).getX()
1376         x_r=ReducedSolution(dom).getX()
1377         x_n=ContinuousFunction(dom).getX()
1378         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order2_AllPoints_Scalar.xml"),data_r=x_r[0],data_n=x_n[0],data=x[0])
1379         self.check_vtk("tet_2D_order2_AllPoints_Scalar.xml",reference)
1380      def test_tet_2D_order2_02Points_Scalar_vtk(self):
1381         reference="tet_2D_o2_node_2xs.xml"
1382         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order2.fly"))
1383         x=Solution(dom).getX()
1384         x_n=ContinuousFunction(dom).getX()
1385         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order2_O2Points_Scalar.xml"),data_n=x_n[0],data=x[0])
1386         self.check_vtk("tet_2D_order2_O2Points_Scalar.xml",reference)
1387      def test_tet_2D_order2_2Cells_Scalar_vtk(self):
1388         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order2.fly"))
1389         x=Function(dom).getX()
1390         x_b=FunctionOnBoundary(dom).getX()
1391         try:
1392            saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order2_2Cells_Scalar.xml"),data=x[0],data_b=x_b[0])
1393            self.fail("non-matching data not detected.")
1394         except StandardError:
1395            pass
1396      def test_tet_2D_order2_BoundaryPoint_Scalar_vtk(self):
1397         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order2.fly"))
1398         x=ContinuousFunction(dom).getX()
1399         x_b=FunctionOnBoundary(dom).getX()
1400         try:
1401            saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order2_BoundaryPoint_Scalar.xml"),data=x[0],data_b=x_b[0])
1402            self.fail("non-matching data not detected.")
1403         except StandardError:
1404            pass
1405      def test_tet_2D_order2_Cells_AllData_vtk(self):
1406         reference="tet_2D_o2_cell_all.xml"
1407         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order2.fly"))
1408         x=Function(dom).getX()
1409         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_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.]])
1410         self.check_vtk("tet_2D_order2_Cells_AllData.xml",reference)
1411    
1412      def test_tet_2D_order2_CellsPoints_AllData_vtk(self):
1413         reference="tet_2D_o2_cellnode_all.xml"
1414         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order2.fly"))
1415         x_c=Function(dom).getX()
1416         x_p=ContinuousFunction(dom).getX()
1417         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order2_CellsPoints_AllData.xml"),data_sp=x_p[0],
1418                                                         data_vp=x_p[0]*[1.,2.],
1419                                                         data_tp=x_p[0]*[[11.,12.],[21.,22.]],
1420                                                         data_sc=x_c[0],
1421                                                         data_vc=x_c[0]*[1.,2.],
1422                                                         data_tc=x_c[0]*[[11.,12.],[21.,22.]])
1423         self.check_vtk("tet_2D_order2_CellsPoints_AllData.xml",reference)
1424      # ======================================================================================================================
1425      def test_tet_2D_order1_ContinuousFunction_Scalar_vtk(self):
1426         reference="tet_2D_o1_node_s.xml"
1427         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order1.fly"))
1428         x=ContinuousFunction(dom).getX()
1429         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order1_ContinuousFunction_Scalar.xml"),data=x[0])
1430         self.check_vtk("tet_2D_order1_ContinuousFunction_Scalar.xml",reference)
1431      def test_tet_2D_order1_ContinuousFunction_Vector_vtk(self):
1432         reference="tet_2D_o1_node_v.xml"
1433         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order1.fly"))
1434         x=ContinuousFunction(dom).getX()
1435         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order1_ContinuousFunction_Vector.xml"),data=x[0]*[1.,2.])
1436         self.check_vtk("tet_2D_order1_ContinuousFunction_Vector.xml",reference)
1437      def test_tet_2D_order1_ContinuousFunction_Tensor_vtk(self):
1438         reference="tet_2D_o1_node_t.xml"
1439         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order1.fly"))
1440         x=ContinuousFunction(dom).getX()
1441         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order1_ContinuousFunction_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
1442         self.check_vtk("tet_2D_order1_ContinuousFunction_Tensor.xml",reference)
1443      def test_tet_2D_order1_Solution_Scalar_vtk(self):
1444         reference="tet_2D_o1_node_s.xml"
1445         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order1.fly"))
1446         x=Solution(dom).getX()
1447         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order1_Solution_Scalar.xml"),data=x[0])
1448         self.check_vtk("tet_2D_order1_Solution_Scalar.xml",reference)
1449      def test_tet_2D_order1_Solution_Vector_vtk(self):
1450         reference="tet_2D_o1_node_v.xml"
1451         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order1.fly"))
1452         x=Solution(dom).getX()
1453         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order1_Solution_Vector.xml"),data=x[0]*[1.,2.])
1454         self.check_vtk("tet_2D_order1_Solution_Vector.xml",reference)
1455      def test_tet_2D_order1_Solution_Tensor_vtk(self):
1456         reference="tet_2D_o1_node_t.xml"
1457         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order1.fly"))
1458         x=Solution(dom).getX()
1459         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order1_Solution_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
1460         self.check_vtk("tet_2D_order1_Solution_Tensor.xml",reference)
1461      def test_tet_2D_order1_ReducedSolution_Scalar_vtk(self):
1462         reference="tet_2D_o1_node_s.xml"
1463         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order1.fly"))
1464         x=ReducedSolution(dom).getX()
1465         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order1_ReducedSolution_Scalar.xml"),data=x[0])
1466         self.check_vtk("tet_2D_order1_ReducedSolution_Scalar.xml",reference)
1467      def test_tet_2D_order1_ReducedSolution_Vector_vtk(self):
1468         reference="tet_2D_o1_node_v.xml"
1469         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order1.fly"))
1470         x=ReducedSolution(dom).getX()
1471         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order1_ReducedSolution_Vector.xml"),data=x[0]*[1.,2.])
1472         self.check_vtk("tet_2D_order1_ReducedSolution_Vector.xml",reference)
1473      def test_tet_2D_order1_ReducedSolution_Tensor_vtk(self):
1474         reference="tet_2D_o1_node_t.xml"
1475         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order1.fly"))
1476         x=ReducedSolution(dom).getX()
1477         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order1_ReducedSolution_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
1478         self.check_vtk("tet_2D_order1_ReducedSolution_Tensor.xml",reference)
1479      def test_tet_2D_order1_Function_Scalar_vtk(self):
1480         reference="tet_2D_o1_cell_s.xml"
1481         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order1.fly"))
1482         x=Function(dom).getX()
1483         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order1_Function_Scalar.xml"),data=x[0])
1484         self.check_vtk("tet_2D_order1_Function_Scalar.xml",reference)
1485      def test_tet_2D_order1_Function_Vector_vtk(self):
1486         reference="tet_2D_o1_cell_v.xml"
1487         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order1.fly"))
1488         x=Function(dom).getX()
1489         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order1_Function_Vector.xml"),data=x[0]*[1.,2.])
1490         self.check_vtk("tet_2D_order1_Function_Vector.xml",reference)
1491      def test_tet_2D_order1_Function_Tensor_vtk(self):
1492         reference="tet_2D_o1_cell_t.xml"
1493         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order1.fly"))
1494         x=Function(dom).getX()
1495         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order1_Function_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
1496         self.check_vtk("tet_2D_order1_Function_Tensor.xml",reference)
1497      def test_tet_2D_order1_ReducedFunction_Scalar_vtk(self):
1498         reference="tet_2D_o1_cell_s.xml"
1499         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order1.fly"))
1500         x=ReducedFunction(dom).getX()
1501         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order1_ReducedFunction_Scalar.xml"),data=x[0])
1502         self.check_vtk("tet_2D_order1_ReducedFunction_Scalar.xml",reference)
1503      def test_tet_2D_order1_ReducedFunction_Vector_vtk(self):
1504         reference="tet_2D_o1_cell_v.xml"
1505         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order1.fly"))
1506         x=ReducedFunction(dom).getX()
1507         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order1_ReducedFunction_Vector.xml"),data=x[0]*[1.,2.])
1508         self.check_vtk("tet_2D_order1_ReducedFunction_Vector.xml",reference)
1509      def test_tet_2D_order1_ReducedFunction_Tensor_vtk(self):
1510         reference="tet_2D_o1_cell_t.xml"
1511         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order1.fly"))
1512         x=ReducedFunction(dom).getX()
1513         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order1_ReducedFunction_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
1514         self.check_vtk("tet_2D_order1_ReducedFunction_Tensor.xml",reference)
1515      def test_tet_2D_order1_FunctionOnBoundary_Scalar_vtk(self):
1516         reference="tet_2D_o1_boundary_s.xml"
1517         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order1.fly"))
1518         x=FunctionOnBoundary(dom).getX()
1519         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order1_FunctionOnBoundary_Scalar.xml"),data=x[0])
1520         self.check_vtk("tet_2D_order1_FunctionOnBoundary_Scalar.xml",reference)
1521      def test_tet_2D_order1_FunctionOnBoundary_Vector_vtk(self):
1522         reference="tet_2D_o1_boundary_v.xml"
1523         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order1.fly"))
1524         x=FunctionOnBoundary(dom).getX()
1525         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order1_FunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.])
1526         self.check_vtk("tet_2D_order1_FunctionOnBoundary_Vector.xml",reference)
1527      def test_tet_2D_order1_FunctionOnBoundary_Tensor_vtk(self):
1528         reference="tet_2D_o1_boundary_t.xml"
1529         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order1.fly"))
1530         x=FunctionOnBoundary(dom).getX()
1531         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order1_FunctionOnBoundary_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
1532         self.check_vtk("tet_2D_order1_FunctionOnBoundary_Tensor.xml",reference)
1533      def test_tet_2D_order1_ReducedFunctionOnBoundary_Scalar_vtk(self):
1534         reference="tet_2D_o1_boundary_s.xml"
1535         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order1.fly"))
1536         x=ReducedFunctionOnBoundary(dom).getX()
1537         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order1_ReducedFunctionOnBoundary_Scalar.xml"),data=x[0])
1538         self.check_vtk("tet_2D_order1_ReducedFunctionOnBoundary_Scalar.xml",reference)
1539      def test_tet_2D_order1_ReducedFunctionOnBoundary_Vector_vtk(self):
1540         reference="tet_2D_o1_boundary_v.xml"
1541         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order1.fly"))
1542         x=ReducedFunctionOnBoundary(dom).getX()
1543         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order1_ReducedFunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.])
1544         self.check_vtk("tet_2D_order1_ReducedFunctionOnBoundary_Vector.xml",reference)
1545      def test_tet_2D_order1_ReducedFunctionOnBoundary_Tensor_vtk(self):
1546         reference="tet_2D_o1_boundary_t.xml"
1547         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order1.fly"))
1548         x=ReducedFunctionOnBoundary(dom).getX()
1549         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order1_ReducedFunctionOnBoundary_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
1550         self.check_vtk("tet_2D_order1_ReducedFunctionOnBoundary_Tensor.xml",reference)
1551      # ======================================================================================================================
1552      def test_tet_2D_order2_ContinuousFunction_Scalar_vtk(self):
1553         reference="tet_2D_o2_node_s.xml"
1554         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order2.fly"))
1555         x=ContinuousFunction(dom).getX()
1556         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order2_ContinuousFunction_Scalar.xml"),data=x[0])
1557         self.check_vtk("tet_2D_order2_ContinuousFunction_Scalar.xml",reference)
1558      def test_tet_2D_order2_ContinuousFunction_Vector_vtk(self):
1559         reference="tet_2D_o2_node_v.xml"
1560         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order2.fly"))
1561         x=ContinuousFunction(dom).getX()
1562         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order2_ContinuousFunction_Vector.xml"),data=x[0]*[1.,2.])
1563         self.check_vtk("tet_2D_order2_ContinuousFunction_Vector.xml",reference)
1564      def test_tet_2D_order2_ContinuousFunction_Tensor_vtk(self):
1565         reference="tet_2D_o2_node_t.xml"
1566         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order2.fly"))
1567         x=ContinuousFunction(dom).getX()
1568         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order2_ContinuousFunction_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
1569         self.check_vtk("tet_2D_order2_ContinuousFunction_Tensor.xml",reference)
1570      def test_tet_2D_order2_Solution_Scalar_vtk(self):
1571         reference="tet_2D_o2_node_s.xml"
1572         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order2.fly"))
1573         x=Solution(dom).getX()
1574         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order2_Solution_Scalar.xml"),data=x[0])
1575         self.check_vtk("tet_2D_order2_Solution_Scalar.xml",reference)
1576      def test_tet_2D_order2_Solution_Vector_vtk(self):
1577         reference="tet_2D_o2_node_v.xml"
1578         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order2.fly"))
1579         x=Solution(dom).getX()
1580         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order2_Solution_Vector.xml"),data=x[0]*[1.,2.])
1581         self.check_vtk("tet_2D_order2_Solution_Vector.xml",reference)
1582      def test_tet_2D_order2_Solution_Tensor_vtk(self):
1583         reference="tet_2D_o2_node_t.xml"
1584         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order2.fly"))
1585         x=Solution(dom).getX()
1586         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order2_Solution_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
1587         self.check_vtk("tet_2D_order2_Solution_Tensor.xml",reference)
1588      def test_tet_2D_order2_ReducedSolution_Scalar_vtk(self):
1589         reference="tet_2D_o1_node_s.xml"
1590         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order2.fly"))
1591         x=ReducedSolution(dom).getX()
1592         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order2_ReducedSolution_Scalar.xml"),data=x[0])
1593         self.check_vtk("tet_2D_order2_ReducedSolution_Scalar.xml",reference)
1594      def test_tet_2D_order2_ReducedSolution_Vector_vtk(self):
1595         reference="tet_2D_o1_node_v.xml"
1596         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order2.fly"))
1597         x=ReducedSolution(dom).getX()
1598         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order2_ReducedSolution_Vector.xml"),data=x[0]*[1.,2.])
1599         self.check_vtk("tet_2D_order2_ReducedSolution_Vector.xml",reference)
1600      def test_tet_2D_order2_ReducedSolution_Tensor_vtk(self):
1601         reference="tet_2D_o1_node_t.xml"
1602         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order2.fly"))
1603         x=ReducedSolution(dom).getX()
1604         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order2_ReducedSolution_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
1605         self.check_vtk("tet_2D_order2_ReducedSolution_Tensor.xml",reference)
1606      def test_tet_2D_order2_Function_Scalar_vtk(self):
1607         reference="tet_2D_o2_cell_s.xml"
1608         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order2.fly"))
1609         x=Function(dom).getX()
1610         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order2_Function_Scalar.xml"),data=x[0])
1611         self.check_vtk("tet_2D_order2_Function_Scalar.xml",reference)
1612      def test_tet_2D_order2_Function_Vector_vtk(self):
1613         reference="tet_2D_o2_cell_v.xml"
1614         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order2.fly"))
1615         x=Function(dom).getX()
1616         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order2_Function_Vector.xml"),data=x[0]*[1.,2.])
1617         self.check_vtk("tet_2D_order2_Function_Vector.xml",reference)
1618      def test_tet_2D_order2_Function_Tensor_vtk(self):
1619         reference="tet_2D_o2_cell_t.xml"
1620         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order2.fly"))
1621         x=Function(dom).getX()
1622         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order2_Function_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
1623         self.check_vtk("tet_2D_order2_Function_Tensor.xml",reference)
1624      def test_tet_2D_order2_ReducedFunction_Scalar_vtk(self):
1625         reference="tet_2D_o2_reduced_cell_s.xml"
1626         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order2.fly"))
1627         x=ReducedFunction(dom).getX()
1628         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order2_ReducedFunction_Scalar.xml"),data=x[0])
1629         self.check_vtk("tet_2D_order2_ReducedFunction_Scalar.xml",reference)
1630      def test_tet_2D_order2_ReducedFunction_Vector_vtk(self):
1631         reference="tet_2D_o2_reduced_cell_v.xml"
1632         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order2.fly"))
1633         x=ReducedFunction(dom).getX()
1634         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order2_ReducedFunction_Vector.xml"),data=x[0]*[1.,2.])
1635         self.check_vtk("tet_2D_order2_ReducedFunction_Vector.xml",reference)
1636      def test_tet_2D_order2_ReducedFunction_Tensor_vtk(self):
1637         reference="tet_2D_o2_reduced_cell_t.xml"
1638         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order2.fly"))
1639         x=ReducedFunction(dom).getX()
1640         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order2_ReducedFunction_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
1641         self.check_vtk("tet_2D_order2_ReducedFunction_Tensor.xml",reference)
1642      def test_tet_2D_order2_FunctionOnBoundary_Scalar_vtk(self):
1643         reference="tet_2D_o2_boundary_s.xml"
1644         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order2.fly"))
1645         x=FunctionOnBoundary(dom).getX()
1646         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order2_FunctionOnBoundary_Scalar.xml"),data=x[0])
1647         self.check_vtk("tet_2D_order2_FunctionOnBoundary_Scalar.xml",reference)
1648      def test_tet_2D_order2_FunctionOnBoundary_Vector_vtk(self):
1649         reference="tet_2D_o2_boundary_v.xml"
1650         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order2.fly"))
1651         x=FunctionOnBoundary(dom).getX()
1652         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order2_FunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.])
1653         self.check_vtk("tet_2D_order2_FunctionOnBoundary_Vector.xml",reference)
1654      def test_tet_2D_order2_FunctionOnBoundary_Tensor_vtk(self):
1655         reference="tet_2D_o2_boundary_t.xml"
1656         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order2.fly"))
1657         x=FunctionOnBoundary(dom).getX()
1658         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order2_FunctionOnBoundary_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
1659         self.check_vtk("tet_2D_order2_FunctionOnBoundary_Tensor.xml",reference)
1660      def test_tet_2D_order2_ReducedFunctionOnBoundary_Scalar_vtk(self):
1661         reference="tet_2D_o2_boundary_s.xml"
1662         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order2.fly"))
1663         x=ReducedFunctionOnBoundary(dom).getX()
1664         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order2_ReducedFunctionOnBoundary_Scalar.xml"),data=x[0])
1665         self.check_vtk("tet_2D_order2_ReducedFunctionOnBoundary_Scalar.xml",reference)
1666      def test_tet_2D_order2_ReducedFunctionOnBoundary_Vector_vtk(self):
1667         reference="tet_2D_o2_boundary_v.xml"
1668         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order2.fly"))
1669         x=ReducedFunctionOnBoundary(dom).getX()
1670         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order2_ReducedFunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.])
1671         self.check_vtk("tet_2D_order2_ReducedFunctionOnBoundary_Vector.xml",reference)
1672      def test_tet_2D_order2_ReducedFunctionOnBoundary_Tensor_vtk(self):
1673         reference="tet_2D_o2_boundary_t.xml"
1674         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_2D_order2.fly"))
1675         x=ReducedFunctionOnBoundary(dom).getX()
1676         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_2D_order2_ReducedFunctionOnBoundary_Tensor.xml"),data=x[0]*[[11.,12.],[21.,22.]])
1677         self.check_vtk("tet_2D_order2_ReducedFunctionOnBoundary_Tensor.xml",reference)
1678      # ======================================================================================================================
1679      def test_tet_3D_order1_ContinuousFunction_Scalar_vtk(self):
1680         reference="tet_3D_o1_node_s.xml"
1681         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order1.fly"))
1682         x=ContinuousFunction(dom).getX()
1683         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order1_ContinuousFunction_Scalar.xml"),data=x[0])
1684         self.check_vtk("tet_3D_order1_ContinuousFunction_Scalar.xml",reference)
1685      def test_tet_3D_order1_ContinuousFunction_Vector_vtk(self):
1686         reference="tet_3D_o1_node_v.xml"
1687         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order1.fly"))
1688         x=ContinuousFunction(dom).getX()
1689         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order1_ContinuousFunction_Vector.xml"),data=x[0]*[1.,2.,3.])
1690         self.check_vtk("tet_3D_order1_ContinuousFunction_Vector.xml",reference)
1691      def test_tet_3D_order1_ContinuousFunction_Tensor_vtk(self):
1692         reference="tet_3D_o1_node_t.xml"
1693         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order1.fly"))
1694         x=ContinuousFunction(dom).getX()
1695         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order1_ContinuousFunction_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1696         self.check_vtk("tet_3D_order1_ContinuousFunction_Tensor.xml",reference)
1697      def test_tet_3D_order1_Solution_Scalar_vtk(self):
1698         reference="tet_3D_o1_node_s.xml"
1699         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order1.fly"))
1700         x=Solution(dom).getX()
1701         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order1_Solution_Scalar.xml"),data=x[0])
1702         self.check_vtk("tet_3D_order1_Solution_Scalar.xml",reference)
1703      def test_tet_3D_order1_Solution_Vector_vtk(self):
1704         reference="tet_3D_o1_node_v.xml"
1705         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order1.fly"))
1706         x=Solution(dom).getX()
1707         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order1_Solution_Vector.xml"),data=x[0]*[1.,2.,3.])
1708         self.check_vtk("tet_3D_order1_Solution_Vector.xml",reference)
1709      def test_tet_3D_order1_Solution_Tensor_vtk(self):
1710         reference="tet_3D_o1_node_t.xml"
1711         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order1.fly"))
1712         x=Solution(dom).getX()
1713         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order1_Solution_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1714         self.check_vtk("tet_3D_order1_Solution_Tensor.xml",reference)
1715      def test_tet_3D_order1_ReducedSolution_Scalar_vtk(self):
1716         reference="tet_3D_o1_node_s.xml"
1717         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order1.fly"))
1718         x=ReducedSolution(dom).getX()
1719         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order1_ReducedSolution_Scalar.xml"),data=x[0])
1720         self.check_vtk("tet_3D_order1_ReducedSolution_Scalar.xml",reference)
1721      def test_tet_3D_order1_ReducedSolution_Vector_vtk(self):
1722         reference="tet_3D_o1_node_v.xml"
1723         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order1.fly"))
1724         x=ReducedSolution(dom).getX()
1725         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order1_ReducedSolution_Vector.xml"),data=x[0]*[1.,2.,3.])
1726         self.check_vtk("tet_3D_order1_ReducedSolution_Vector.xml",reference)
1727      def test_tet_3D_order1_ReducedSolution_Tensor_vtk(self):
1728         reference="tet_3D_o1_node_t.xml"
1729         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order1.fly"))
1730         x=ReducedSolution(dom).getX()
1731         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order1_ReducedSolution_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1732         self.check_vtk("tet_3D_order1_ReducedSolution_Tensor.xml",reference)
1733      def test_tet_3D_order1_Function_Scalar_vtk(self):
1734         reference="tet_3D_o1_cell_s.xml"
1735         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order1.fly"))
1736         x=Function(dom).getX()
1737         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order1_Function_Scalar.xml"),data=x[0])
1738         self.check_vtk("tet_3D_order1_Function_Scalar.xml",reference)
1739      def test_tet_3D_order1_Function_Vector_vtk(self):
1740         reference="tet_3D_o1_cell_v.xml"
1741         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order1.fly"))
1742         x=Function(dom).getX()
1743         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order1_Function_Vector.xml"),data=x[0]*[1.,2.,3.])
1744         self.check_vtk("tet_3D_order1_Function_Vector.xml",reference)
1745      def test_tet_3D_order1_Function_Tensor_vtk(self):
1746         reference="tet_3D_o1_cell_t.xml"
1747         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order1.fly"))
1748         x=Function(dom).getX()
1749         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order1_Function_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1750         self.check_vtk("tet_3D_order1_Function_Tensor.xml",reference)
1751      def test_tet_3D_order1_ReducedFunction_Scalar_vtk(self):
1752         reference="tet_3D_o1_cell_s.xml"
1753         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order1.fly"))
1754         x=ReducedFunction(dom).getX()
1755         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order1_ReducedFunction_Scalar.xml"),data=x[0])
1756         self.check_vtk("tet_3D_order1_ReducedFunction_Scalar.xml",reference)
1757      def test_tet_3D_order1_ReducedFunction_Vector_vtk(self):
1758         reference="tet_3D_o1_cell_v.xml"
1759         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order1.fly"))
1760         x=ReducedFunction(dom).getX()
1761         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order1_ReducedFunction_Vector.xml"),data=x[0]*[1.,2.,3.])
1762         self.check_vtk("tet_3D_order1_ReducedFunction_Vector.xml",reference)
1763      def test_tet_3D_order1_ReducedFunction_Tensor_vtk(self):
1764         reference="tet_3D_o1_cell_t.xml"
1765         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order1.fly"))
1766         x=ReducedFunction(dom).getX()
1767         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order1_ReducedFunction_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1768         self.check_vtk("tet_3D_order1_ReducedFunction_Tensor.xml",reference)
1769      def test_tet_3D_order1_FunctionOnBoundary_Scalar_vtk(self):
1770         reference="tet_3D_o1_boundary_s.xml"
1771         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order1.fly"))
1772         x=FunctionOnBoundary(dom).getX()
1773         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order1_FunctionOnBoundary_Scalar.xml"),data=x[0])
1774         self.check_vtk("tet_3D_order1_FunctionOnBoundary_Scalar.xml",reference)
1775      def test_tet_3D_order1_FunctionOnBoundary_Vector_vtk(self):
1776         reference="tet_3D_o1_boundary_v.xml"
1777         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order1.fly"))
1778         x=FunctionOnBoundary(dom).getX()
1779         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order1_FunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.,3.])
1780         self.check_vtk("tet_3D_order1_FunctionOnBoundary_Vector.xml",reference)
1781      def test_tet_3D_order1_FunctionOnBoundary_Tensor_vtk(self):
1782         reference="tet_3D_o1_boundary_t.xml"
1783         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order1.fly"))
1784         x=FunctionOnBoundary(dom).getX()
1785         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order1_FunctionOnBoundary_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1786         self.check_vtk("tet_3D_order1_FunctionOnBoundary_Tensor.xml",reference)
1787      def test_tet_3D_order1_ReducedFunctionOnBoundary_Scalar_vtk(self):
1788         reference="tet_3D_o1_boundary_s.xml"
1789         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order1.fly"))
1790         x=ReducedFunctionOnBoundary(dom).getX()
1791         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order1_ReducedFunctionOnBoundary_Scalar.xml"),data=x[0])
1792         self.check_vtk("tet_3D_order1_ReducedFunctionOnBoundary_Scalar.xml",reference)
1793      def test_tet_3D_order1_ReducedFunctionOnBoundary_Vector_vtk(self):
1794         reference="tet_3D_o1_boundary_v.xml"
1795         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order1.fly"))
1796         x=ReducedFunctionOnBoundary(dom).getX()
1797         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order1_ReducedFunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.,3.])
1798         self.check_vtk("tet_3D_order1_ReducedFunctionOnBoundary_Vector.xml",reference)
1799      def test_tet_3D_order1_ReducedFunctionOnBoundary_Tensor_vtk(self):
1800         reference="tet_3D_o1_boundary_t.xml"
1801         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order1.fly"))
1802         x=ReducedFunctionOnBoundary(dom).getX()
1803         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order1_ReducedFunctionOnBoundary_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1804         self.check_vtk("tet_3D_order1_ReducedFunctionOnBoundary_Tensor.xml",reference)
1805      # ======================================================================================================================
1806      def test_tet_3D_order2_ContinuousFunction_Scalar_vtk(self):
1807         reference="tet_3D_o2_node_s.xml"
1808         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order2.fly"))
1809         x=ContinuousFunction(dom).getX()
1810         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order2_ContinuousFunction_Scalar.xml"),data=x[0])
1811         self.check_vtk("tet_3D_order2_ContinuousFunction_Scalar.xml",reference)
1812      def test_tet_3D_order2_ContinuousFunction_Vector_vtk(self):
1813         reference="tet_3D_o2_node_v.xml"
1814         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order2.fly"))
1815         x=ContinuousFunction(dom).getX()
1816         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order2_ContinuousFunction_Vector.xml"),data=x[0]*[1.,2.,3.])
1817         self.check_vtk("tet_3D_order2_ContinuousFunction_Vector.xml",reference)
1818      def test_tet_3D_order2_ContinuousFunction_Tensor_vtk(self):
1819         reference="tet_3D_o2_node_t.xml"
1820         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order2.fly"))
1821         x=ContinuousFunction(dom).getX()
1822         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order2_ContinuousFunction_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1823         self.check_vtk("tet_3D_order2_ContinuousFunction_Tensor.xml",reference)
1824      def test_tet_3D_order2_Solution_Scalar_vtk(self):
1825         reference="tet_3D_o2_node_s.xml"
1826         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order2.fly"))
1827         x=Solution(dom).getX()
1828         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order2_Solution_Scalar.xml"),data=x[0])
1829         self.check_vtk("tet_3D_order2_Solution_Scalar.xml",reference)
1830      def test_tet_3D_order2_Solution_Vector_vtk(self):
1831         reference="tet_3D_o2_node_v.xml"
1832         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order2.fly"))
1833         x=Solution(dom).getX()
1834         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order2_Solution_Vector.xml"),data=x[0]*[1.,2.,3.])
1835         self.check_vtk("tet_3D_order2_Solution_Vector.xml",reference)
1836      def test_tet_3D_order2_Solution_Tensor_vtk(self):
1837         reference="tet_3D_o2_node_t.xml"
1838         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order2.fly"))
1839         x=Solution(dom).getX()
1840         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order2_Solution_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1841         self.check_vtk("tet_3D_order2_Solution_Tensor.xml",reference)
1842      def test_tet_3D_order2_ReducedSolution_Scalar_vtk(self):
1843         reference="tet_3D_o1_node_s.xml"
1844         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order2.fly"))
1845         x=ReducedSolution(dom).getX()
1846         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order2_ReducedSolution_Scalar.xml"),data=x[0])
1847         self.check_vtk("tet_3D_order2_ReducedSolution_Scalar.xml",reference)
1848      def test_tet_3D_order2_ReducedSolution_Vector_vtk(self):
1849         reference="tet_3D_o1_node_v.xml"
1850         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order2.fly"))
1851         x=ReducedSolution(dom).getX()
1852         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order2_ReducedSolution_Vector.xml"),data=x[0]*[1.,2.,3.])
1853         self.check_vtk("tet_3D_order2_ReducedSolution_Vector.xml",reference)
1854      def test_tet_3D_order2_ReducedSolution_Tensor_vtk(self):
1855         reference="tet_3D_o1_node_t.xml"
1856         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order2.fly"))
1857         x=ReducedSolution(dom).getX()
1858         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order2_ReducedSolution_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1859         self.check_vtk("tet_3D_order2_ReducedSolution_Tensor.xml",reference)
1860      def test_tet_3D_order2_Function_Scalar_vtk(self):
1861         reference="tet_3D_o2_cell_s.xml"
1862         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order2.fly"))
1863         x=Function(dom).getX()
1864         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order2_Function_Scalar.xml"),data=x[0])
1865         self.check_vtk("tet_3D_order2_Function_Scalar.xml",reference)
1866      def test_tet_3D_order2_Function_Vector_vtk(self):
1867         reference="tet_3D_o2_cell_v.xml"
1868         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order2.fly"))
1869         x=Function(dom).getX()
1870         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order2_Function_Vector.xml"),data=x[0]*[1.,2.,3.])
1871         self.check_vtk("tet_3D_order2_Function_Vector.xml",reference)
1872      def test_tet_3D_order2_Function_Tensor_vtk(self):
1873         reference="tet_3D_o2_cell_t.xml"
1874         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order2.fly"))
1875         x=Function(dom).getX()
1876         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order2_Function_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1877         self.check_vtk("tet_3D_order2_Function_Tensor.xml",reference)
1878      def test_tet_3D_order2_ReducedFunction_Scalar_vtk(self):
1879         reference="tet_3D_o2_reduced_cell_s.xml"
1880         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order2.fly"))
1881         x=ReducedFunction(dom).getX()
1882         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order2_ReducedFunction_Scalar.xml"),data=x[0])
1883         self.check_vtk("tet_3D_order2_ReducedFunction_Scalar.xml",reference)
1884      def test_tet_3D_order2_ReducedFunction_Vector_vtk(self):
1885         reference="tet_3D_o2_reduced_cell_v.xml"
1886         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order2.fly"))
1887         x=ReducedFunction(dom).getX()
1888         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order2_ReducedFunction_Vector.xml"),data=x[0]*[1.,2.,3.])
1889         self.check_vtk("tet_3D_order2_ReducedFunction_Vector.xml",reference)
1890      def test_tet_3D_order2_ReducedFunction_Tensor_vtk(self):
1891         reference="tet_3D_o2_reduced_cell_t.xml"
1892         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order2.fly"))
1893         x=ReducedFunction(dom).getX()
1894         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order2_ReducedFunction_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1895         self.check_vtk("tet_3D_order2_ReducedFunction_Tensor.xml",reference)
1896      def test_tet_3D_order2_FunctionOnBoundary_Scalar_vtk(self):
1897         reference="tet_3D_o2_boundary_s.xml"
1898         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order2.fly"))
1899         x=FunctionOnBoundary(dom).getX()
1900         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order2_FunctionOnBoundary_Scalar.xml"),data=x[0])
1901         self.check_vtk("tet_3D_order2_FunctionOnBoundary_Scalar.xml",reference)
1902      def test_tet_3D_order2_FunctionOnBoundary_Vector_vtk(self):
1903         reference="tet_3D_o2_boundary_v.xml"
1904         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order2.fly"))
1905         x=FunctionOnBoundary(dom).getX()
1906         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order2_FunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.,3.])
1907         self.check_vtk("tet_3D_order2_FunctionOnBoundary_Vector.xml",reference)
1908      def test_tet_3D_order2_FunctionOnBoundary_Tensor_vtk(self):
1909         reference="tet_3D_o2_boundary_t.xml"
1910         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order2.fly"))
1911         x=FunctionOnBoundary(dom).getX()
1912         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order2_FunctionOnBoundary_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1913         self.check_vtk("tet_3D_order2_FunctionOnBoundary_Tensor.xml",reference)
1914      def test_tet_3D_order2_ReducedFunctionOnBoundary_Scalar_vtk(self):
1915         reference="tet_3D_o2_reduced_boundary_s.xml"
1916         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order2.fly"))
1917         x=ReducedFunctionOnBoundary(dom).getX()
1918         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order2_ReducedFunctionOnBoundary_Scalar.xml"),data=x[0])
1919         self.check_vtk("tet_3D_order2_ReducedFunctionOnBoundary_Scalar.xml",reference)
1920      def test_tet_3D_order2_ReducedFunctionOnBoundary_Vector_vtk(self):
1921         reference="tet_3D_o2_reduced_boundary_v.xml"
1922         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order2.fly"))
1923         x=ReducedFunctionOnBoundary(dom).getX()
1924         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order2_ReducedFunctionOnBoundary_Vector.xml"),data=x[0]*[1.,2.,3.])
1925         self.check_vtk("tet_3D_order2_ReducedFunctionOnBoundary_Vector.xml",reference)
1926      def test_tet_3D_order2_ReducedFunctionOnBoundary_Tensor_vtk(self):
1927         reference="tet_3D_o2_reduced_boundary_t.xml"
1928         dom=ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"tet_3D_order2.fly"))
1929         x=ReducedFunctionOnBoundary(dom).getX()
1930         saveVTK(os.path.join(FINLEY_WORKDIR_PATH,"tet_3D_order2_ReducedFunctionOnBoundary_Tensor.xml"),data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
1931         self.check_vtk("tet_3D_order2_ReducedFunctionOnBoundary_Tensor.xml",reference)
1932    
1933  class Test_DXFiles(Test_VisualizationInterface):  class Test_DXFiles(Test_VisualizationInterface):
1934    # ======================================================================================================================    # ======================================================================================================================
1935    def test_hex_2D_order2_dx(self):    def test_hex_2D_order2_dx(self):
1936       reference="hex_2D_o1.dx"       reference="hex_2D_o1.dx"
1937       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh",optimize=False)
1938       saveDX(FINLEY_WORKDIR_PATH+"hex_2D_order2.dx",domain=dom)       saveDX(FINLEY_WORKDIR_PATH+"hex_2D_order2.dx",domain=dom)
1939       self.check_dx("hex_2D_order2.dx",reference)       self.check_dx("hex_2D_order2.dx",reference)
1940    
1941    def test_hex_2D_order2_AllPoints_Scalar_dx(self):    def test_hex_2D_order2_AllPoints_Scalar_dx(self):
1942       reference="hex_2D_o1_node_3xs.dx"       reference="hex_2D_o1_node_3xs.dx"
1943       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh",optimize=False)
1944       x=Solution(dom).getX()       x=Solution(dom).getX()
1945       x_r=ReducedSolution(dom).getX()       x_r=ReducedSolution(dom).getX()
1946       x_n=ContinuousFunction(dom).getX()       x_n=ContinuousFunction(dom).getX()
# Line 1355  class Test_DXFiles(Test_VisualizationInt Line 1948  class Test_DXFiles(Test_VisualizationInt
1948       self.check_dx("hex_2D_order2_AllPoints_Scalar.dx",reference)       self.check_dx("hex_2D_order2_AllPoints_Scalar.dx",reference)
1949    def test_hex_2D_order2_02Points_Scalar_dx(self):    def test_hex_2D_order2_02Points_Scalar_dx(self):
1950       reference="hex_2D_o1_node_2xs.dx"       reference="hex_2D_o1_node_2xs.dx"
1951       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh",optimize=False)
1952       x=Solution(dom).getX()       x=Solution(dom).getX()
1953       x_n=ContinuousFunction(dom).getX()       x_n=ContinuousFunction(dom).getX()
1954       saveDX(FINLEY_WORKDIR_PATH+"hex_2D_order2_O2Points_Scalar.dx",data_n=x_n[0],data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_2D_order2_O2Points_Scalar.dx",data_n=x_n[0],data=x[0])
1955       self.check_dx("hex_2D_order2_O2Points_Scalar.dx",reference)       self.check_dx("hex_2D_order2_O2Points_Scalar.dx",reference)
1956    def test_hex_2D_order2_2Cells_Scalar_dx(self):    def test_hex_2D_order2_2Cells_Scalar_dx(self):
1957       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh",optimize=False)
1958       x=Function(dom).getX()       x=Function(dom).getX()
1959       x_b=FunctionOnBoundary(dom).getX()       x_b=FunctionOnBoundary(dom).getX()
1960       try:       try:
# Line 1370  class Test_DXFiles(Test_VisualizationInt Line 1963  class Test_DXFiles(Test_VisualizationInt
1963       except StandardError:       except StandardError:
1964          pass          pass
1965    def test_hex_2D_order2_BoundaryPoint_Scalar_dx(self):    def test_hex_2D_order2_BoundaryPoint_Scalar_dx(self):
1966       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh",optimize=False)
1967       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
1968       x_b=FunctionOnBoundary(dom).getX()       x_b=FunctionOnBoundary(dom).getX()
1969       try:       try:
# Line 1380  class Test_DXFiles(Test_VisualizationInt Line 1973  class Test_DXFiles(Test_VisualizationInt
1973          pass          pass
1974    def test_hex_2D_order2_Cells_AllData_dx(self):    def test_hex_2D_order2_Cells_AllData_dx(self):
1975       reference="hex_2D_o1_cell_all.dx"       reference="hex_2D_o1_cell_all.dx"
1976       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh",optimize=False)
1977       x=Function(dom).getX()       x=Function(dom).getX()
1978       saveDX(FINLEY_WORKDIR_PATH+"hex_2D_order2_Cells_AllData.dx",data_s=x[0],data_v=x[0]*[1.,2.],data_t=x[0]*[[11.,12.],[21.,22.]],data_t2=x[0]*[[-11.,-12.],[-21.,-22.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_2D_order2_Cells_AllData.dx",data_s=x[0],data_v=x[0]*[1.,2.],data_t=x[0]*[[11.,12.],[21.,22.]],data_t2=x[0]*[[-11.,-12.],[-21.,-22.]])
1979       self.check_dx("hex_2D_order2_Cells_AllData.dx",reference)       self.check_dx("hex_2D_order2_Cells_AllData.dx",reference)
1980    
1981    def test_hex_2D_order2_CellsPoints_AllData_dx(self):    def test_hex_2D_order2_CellsPoints_AllData_dx(self):
1982       reference="hex_2D_o1_cellnode_all.dx"       reference="hex_2D_o1_cellnode_all.dx"
1983       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_2D_order2.msh",optimize=False)
1984       x_c=Function(dom).getX()       x_c=Function(dom).getX()
1985       x_p=ContinuousFunction(dom).getX()       x_p=ContinuousFunction(dom).getX()
1986       saveDX(FINLEY_WORKDIR_PATH+"hex_2D_order2_CellsPoints_AllData.dx",data_sp=x_p[0],       saveDX(FINLEY_WORKDIR_PATH+"hex_2D_order2_CellsPoints_AllData.dx",data_sp=x_p[0],
# Line 1400  class Test_DXFiles(Test_VisualizationInt Line 1993  class Test_DXFiles(Test_VisualizationInt
1993    # ======================================================================================================================    # ======================================================================================================================
1994    def test_hex_contact_2D_order1_ContinuousFunction_Scalar_dx(self):    def test_hex_contact_2D_order1_ContinuousFunction_Scalar_dx(self):
1995       reference="hex_2D_o1_node_s.dx"       reference="hex_2D_o1_node_s.dx"
1996       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
1997       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
1998       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ContinuousFunction_Scalar.dx",data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ContinuousFunction_Scalar.dx",data=x[0])
1999       self.check_dx("hex_contact_2D_order1_ContinuousFunction_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order1_ContinuousFunction_Scalar.dx",reference)
2000    def test_hex_contact_2D_order1_ContinuousFunction_Vector_dx(self):    def test_hex_contact_2D_order1_ContinuousFunction_Vector_dx(self):
2001       reference="hex_2D_o1_node_v.dx"       reference="hex_2D_o1_node_v.dx"
2002       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2003       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
2004       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ContinuousFunction_Vector.dx",data=x[0]*[1.,2.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ContinuousFunction_Vector.dx",data=x[0]*[1.,2.])
2005       self.check_dx("hex_contact_2D_order1_ContinuousFunction_Vector.dx",reference)       self.check_dx("hex_contact_2D_order1_ContinuousFunction_Vector.dx",reference)
2006    def test_hex_contact_2D_order1_ContinuousFunction_Tensor_dx(self):    def test_hex_contact_2D_order1_ContinuousFunction_Tensor_dx(self):
2007       reference="hex_2D_o1_node_t.dx"       reference="hex_2D_o1_node_t.dx"
2008       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2009       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
2010       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ContinuousFunction_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ContinuousFunction_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])
2011       self.check_dx("hex_contact_2D_order1_ContinuousFunction_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order1_ContinuousFunction_Tensor.dx",reference)
2012    def test_hex_contact_2D_order1_Solution_Scalar_dx(self):    def test_hex_contact_2D_order1_Solution_Scalar_dx(self):
2013       reference="hex_2D_o1_node_s.dx"       reference="hex_2D_o1_node_s.dx"
2014       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2015       x=Solution(dom).getX()       x=Solution(dom).getX()
2016       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Solution_Scalar.dx",data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Solution_Scalar.dx",data=x[0])
2017       self.check_dx("hex_contact_2D_order1_Solution_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order1_Solution_Scalar.dx",reference)
2018    def test_hex_contact_2D_order1_Solution_Vector_dx(self):    def test_hex_contact_2D_order1_Solution_Vector_dx(self):
2019       reference="hex_2D_o1_node_v.dx"       reference="hex_2D_o1_node_v.dx"
2020       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2021       x=Solution(dom).getX()       x=Solution(dom).getX()
2022       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Solution_Vector.dx",data=x[0]*[1.,2.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Solution_Vector.dx",data=x[0]*[1.,2.])
2023       self.check_dx("hex_contact_2D_order1_Solution_Vector.dx",reference)       self.check_dx("hex_contact_2D_order1_Solution_Vector.dx",reference)
2024    def test_hex_contact_2D_order1_Solution_Tensor_dx(self):    def test_hex_contact_2D_order1_Solution_Tensor_dx(self):
2025       reference="hex_2D_o1_node_t.dx"       reference="hex_2D_o1_node_t.dx"
2026       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2027       x=Solution(dom).getX()       x=Solution(dom).getX()
2028       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Solution_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Solution_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])
2029       self.check_dx("hex_contact_2D_order1_Solution_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order1_Solution_Tensor.dx",reference)
2030    def test_hex_contact_2D_order1_ReducedSolution_Scalar_dx(self):    def test_hex_contact_2D_order1_ReducedSolution_Scalar_dx(self):
2031       reference="hex_2D_o1_node_s.dx"       reference="hex_2D_o1_node_s.dx"
2032       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2033       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
2034       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedSolution_Scalar.dx",data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedSolution_Scalar.dx",data=x[0])
2035       self.check_dx("hex_contact_2D_order1_ReducedSolution_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order1_ReducedSolution_Scalar.dx",reference)
2036    def test_hex_contact_2D_order1_ReducedSolution_Vector_dx(self):    def test_hex_contact_2D_order1_ReducedSolution_Vector_dx(self):
2037       reference="hex_2D_o1_node_v.dx"       reference="hex_2D_o1_node_v.dx"
2038       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2039       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
2040       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedSolution_Vector.dx",data=x[0]*[1.,2.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedSolution_Vector.dx",data=x[0]*[1.,2.])
2041       self.check_dx("hex_contact_2D_order1_ReducedSolution_Vector.dx",reference)       self.check_dx("hex_contact_2D_order1_ReducedSolution_Vector.dx",reference)
2042    def test_hex_contact_2D_order1_ReducedSolution_Tensor_dx(self):    def test_hex_contact_2D_order1_ReducedSolution_Tensor_dx(self):
2043       reference="hex_2D_o1_node_t.dx"       reference="hex_2D_o1_node_t.dx"
2044       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2045       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
2046       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedSolution_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedSolution_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])
2047       self.check_dx("hex_contact_2D_order1_ReducedSolution_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order1_ReducedSolution_Tensor.dx",reference)
2048    def test_hex_contact_2D_order1_Function_Scalar_dx(self):    def test_hex_contact_2D_order1_Function_Scalar_dx(self):
2049       reference="hex_2D_o1_cell_s.dx"       reference="hex_2D_o1_cell_s.dx"
2050       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2051       x=Function(dom).getX()       x=Function(dom).getX()
2052       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Function_Scalar.dx",data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Function_Scalar.dx",data=x[0])
2053       self.check_dx("hex_contact_2D_order1_Function_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order1_Function_Scalar.dx",reference)
2054    def test_hex_contact_2D_order1_Function_Vector_dx(self):    def test_hex_contact_2D_order1_Function_Vector_dx(self):
2055       reference="hex_2D_o1_cell_v.dx"       reference="hex_2D_o1_cell_v.dx"
2056       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2057       x=Function(dom).getX()       x=Function(dom).getX()
2058       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Function_Vector.dx",data=x[0]*[1.,2.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Function_Vector.dx",data=x[0]*[1.,2.])
2059       self.check_dx("hex_contact_2D_order1_Function_Vector.dx",reference)       self.check_dx("hex_contact_2D_order1_Function_Vector.dx",reference)
2060    def test_hex_contact_2D_order1_Function_Tensor_dx(self):    def test_hex_contact_2D_order1_Function_Tensor_dx(self):
2061       reference="hex_2D_o1_cell_t.dx"       reference="hex_2D_o1_cell_t.dx"
2062       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2063       x=Function(dom).getX()       x=Function(dom).getX()
2064       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Function_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_Function_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])
2065       self.check_dx("hex_contact_2D_order1_Function_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order1_Function_Tensor.dx",reference)
2066    def test_hex_contact_2D_order1_ReducedFunction_Scalar_dx(self):    def test_hex_contact_2D_order1_ReducedFunction_Scalar_dx(self):
2067       reference="hex_2D_o1_cell_s.dx"       reference="hex_2D_o1_cell_s.dx"
2068       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2069       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
2070       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunction_Scalar.dx",data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunction_Scalar.dx",data=x[0])
2071       self.check_dx("hex_contact_2D_order1_ReducedFunction_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order1_ReducedFunction_Scalar.dx",reference)
2072    def test_hex_contact_2D_order1_ReducedFunction_Vector_dx(self):    def test_hex_contact_2D_order1_ReducedFunction_Vector_dx(self):
2073       reference="hex_2D_o1_cell_v.dx"       reference="hex_2D_o1_cell_v.dx"
2074       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2075       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
2076       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunction_Vector.dx",data=x[0]*[1.,2.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunction_Vector.dx",data=x[0]*[1.,2.])
2077       self.check_dx("hex_contact_2D_order1_ReducedFunction_Vector.dx",reference)       self.check_dx("hex_contact_2D_order1_ReducedFunction_Vector.dx",reference)
2078    def test_hex_contact_2D_order1_ReducedFunction_Tensor_dx(self):    def test_hex_contact_2D_order1_ReducedFunction_Tensor_dx(self):
2079       reference="hex_2D_o1_cell_t.dx"       reference="hex_2D_o1_cell_t.dx"
2080       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2081       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
2082       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunction_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunction_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])
2083       self.check_dx("hex_contact_2D_order1_ReducedFunction_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order1_ReducedFunction_Tensor.dx",reference)
2084    def test_hex_contact_2D_order1_FunctionOnBoundary_Scalar_dx(self):    def test_hex_contact_2D_order1_FunctionOnBoundary_Scalar_dx(self):
2085       reference="hex_2D_o1_boundary_s.dx"       reference="hex_2D_o1_boundary_s.dx"
2086       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2087       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
2088       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnBoundary_Scalar.dx",data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnBoundary_Scalar.dx",data=x[0])
2089       self.check_dx("hex_contact_2D_order1_FunctionOnBoundary_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order1_FunctionOnBoundary_Scalar.dx",reference)
2090    def test_hex_contact_2D_order1_FunctionOnBoundary_Vector_dx(self):    def test_hex_contact_2D_order1_FunctionOnBoundary_Vector_dx(self):
2091       reference="hex_2D_o1_boundary_v.dx"       reference="hex_2D_o1_boundary_v.dx"
2092       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2093       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
2094       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnBoundary_Vector.dx",data=x[0]*[1.,2.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnBoundary_Vector.dx",data=x[0]*[1.,2.])
2095       self.check_dx("hex_contact_2D_order1_FunctionOnBoundary_Vector.dx",reference)       self.check_dx("hex_contact_2D_order1_FunctionOnBoundary_Vector.dx",reference)
2096    def test_hex_contact_2D_order1_FunctionOnBoundary_Tensor_dx(self):    def test_hex_contact_2D_order1_FunctionOnBoundary_Tensor_dx(self):
2097       reference="hex_2D_o1_boundary_t.dx"       reference="hex_2D_o1_boundary_t.dx"
2098       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2099       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
2100       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnBoundary_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_FunctionOnBoundary_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])
2101       self.check_dx("hex_contact_2D_order1_FunctionOnBoundary_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order1_FunctionOnBoundary_Tensor.dx",reference)
2102    def test_hex_contact_2D_order1_ReducedFunctionOnBoundary_Scalar_dx(self):    def test_hex_contact_2D_order1_ReducedFunctionOnBoundary_Scalar_dx(self):
2103       reference="hex_2D_o1_boundary_s.dx"       reference="hex_2D_o1_boundary_s.dx"
2104       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2105       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
2106       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnBoundary_Scalar.dx",data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnBoundary_Scalar.dx",data=x[0])
2107       self.check_dx("hex_contact_2D_order1_ReducedFunctionOnBoundary_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order1_ReducedFunctionOnBoundary_Scalar.dx",reference)
2108    def test_hex_contact_2D_order1_ReducedFunctionOnBoundary_Vector_dx(self):    def test_hex_contact_2D_order1_ReducedFunctionOnBoundary_Vector_dx(self):
2109       reference="hex_2D_o1_boundary_v.dx"       reference="hex_2D_o1_boundary_v.dx"
2110       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2111       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
2112       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnBoundary_Vector.dx",data=x[0]*[1.,2.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnBoundary_Vector.dx",data=x[0]*[1.,2.])
2113       self.check_dx("hex_contact_2D_order1_ReducedFunctionOnBoundary_Vector.dx",reference)       self.check_dx("hex_contact_2D_order1_ReducedFunctionOnBoundary_Vector.dx",reference)
2114    def test_hex_contact_2D_order1_ReducedFunctionOnBoundary_Tensor_dx(self):    def test_hex_contact_2D_order1_ReducedFunctionOnBoundary_Tensor_dx(self):
2115       reference="hex_2D_o1_boundary_t.dx"       reference="hex_2D_o1_boundary_t.dx"
2116       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order1.msh",optimize=False)
2117       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
2118       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnBoundary_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order1_ReducedFunctionOnBoundary_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])
2119       self.check_dx("hex_contact_2D_order1_ReducedFunctionOnBoundary_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order1_ReducedFunctionOnBoundary_Tensor.dx",reference)
2120    # ======================================================================================================================    # ======================================================================================================================
2121    def test_hex_contact_2D_order2_ContinuousFunction_Scalar_dx(self):    def test_hex_contact_2D_order2_ContinuousFunction_Scalar_dx(self):
2122       reference="hex_2D_o2_node_s.dx"       reference="hex_2D_o2_node_s.dx"
2123       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2124       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
2125       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ContinuousFunction_Scalar.dx",data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ContinuousFunction_Scalar.dx",data=x[0])
2126       self.check_dx("hex_contact_2D_order2_ContinuousFunction_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order2_ContinuousFunction_Scalar.dx",reference)
2127    def test_hex_contact_2D_order2_ContinuousFunction_Vector_dx(self):    def test_hex_contact_2D_order2_ContinuousFunction_Vector_dx(self):
2128       reference="hex_2D_o2_node_v.dx"       reference="hex_2D_o2_node_v.dx"
2129       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2130       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
2131       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ContinuousFunction_Vector.dx",data=x[0]*[1.,2.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ContinuousFunction_Vector.dx",data=x[0]*[1.,2.])
2132       self.check_dx("hex_contact_2D_order2_ContinuousFunction_Vector.dx",reference)       self.check_dx("hex_contact_2D_order2_ContinuousFunction_Vector.dx",reference)
2133    def test_hex_contact_2D_order2_ContinuousFunction_Tensor_dx(self):    def test_hex_contact_2D_order2_ContinuousFunction_Tensor_dx(self):
2134       reference="hex_2D_o2_node_t.dx"       reference="hex_2D_o2_node_t.dx"
2135       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2136       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
2137       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ContinuousFunction_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ContinuousFunction_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])
2138       self.check_dx("hex_contact_2D_order2_ContinuousFunction_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order2_ContinuousFunction_Tensor.dx",reference)
2139    def test_hex_contact_2D_order2_Solution_Scalar_dx(self):    def test_hex_contact_2D_order2_Solution_Scalar_dx(self):
2140       reference="hex_2D_o2_node_s.dx"       reference="hex_2D_o2_node_s.dx"
2141       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2142       x=Solution(dom).getX()       x=Solution(dom).getX()
2143       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Solution_Scalar.dx",data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Solution_Scalar.dx",data=x[0])
2144       self.check_dx("hex_contact_2D_order2_Solution_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order2_Solution_Scalar.dx",reference)
2145    def test_hex_contact_2D_order2_Solution_Vector_dx(self):    def test_hex_contact_2D_order2_Solution_Vector_dx(self):
2146       reference="hex_2D_o2_node_v.dx"       reference="hex_2D_o2_node_v.dx"
2147       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2148       x=Solution(dom).getX()       x=Solution(dom).getX()
2149       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Solution_Vector.dx",data=x[0]*[1.,2.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Solution_Vector.dx",data=x[0]*[1.,2.])
2150       self.check_dx("hex_contact_2D_order2_Solution_Vector.dx",reference)       self.check_dx("hex_contact_2D_order2_Solution_Vector.dx",reference)
2151    def test_hex_contact_2D_order2_Solution_Tensor_dx(self):    def test_hex_contact_2D_order2_Solution_Tensor_dx(self):
2152       reference="hex_2D_o2_node_t.dx"       reference="hex_2D_o2_node_t.dx"
2153       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2154       x=Solution(dom).getX()       x=Solution(dom).getX()
2155       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Solution_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Solution_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])
2156       self.check_dx("hex_contact_2D_order2_Solution_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order2_Solution_Tensor.dx",reference)
2157    def test_hex_contact_2D_order2_ReducedSolution_Scalar_dx(self):    def test_hex_contact_2D_order2_ReducedSolution_Scalar_dx(self):
2158       reference="hex_2D_o1_node_s.dx"       reference="hex_2D_o1_node_s.dx"
2159       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2160       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
2161       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedSolution_Scalar.dx",data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedSolution_Scalar.dx",data=x[0])
2162       self.check_dx("hex_contact_2D_order2_ReducedSolution_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order2_ReducedSolution_Scalar.dx",reference)
2163    def test_hex_contact_2D_order2_ReducedSolution_Vector_dx(self):    def test_hex_contact_2D_order2_ReducedSolution_Vector_dx(self):
2164       reference="hex_2D_o1_node_v.dx"       reference="hex_2D_o1_node_v.dx"
2165       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2166       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
2167       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedSolution_Vector.dx",data=x[0]*[1.,2.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedSolution_Vector.dx",data=x[0]*[1.,2.])
2168       self.check_dx("hex_contact_2D_order2_ReducedSolution_Vector.dx",reference)       self.check_dx("hex_contact_2D_order2_ReducedSolution_Vector.dx",reference)
2169    def test_hex_contact_2D_order2_ReducedSolution_Tensor_dx(self):    def test_hex_contact_2D_order2_ReducedSolution_Tensor_dx(self):
2170       reference="hex_2D_o1_node_t.dx"       reference="hex_2D_o1_node_t.dx"
2171       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2172       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
2173       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedSolution_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedSolution_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])
2174       self.check_dx("hex_contact_2D_order2_ReducedSolution_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order2_ReducedSolution_Tensor.dx",reference)
2175    def test_hex_contact_2D_order2_Function_Scalar_dx(self):    def test_hex_contact_2D_order2_Function_Scalar_dx(self):
2176       reference="hex_2D_o2_cell_s.dx"       reference="hex_2D_o2_cell_s.dx"
2177       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2178       x=Function(dom).getX()       x=Function(dom).getX()
2179       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Function_Scalar.dx",data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Function_Scalar.dx",data=x[0])
2180       self.check_dx("hex_contact_2D_order2_Function_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order2_Function_Scalar.dx",reference)
2181    def test_hex_contact_2D_order2_Function_Vector_dx(self):    def test_hex_contact_2D_order2_Function_Vector_dx(self):
2182       reference="hex_2D_o2_cell_v.dx"       reference="hex_2D_o2_cell_v.dx"
2183       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2184       x=Function(dom).getX()       x=Function(dom).getX()
2185       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Function_Vector.dx",data=x[0]*[1.,2.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Function_Vector.dx",data=x[0]*[1.,2.])
2186       self.check_dx("hex_contact_2D_order2_Function_Vector.dx",reference)       self.check_dx("hex_contact_2D_order2_Function_Vector.dx",reference)
2187    def test_hex_contact_2D_order2_Function_Tensor_dx(self):    def test_hex_contact_2D_order2_Function_Tensor_dx(self):
2188       reference="hex_2D_o2_cell_t.dx"       reference="hex_2D_o2_cell_t.dx"
2189       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2190       x=Function(dom).getX()       x=Function(dom).getX()
2191       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Function_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_Function_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])
2192       self.check_dx("hex_contact_2D_order2_Function_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order2_Function_Tensor.dx",reference)
2193    def test_hex_contact_2D_order2_ReducedFunction_Scalar_dx(self):    def test_hex_contact_2D_order2_ReducedFunction_Scalar_dx(self):
2194       reference="hex_2D_o2_cell_s.dx"       reference="hex_2D_o2_cell_s.dx"
2195       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2196       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
2197       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunction_Scalar.dx",data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunction_Scalar.dx",data=x[0])
2198       self.check_dx("hex_contact_2D_order2_ReducedFunction_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order2_ReducedFunction_Scalar.dx",reference)
2199    def test_hex_contact_2D_order2_ReducedFunction_Vector_dx(self):    def test_hex_contact_2D_order2_ReducedFunction_Vector_dx(self):
2200       reference="hex_2D_o2_cell_v.dx"       reference="hex_2D_o2_cell_v.dx"
2201       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2202       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
2203       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunction_Vector.dx",data=x[0]*[1.,2.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunction_Vector.dx",data=x[0]*[1.,2.])
2204       self.check_dx("hex_contact_2D_order2_ReducedFunction_Vector.dx",reference)       self.check_dx("hex_contact_2D_order2_ReducedFunction_Vector.dx",reference)
2205    def test_hex_contact_2D_order2_ReducedFunction_Tensor_dx(self):    def test_hex_contact_2D_order2_ReducedFunction_Tensor_dx(self):
2206       reference="hex_2D_o2_cell_t.dx"       reference="hex_2D_o2_cell_t.dx"
2207       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2208       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
2209       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunction_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunction_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])
2210       self.check_dx("hex_contact_2D_order2_ReducedFunction_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order2_ReducedFunction_Tensor.dx",reference)
2211    def test_hex_contact_2D_order2_FunctionOnBoundary_Scalar_dx(self):    def test_hex_contact_2D_order2_FunctionOnBoundary_Scalar_dx(self):
2212       reference="hex_2D_o2_boundary_s.dx"       reference="hex_2D_o2_boundary_s.dx"
2213       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2214       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
2215       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnBoundary_Scalar.dx",data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnBoundary_Scalar.dx",data=x[0])
2216       self.check_dx("hex_contact_2D_order2_FunctionOnBoundary_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order2_FunctionOnBoundary_Scalar.dx",reference)
2217    def test_hex_contact_2D_order2_FunctionOnBoundary_Vector_dx(self):    def test_hex_contact_2D_order2_FunctionOnBoundary_Vector_dx(self):
2218       reference="hex_2D_o2_boundary_v.dx"       reference="hex_2D_o2_boundary_v.dx"
2219       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2220       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
2221       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnBoundary_Vector.dx",data=x[0]*[1.,2.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnBoundary_Vector.dx",data=x[0]*[1.,2.])
2222       self.check_dx("hex_contact_2D_order2_FunctionOnBoundary_Vector.dx",reference)       self.check_dx("hex_contact_2D_order2_FunctionOnBoundary_Vector.dx",reference)
2223    def test_hex_contact_2D_order2_FunctionOnBoundary_Tensor_dx(self):    def test_hex_contact_2D_order2_FunctionOnBoundary_Tensor_dx(self):
2224       reference="hex_2D_o2_boundary_t.dx"       reference="hex_2D_o2_boundary_t.dx"
2225       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2226       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
2227       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnBoundary_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_FunctionOnBoundary_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])
2228       self.check_dx("hex_contact_2D_order2_FunctionOnBoundary_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order2_FunctionOnBoundary_Tensor.dx",reference)
2229    def test_hex_contact_2D_order2_ReducedFunctionOnBoundary_Scalar_dx(self):    def test_hex_contact_2D_order2_ReducedFunctionOnBoundary_Scalar_dx(self):
2230       reference="hex_2D_o2_boundary_s.dx"       reference="hex_2D_o2_boundary_s.dx"
2231       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2232       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
2233       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnBoundary_Scalar.dx",data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnBoundary_Scalar.dx",data=x[0])
2234       self.check_dx("hex_contact_2D_order2_ReducedFunctionOnBoundary_Scalar.dx",reference)       self.check_dx("hex_contact_2D_order2_ReducedFunctionOnBoundary_Scalar.dx",reference)
2235    def test_hex_contact_2D_order2_ReducedFunctionOnBoundary_Vector_dx(self):    def test_hex_contact_2D_order2_ReducedFunctionOnBoundary_Vector_dx(self):
2236       reference="hex_2D_o2_boundary_v.dx"       reference="hex_2D_o2_boundary_v.dx"
2237       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2238       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
2239       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnBoundary_Vector.dx",data=x[0]*[1.,2.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnBoundary_Vector.dx",data=x[0]*[1.,2.])
2240       self.check_dx("hex_contact_2D_order2_ReducedFunctionOnBoundary_Vector.dx",reference)       self.check_dx("hex_contact_2D_order2_ReducedFunctionOnBoundary_Vector.dx",reference)
2241    def test_hex_contact_2D_order2_ReducedFunctionOnBoundary_Tensor_dx(self):    def test_hex_contact_2D_order2_ReducedFunctionOnBoundary_Tensor_dx(self):
2242       reference="hex_2D_o2_boundary_t.dx"       reference="hex_2D_o2_boundary_t.dx"
2243       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_2D_order2.msh",optimize=False)
2244       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
2245       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnBoundary_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_2D_order2_ReducedFunctionOnBoundary_Tensor.dx",data=x[0]*[[11.,12.],[21.,22.]])
2246       self.check_dx("hex_contact_2D_order2_ReducedFunctionOnBoundary_Tensor.dx",reference)       self.check_dx("hex_contact_2D_order2_ReducedFunctionOnBoundary_Tensor.dx",reference)
2247    # ======================================================================================================================    # ======================================================================================================================
2248    def test_hex_contact_3D_order1_ContinuousFunction_Scalar_dx(self):    def test_hex_contact_3D_order1_ContinuousFunction_Scalar_dx(self):
2249       reference="hex_3D_o1_node_s.dx"       reference="hex_3D_o1_node_s.dx"
2250       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2251       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
2252       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ContinuousFunction_Scalar.dx",data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ContinuousFunction_Scalar.dx",data=x[0])
2253       self.check_dx("hex_contact_3D_order1_ContinuousFunction_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order1_ContinuousFunction_Scalar.dx",reference)
2254    def test_hex_contact_3D_order1_ContinuousFunction_Vector_dx(self):    def test_hex_contact_3D_order1_ContinuousFunction_Vector_dx(self):
2255       reference="hex_3D_o1_node_v.dx"       reference="hex_3D_o1_node_v.dx"
2256       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2257       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
2258       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ContinuousFunction_Vector.dx",data=x[0]*[1.,2.,3.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ContinuousFunction_Vector.dx",data=x[0]*[1.,2.,3.])
2259       self.check_dx("hex_contact_3D_order1_ContinuousFunction_Vector.dx",reference)       self.check_dx("hex_contact_3D_order1_ContinuousFunction_Vector.dx",reference)
2260    def test_hex_contact_3D_order1_ContinuousFunction_Tensor_dx(self):    def test_hex_contact_3D_order1_ContinuousFunction_Tensor_dx(self):
2261       reference="hex_3D_o1_node_t.dx"       reference="hex_3D_o1_node_t.dx"
2262       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2263       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
2264       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ContinuousFunction_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ContinuousFunction_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
2265       self.check_dx("hex_contact_3D_order1_ContinuousFunction_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order1_ContinuousFunction_Tensor.dx",reference)
2266    def test_hex_contact_3D_order1_Solution_Scalar_dx(self):    def test_hex_contact_3D_order1_Solution_Scalar_dx(self):
2267       reference="hex_3D_o1_node_s.dx"       reference="hex_3D_o1_node_s.dx"
2268       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2269       x=Solution(dom).getX()       x=Solution(dom).getX()
2270       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Solution_Scalar.dx",data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Solution_Scalar.dx",data=x[0])
2271       self.check_dx("hex_contact_3D_order1_Solution_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order1_Solution_Scalar.dx",reference)
2272    def test_hex_contact_3D_order1_Solution_Vector_dx(self):    def test_hex_contact_3D_order1_Solution_Vector_dx(self):
2273       reference="hex_3D_o1_node_v.dx"       reference="hex_3D_o1_node_v.dx"
2274       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2275       x=Solution(dom).getX()       x=Solution(dom).getX()
2276       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Solution_Vector.dx",data=x[0]*[1.,2.,3.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Solution_Vector.dx",data=x[0]*[1.,2.,3.])
2277       self.check_dx("hex_contact_3D_order1_Solution_Vector.dx",reference)       self.check_dx("hex_contact_3D_order1_Solution_Vector.dx",reference)
2278    def test_hex_contact_3D_order1_Solution_Tensor_dx(self):    def test_hex_contact_3D_order1_Solution_Tensor_dx(self):
2279       reference="hex_3D_o1_node_t.dx"       reference="hex_3D_o1_node_t.dx"
2280       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2281       x=Solution(dom).getX()       x=Solution(dom).getX()
2282       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Solution_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Solution_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
2283       self.check_dx("hex_contact_3D_order1_Solution_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order1_Solution_Tensor.dx",reference)
2284    def test_hex_contact_3D_order1_ReducedSolution_Scalar_dx(self):    def test_hex_contact_3D_order1_ReducedSolution_Scalar_dx(self):
2285       reference="hex_3D_o1_node_s.dx"       reference="hex_3D_o1_node_s.dx"
2286       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2287       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
2288       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedSolution_Scalar.dx",data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedSolution_Scalar.dx",data=x[0])
2289       self.check_dx("hex_contact_3D_order1_ReducedSolution_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order1_ReducedSolution_Scalar.dx",reference)
2290    def test_hex_contact_3D_order1_ReducedSolution_Vector_dx(self):    def test_hex_contact_3D_order1_ReducedSolution_Vector_dx(self):
2291       reference="hex_3D_o1_node_v.dx"       reference="hex_3D_o1_node_v.dx"
2292       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2293       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
2294       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedSolution_Vector.dx",data=x[0]*[1.,2.,3.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedSolution_Vector.dx",data=x[0]*[1.,2.,3.])
2295       self.check_dx("hex_contact_3D_order1_ReducedSolution_Vector.dx",reference)       self.check_dx("hex_contact_3D_order1_ReducedSolution_Vector.dx",reference)
2296    def test_hex_contact_3D_order1_ReducedSolution_Tensor_dx(self):    def test_hex_contact_3D_order1_ReducedSolution_Tensor_dx(self):
2297       reference="hex_3D_o1_node_t.dx"       reference="hex_3D_o1_node_t.dx"
2298       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2299       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
2300       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedSolution_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedSolution_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
2301       self.check_dx("hex_contact_3D_order1_ReducedSolution_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order1_ReducedSolution_Tensor.dx",reference)
2302    def test_hex_contact_3D_order1_Function_Scalar_dx(self):    def test_hex_contact_3D_order1_Function_Scalar_dx(self):
2303       reference="hex_3D_o1_cell_s.dx"       reference="hex_3D_o1_cell_s.dx"
2304       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2305       x=Function(dom).getX()       x=Function(dom).getX()
2306       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Function_Scalar.dx",data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Function_Scalar.dx",data=x[0])
2307       self.check_dx("hex_contact_3D_order1_Function_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order1_Function_Scalar.dx",reference)
2308    def test_hex_contact_3D_order1_Function_Vector_dx(self):    def test_hex_contact_3D_order1_Function_Vector_dx(self):
2309       reference="hex_3D_o1_cell_v.dx"       reference="hex_3D_o1_cell_v.dx"
2310       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2311       x=Function(dom).getX()       x=Function(dom).getX()
2312       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Function_Vector.dx",data=x[0]*[1.,2.,3.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Function_Vector.dx",data=x[0]*[1.,2.,3.])
2313       self.check_dx("hex_contact_3D_order1_Function_Vector.dx",reference)       self.check_dx("hex_contact_3D_order1_Function_Vector.dx",reference)
2314    def test_hex_contact_3D_order1_Function_Tensor_dx(self):    def test_hex_contact_3D_order1_Function_Tensor_dx(self):
2315       reference="hex_3D_o1_cell_t.dx"       reference="hex_3D_o1_cell_t.dx"
2316       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2317       x=Function(dom).getX()       x=Function(dom).getX()
2318       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Function_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_Function_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
2319       self.check_dx("hex_contact_3D_order1_Function_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order1_Function_Tensor.dx",reference)
2320    def test_hex_contact_3D_order1_ReducedFunction_Scalar_dx(self):    def test_hex_contact_3D_order1_ReducedFunction_Scalar_dx(self):
2321       reference="hex_3D_o1_cell_s.dx"       reference="hex_3D_o1_cell_s.dx"
2322       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2323       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
2324       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunction_Scalar.dx",data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunction_Scalar.dx",data=x[0])
2325       self.check_dx("hex_contact_3D_order1_ReducedFunction_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order1_ReducedFunction_Scalar.dx",reference)
2326    def test_hex_contact_3D_order1_ReducedFunction_Vector_dx(self):    def test_hex_contact_3D_order1_ReducedFunction_Vector_dx(self):
2327       reference="hex_3D_o1_cell_v.dx"       reference="hex_3D_o1_cell_v.dx"
2328       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2329       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
2330       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunction_Vector.dx",data=x[0]*[1.,2.,3.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunction_Vector.dx",data=x[0]*[1.,2.,3.])
2331       self.check_dx("hex_contact_3D_order1_ReducedFunction_Vector.dx",reference)       self.check_dx("hex_contact_3D_order1_ReducedFunction_Vector.dx",reference)
2332    def test_hex_contact_3D_order1_ReducedFunction_Tensor_dx(self):    def test_hex_contact_3D_order1_ReducedFunction_Tensor_dx(self):
2333       reference="hex_3D_o1_cell_t.dx"       reference="hex_3D_o1_cell_t.dx"
2334       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2335       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
2336       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunction_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunction_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
2337       self.check_dx("hex_contact_3D_order1_ReducedFunction_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order1_ReducedFunction_Tensor.dx",reference)
2338    def test_hex_contact_3D_order1_FunctionOnBoundary_Scalar_dx(self):    def test_hex_contact_3D_order1_FunctionOnBoundary_Scalar_dx(self):
2339       reference="hex_3D_o1_boundary_s.dx"       reference="hex_3D_o1_boundary_s.dx"
2340       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2341       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
2342       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnBoundary_Scalar.dx",data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnBoundary_Scalar.dx",data=x[0])
2343       self.check_dx("hex_contact_3D_order1_FunctionOnBoundary_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order1_FunctionOnBoundary_Scalar.dx",reference)
2344    def test_hex_contact_3D_order1_FunctionOnBoundary_Vector_dx(self):    def test_hex_contact_3D_order1_FunctionOnBoundary_Vector_dx(self):
2345       reference="hex_3D_o1_boundary_v.dx"       reference="hex_3D_o1_boundary_v.dx"
2346       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2347       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
2348       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnBoundary_Vector.dx",data=x[0]*[1.,2.,3.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnBoundary_Vector.dx",data=x[0]*[1.,2.,3.])
2349       self.check_dx("hex_contact_3D_order1_FunctionOnBoundary_Vector.dx",reference)       self.check_dx("hex_contact_3D_order1_FunctionOnBoundary_Vector.dx",reference)
2350    def test_hex_contact_3D_order1_FunctionOnBoundary_Tensor_dx(self):    def test_hex_contact_3D_order1_FunctionOnBoundary_Tensor_dx(self):
2351       reference="hex_3D_o1_boundary_t.dx"       reference="hex_3D_o1_boundary_t.dx"
2352       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2353       x=FunctionOnBoundary(dom).getX()       x=FunctionOnBoundary(dom).getX()
2354       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnBoundary_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_FunctionOnBoundary_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
2355       self.check_dx("hex_contact_3D_order1_FunctionOnBoundary_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order1_FunctionOnBoundary_Tensor.dx",reference)
2356    def test_hex_contact_3D_order1_ReducedFunctionOnBoundary_Scalar_dx(self):    def test_hex_contact_3D_order1_ReducedFunctionOnBoundary_Scalar_dx(self):
2357       reference="hex_3D_o1_boundary_s.dx"       reference="hex_3D_o1_boundary_s.dx"
2358       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2359       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
2360       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnBoundary_Scalar.dx",data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnBoundary_Scalar.dx",data=x[0])
2361       self.check_dx("hex_contact_3D_order1_ReducedFunctionOnBoundary_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order1_ReducedFunctionOnBoundary_Scalar.dx",reference)
2362    def test_hex_contact_3D_order1_ReducedFunctionOnBoundary_Vector_dx(self):    def test_hex_contact_3D_order1_ReducedFunctionOnBoundary_Vector_dx(self):
2363       reference="hex_3D_o1_boundary_v.dx"       reference="hex_3D_o1_boundary_v.dx"
2364       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2365       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
2366       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnBoundary_Vector.dx",data=x[0]*[1.,2.,3.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnBoundary_Vector.dx",data=x[0]*[1.,2.,3.])
2367       self.check_dx("hex_contact_3D_order1_ReducedFunctionOnBoundary_Vector.dx",reference)       self.check_dx("hex_contact_3D_order1_ReducedFunctionOnBoundary_Vector.dx",reference)
2368    def test_hex_contact_3D_order1_ReducedFunctionOnBoundary_Tensor_dx(self):    def test_hex_contact_3D_order1_ReducedFunctionOnBoundary_Tensor_dx(self):
2369       reference="hex_3D_o1_boundary_t.dx"       reference="hex_3D_o1_boundary_t.dx"
2370       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order1.msh",optimize=False)
2371       x=ReducedFunctionOnBoundary(dom).getX()       x=ReducedFunctionOnBoundary(dom).getX()
2372       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnBoundary_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order1_ReducedFunctionOnBoundary_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
2373       self.check_dx("hex_contact_3D_order1_ReducedFunctionOnBoundary_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order1_ReducedFunctionOnBoundary_Tensor.dx",reference)
2374    # ======================================================================================================================    # ======================================================================================================================
2375    def test_hex_contact_3D_order2_ContinuousFunction_Scalar_dx(self):    def test_hex_contact_3D_order2_ContinuousFunction_Scalar_dx(self):
2376       reference="hex_3D_o1_node_s.dx"       reference="hex_3D_o1_node_s.dx"
2377       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
2378       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
2379       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ContinuousFunction_Scalar.dx",data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ContinuousFunction_Scalar.dx",data=x[0])
2380       self.check_dx("hex_contact_3D_order2_ContinuousFunction_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order2_ContinuousFunction_Scalar.dx",reference)
2381    def test_hex_contact_3D_order2_ContinuousFunction_Vector_dx(self):    def test_hex_contact_3D_order2_ContinuousFunction_Vector_dx(self):
2382       reference="hex_3D_o1_node_v.dx"       reference="hex_3D_o1_node_v.dx"
2383       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
2384       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
2385       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ContinuousFunction_Vector.dx",data=x[0]*[1.,2.,3.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ContinuousFunction_Vector.dx",data=x[0]*[1.,2.,3.])
2386       self.check_dx("hex_contact_3D_order2_ContinuousFunction_Vector.dx",reference)       self.check_dx("hex_contact_3D_order2_ContinuousFunction_Vector.dx",reference)
2387    def test_hex_contact_3D_order2_ContinuousFunction_Tensor_dx(self):    def test_hex_contact_3D_order2_ContinuousFunction_Tensor_dx(self):
2388       reference="hex_3D_o1_node_t.dx"       reference="hex_3D_o1_node_t.dx"
2389       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
2390       x=ContinuousFunction(dom).getX()       x=ContinuousFunction(dom).getX()
2391       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ContinuousFunction_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ContinuousFunction_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
2392       self.check_dx("hex_contact_3D_order2_ContinuousFunction_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order2_ContinuousFunction_Tensor.dx",reference)
2393    def test_hex_contact_3D_order2_Solution_Scalar_dx(self):    def test_hex_contact_3D_order2_Solution_Scalar_dx(self):
2394       reference="hex_3D_o1_node_s.dx"       reference="hex_3D_o1_node_s.dx"
2395       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
2396       x=Solution(dom).getX()       x=Solution(dom).getX()
2397       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Solution_Scalar.dx",data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Solution_Scalar.dx",data=x[0])
2398       self.check_dx("hex_contact_3D_order2_Solution_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order2_Solution_Scalar.dx",reference)
2399    def test_hex_contact_3D_order2_Solution_Vector_dx(self):    def test_hex_contact_3D_order2_Solution_Vector_dx(self):
2400       reference="hex_3D_o1_node_v.dx"       reference="hex_3D_o1_node_v.dx"
2401       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
2402       x=Solution(dom).getX()       x=Solution(dom).getX()
2403       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Solution_Vector.dx",data=x[0]*[1.,2.,3.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Solution_Vector.dx",data=x[0]*[1.,2.,3.])
2404       self.check_dx("hex_contact_3D_order2_Solution_Vector.dx",reference)       self.check_dx("hex_contact_3D_order2_Solution_Vector.dx",reference)
2405    def test_hex_contact_3D_order2_Solution_Tensor_dx(self):    def test_hex_contact_3D_order2_Solution_Tensor_dx(self):
2406       reference="hex_3D_o1_node_t.dx"       reference="hex_3D_o1_node_t.dx"
2407       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
2408       x=Solution(dom).getX()       x=Solution(dom).getX()
2409       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Solution_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Solution_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
2410       self.check_dx("hex_contact_3D_order2_Solution_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order2_Solution_Tensor.dx",reference)
2411    def test_hex_contact_3D_order2_ReducedSolution_Scalar_dx(self):    def test_hex_contact_3D_order2_ReducedSolution_Scalar_dx(self):
2412       reference="hex_3D_o1_node_s.dx"       reference="hex_3D_o1_node_s.dx"
2413       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
2414       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
2415       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedSolution_Scalar.dx",data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedSolution_Scalar.dx",data=x[0])
2416       self.check_dx("hex_contact_3D_order2_ReducedSolution_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order2_ReducedSolution_Scalar.dx",reference)
2417    def test_hex_contact_3D_order2_ReducedSolution_Vector_dx(self):    def test_hex_contact_3D_order2_ReducedSolution_Vector_dx(self):
2418       reference="hex_3D_o1_node_v.dx"       reference="hex_3D_o1_node_v.dx"
2419       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
2420       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
2421       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedSolution_Vector.dx",data=x[0]*[1.,2.,3.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedSolution_Vector.dx",data=x[0]*[1.,2.,3.])
2422       self.check_dx("hex_contact_3D_order2_ReducedSolution_Vector.dx",reference)       self.check_dx("hex_contact_3D_order2_ReducedSolution_Vector.dx",reference)
2423    def test_hex_contact_3D_order2_ReducedSolution_Tensor_dx(self):    def test_hex_contact_3D_order2_ReducedSolution_Tensor_dx(self):
2424       reference="hex_3D_o1_node_t.dx"       reference="hex_3D_o1_node_t.dx"
2425       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
2426       x=ReducedSolution(dom).getX()       x=ReducedSolution(dom).getX()
2427       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedSolution_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedSolution_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
2428       self.check_dx("hex_contact_3D_order2_ReducedSolution_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order2_ReducedSolution_Tensor.dx",reference)
2429    def test_hex_contact_3D_order2_Function_Scalar_dx(self):    def test_hex_contact_3D_order2_Function_Scalar_dx(self):
2430       reference="hex_3D_o1_cell_s.dx"       reference="hex_3D_o1_cell_s.dx"
2431       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
2432       x=Function(dom).getX()       x=Function(dom).getX()
2433       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Function_Scalar.dx",data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Function_Scalar.dx",data=x[0])
2434       self.check_dx("hex_contact_3D_order2_Function_Scalar.dx",reference)       self.check_dx("hex_contact_3D_order2_Function_Scalar.dx",reference)
2435    def test_hex_contact_3D_order2_Function_Vector_dx(self):    def test_hex_contact_3D_order2_Function_Vector_dx(self):
2436       reference="hex_3D_o1_cell_v.dx"       reference="hex_3D_o1_cell_v.dx"
2437       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
2438       x=Function(dom).getX()       x=Function(dom).getX()
2439       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Function_Vector.dx",data=x[0]*[1.,2.,3.])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Function_Vector.dx",data=x[0]*[1.,2.,3.])
2440       self.check_dx("hex_contact_3D_order2_Function_Vector.dx",reference)       self.check_dx("hex_contact_3D_order2_Function_Vector.dx",reference)
2441    def test_hex_contact_3D_order2_Function_Tensor_dx(self):    def test_hex_contact_3D_order2_Function_Tensor_dx(self):
2442       reference="hex_3D_o1_cell_t.dx"       reference="hex_3D_o1_cell_t.dx"
2443       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
2444       x=Function(dom).getX()       x=Function(dom).getX()
2445       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Function_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_Function_Tensor.dx",data=x[0]*[[11.,12.,13.],[21.,22.,23],[31.,32.,33.]])
2446       self.check_dx("hex_contact_3D_order2_Function_Tensor.dx",reference)       self.check_dx("hex_contact_3D_order2_Function_Tensor.dx",reference)
2447    def test_hex_contact_3D_order2_ReducedFunction_Scalar_dx(self):    def test_hex_contact_3D_order2_ReducedFunction_Scalar_dx(self):
2448       reference="hex_3D_o1_cell_s.dx"       reference="hex_3D_o1_cell_s.dx"
2449       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh")       dom=ReadMesh(FINLEY_TEST_MESH_PATH+"hex_contact_3D_order2.msh",optimize=False)
2450       x=ReducedFunction(dom).getX()       x=ReducedFunction(dom).getX()
2451       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunction_Scalar.dx",data=x[0])       saveDX(FINLEY_WORKDIR_PATH+"hex_contact_3D_order2_ReducedFunction_Scalar.dx",data=x[0])