X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FMEDCoupling_Swig%2FMEDCouplingBasicsTest3.py;h=51888920ac17fcbdde43defdd66e38335d814bed;hb=1b746b38f3cdeae6654a9501f37fde5e56e59288;hp=80f5f6bb0b3382240dc2d78d50013cbb20b8dba9;hpb=87cdc5b8ad6e9088da84bbe93f29c7157fa2b507;p=tools%2Fmedcoupling.git diff --git a/src/MEDCoupling_Swig/MEDCouplingBasicsTest3.py b/src/MEDCoupling_Swig/MEDCouplingBasicsTest3.py index 80f5f6bb0..51888920a 100644 --- a/src/MEDCoupling_Swig/MEDCouplingBasicsTest3.py +++ b/src/MEDCoupling_Swig/MEDCouplingBasicsTest3.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2016 CEA/DEN, EDF R&D +# Copyright (C) 2007-2024 CEA, EDF # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -18,7 +18,8 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -from MEDCoupling import * +import sys +from medcoupling import * import unittest from math import pi,e,sqrt,cos,sin from datetime import datetime @@ -1209,7 +1210,7 @@ class MEDCouplingBasicsTest3(unittest.TestCase): resToTest=f.getLocalizationOfDiscr(); self.assertEqual(3,resToTest.getNumberOfComponents()); self.assertEqual(8,resToTest.getNumberOfTuples());#2+3+4+4 gauss points for resp TRI3,TRI6,QUAD4,QUAD8 - expected3=[1.312,3.15,1.02, 0.56,3.3,0.6, 2.18,1.1,0.2, 1.18,1.54,0.98, 1.56,0.3,3.6, 1.613,0.801,4.374, 2.6,2.4,2.3, 2.31232,2.3933985,1.553255] + expected3=[1.312,3.15,1.02, 0.56,3.3,0.6, 2.20,1.0,0.2, 2.44, 2.52,1.4, 1.56,0.3,3.6, 1.613,0.801,4.374, 2.6,2.4,2.3, 2.31232,2.3933985,1.553255] for i in range(24): self.assertAlmostEqual(expected3[i],resToTest.getIJ(0,i),14); pass @@ -1259,6 +1260,7 @@ class MEDCouplingBasicsTest3(unittest.TestCase): vals1=[1.1,2.1,3.1,4.1,5.2,6.2,7.2,8.2,9.2,10.2] da.setValues(vals1,10,1); f.setArray(da); + f.checkConsistencyLight() # loc=[0.64637931739890486, -0.16185896817550552, 0.22678966365273748] locs=f.getValueOnMulti(loc); @@ -1494,7 +1496,7 @@ class MEDCouplingBasicsTest3(unittest.TestCase): self.assertTrue(d.isEqual(d1,1e-12)); # d2=d.convertToIntArr(); - d4=DataArrayInt.New(); + d4=DataArrayInt32.New(); self.assertTrue(not d2.isEqual(d4)); d4.deepCopyFrom(d2); self.assertTrue(d2.isEqual(d4)); @@ -1962,14 +1964,28 @@ class MEDCouplingBasicsTest3(unittest.TestCase): f=MEDCouplingFieldDouble.New(ON_CELLS,ONE_TIME); f.setMesh(m); # - d=DataArrayDouble.New(); + d=DataArrayDouble.New(); d.alloc(0,2) + res = d.normMaxPerComponent() + self.assertAlmostEqual(-1.0, res[0],14) + self.assertAlmostEqual(-1.0, res[1],14) + tab=[2.3,-1.2,6.3,-7.8,2.9,7.7,2.1,0.,3.6,-7.6] d.setValues(tab,5,2); + + res = d.normMaxPerComponent() + self.assertAlmostEqual(6.3, res[0],14) + self.assertAlmostEqual(7.8, res[1],14) + f.setArray(d); f.checkConsistencyLight(); # - self.assertAlmostEqual(7.8,f.normMax(),14); + res = f.normMax() + self.assertAlmostEqual(6.3,res[0],14); + self.assertAlmostEqual(7.8,res[1],14); # + self.assertAlmostEqual(6.3,f.normMax(0),14); + self.assertAlmostEqual(7.8,f.normMax(1),14); + pass def testFindAndCorrectBadOriented3DExtrudedCells1(self): @@ -2589,8 +2605,39 @@ class MEDCouplingBasicsTest3(unittest.TestCase): for i in range(135): self.assertAlmostEqual(expected11[i],slice1.getCoords().getIJ(0,i),12); pass + ## + coo = DataArrayDouble([1.8686305176182501,0.85678785370447097,7.4, 1.8686305176182501,0.85678785370447097,7.5, 1.8663408654534299,0.82910039403216995,7.4, 1.8663408654534299,0.82910039403216995,7.5, 1.8370211426271501,0.83286926189135702,7.4, 1.8370211426271501,0.83286926189135702,7.5, 1.84595839792064,0.86012397150595199,7.4, 1.84595839792064,0.86012397150595199,7.5], 8,3) + conn = DataArrayInt([18,0,2,4,6,1,3,5,7]) + connI = DataArrayInt([0,9]) + + mesh3D_2=MEDCouplingUMesh.New(); + mesh3D_2.setName("3DMesh_2"); + mesh3D_2.setMeshDimension(3); + mesh3D_2.setCoords(coo); + mesh3D_2.setConnectivity(conn,connI,True); + + expected12=[0] + expected13=[5,5,9,8,4] + expected14=[0,5] + expected15=[1.8686305176182501,0.85678785370447097,7.4, 1.8686305176182501,0.85678785370447097,7.5, 1.8663408654534299,0.82910039403216995,7.4, 1.8663408654534299,0.82910039403216995,7.5, 1.8370211426271501,0.83286926189135702,7.4, 1.8370211426271501,0.83286926189135702,7.5, 1.84595839792064,0.86012397150595199, 7.4, 1.84595839792064,0.86012397150595199,7.5, 1.8666525378798646,0.83286927118760312,7.4, 1.8666525378798646,0.83286927118760312,7.5] + + y_cut = 0.8328692711876031 + ori, vec = [0.0, y_cut, 0.0], [0.0,1.0,0.0] + slice1, ids = mesh3D_2.buildSlice3D(DataArrayDouble(ori,1,3), DataArrayDouble(vec,1,3), 1.0e-8) + self.assertEqual(2,slice1.getMeshDimension()); + self.assertEqual(3,slice1.getSpaceDimension()); + self.assertEqual(10,slice1.getNumberOfNodes()); + self.assertEqual(1,slice1.getNumberOfCells()); + self.assertEqual(1,ids.getNumberOfTuples()); + self.assertEqual(5,slice1.getNodalConnectivity().getNumberOfTuples()); + self.assertEqual(2,slice1.getNodalConnectivityIndex().getNumberOfTuples()); + self.assertEqual(expected12,ids.getValues()); + self.assertEqual(expected13,slice1.getNodalConnectivity().getValues()); + self.assertEqual(expected14,slice1.getNodalConnectivityIndex().getValues()); + for i in range(27): + self.assertAlmostEqual(expected15[i],slice1.getCoords().getIJ(0,i),12); + pass pass - def testBuildSlice3DSurf1(self): mesh3D,mesh2D=MEDCouplingDataForTest.build3DExtrudedUMesh_1(); mesh2D=mesh3D.buildDescendingConnectivity()[0];