# -*- 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
# 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
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
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);
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));
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):
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];