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

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

  ViewVC Help
Powered by ViewVC 1.1.26