1 # Copyright (C) 2007-2014 CEA/DEN, EDF R&D
3 # This library is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU Lesser General Public
5 # License as published by the Free Software Foundation; either
6 # version 2.1 of the License, or (at your option) any later version.
8 # This library is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 # Lesser General Public License for more details.
13 # You should have received a copy of the GNU Lesser General Public
14 # License along with this library; if not, write to the Free Software
15 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
19 # Author : Anthony Geay (CEA/DEN)
21 from MEDCalculator import *
24 #self.assertEqual(int(expected2[i]),a4.getIJ(0,i));
25 #self.assertTrue(a2.getInfoOnComponent(2)=="ffff");
26 #self.assertRaises(Exception,a2.keepSelectedComponents,arr5V);
27 #self.assertAlmostEqual(2.3,t,13);
29 class MEDCalculatorBasicsTest(unittest.TestCase):
31 e=MEDCalculatorBrowserLiteStruct("hfile1.med")
33 Power=MEDCalculatorDBFieldReal(f)
34 Power2=Power[:,:,2:4]+Power[:,:,3:5]
35 Power3=Power[:,:,2:4]+Power(":",":","3:5")
36 self.assertTrue(Power2.isEqual(Power3,1e-12,1e-12))
38 self.assertTrue(not Power2.isEqual(Power3,1e-12,1e-12))
40 self.assertTrue(Power2.isEqual(Power3,1e-10,1e-10))
42 self.assertTrue(not Power2.isEqual(Power3,1e-12,1e-12))
44 self.assertTrue(Power2.isEqual(Power3,1e-12,1e-12))
46 Power2.setName('Power2')
47 Power2.write("hfile2.med",True)
48 e=MEDCalculatorBrowserLiteStruct("hfile2.med")
50 Power4=MEDCalculatorDBFieldReal(f)
51 self.assertTrue(Power2.isEqual(Power4,1e-12,1e-12))
55 e=MEDCalculatorBrowserLiteStruct("hfile1.med")
57 Power=MEDCalculatorDBFieldReal(f)
59 self.assertEqual(10,len(v));
62 self.assertEqual(35,len(v1))
66 self.assertAlmostEqual((i+1)*100.+(j+1)*10.+k+1,v1[l],12);
73 self.assertEqual(2,len(v));
76 self.assertEqual(35,len(v1))
80 self.assertAlmostEqual((i+3)*100.+(j+1)*10.+k+1,v1[l],12);
87 self.assertEqual(4,len(v));
90 self.assertEqual(15,len(v1))
94 self.assertAlmostEqual((i+4)*100.+(j+1)*10.+k+3,v1[l],12);
100 p3=Power[0:4,:,2:4].dot(Power[6:,:,3:5])
102 self.assertEqual(4,len(v));
103 expected=[[162192.0, 178952.0, 196112.0, 213672.0, 231632.0], [347792.0, 368552.0, 389712.0, 411272.0, 433232.0], [573392.0, 598152.0, 623312.0, 648872.0, 674832.0], [838992.0, 867752.0, 896912.0, 926472.0, 956432.0]]
106 self.assertEqual(5,len(v1))
109 self.assertAlmostEqual(expected[i][j],v1[l],8);
116 self.assertEqual(10,len(v));
119 self.assertEqual(35,len(v1))
123 self.assertAlmostEqual((i+1)*100.+(j+1)*10.+k+1,v1[l],12);
126 self.assertAlmostEqual(7.,v1[l],12);
128 self.assertAlmostEqual(7.,v1[l],12);
131 self.assertAlmostEqual((i+1)*100.+(j+1)*10.+k+5,v1[l],12);
137 v=Power[1:5,:,:].getValues()
138 self.assertEqual(4,len(v));
141 self.assertEqual(35,len(v1))
145 self.assertAlmostEqual((i+2)*100.+(j+1)*10.+k+1,v1[l],12);
148 self.assertAlmostEqual(7.,v1[l],12);
150 self.assertAlmostEqual(expected[i][j],v1[l],8);
153 self.assertAlmostEqual((i+2)*100.+(j+1)*10.+k+5,v1[l],12);
158 Power[:,:,1:].eigenValues()