def testPrepareEx1(self): sourceMesh = self.build2DSourceMesh_1() targetMesh = self.build2DTargetMesh_3() # remapper = MEDCouplingRemapper() remapper.setPrecision(1e-12) remapper.setIntersectionType(Triangulation) srcFt = MEDCouplingFieldTemplate.New(ON_CELLS) trgFt = MEDCouplingFieldTemplate.New(ON_CELLS) srcFt.setMesh(sourceMesh) trgFt.setMesh(targetMesh) self.assertEqual(1, remapper.prepareEx(srcFt, trgFt)) srcField = MEDCouplingFieldDouble.New(ON_CELLS) srcField.setNature(ConservativeVolumic) srcField.setMesh(sourceMesh) array = DataArrayDouble.New() ptr = sourceMesh.getNumberOfCells() * [None] for i in xrange(sourceMesh.getNumberOfCells()): ptr[i] = float(i + 7) pass array.setValues(ptr, sourceMesh.getNumberOfCells(), 1) srcField.setArray(array) trgfield = remapper.transferField(srcField, 4.220173) values = trgfield.getArray().getValues() valuesExpected = [7.75, 7.0625, 4.220173, 8.0] self.assertEqual(4, trgfield.getArray().getNumberOfTuples()) self.assertEqual(1, trgfield.getArray().getNumberOfComponents()) for i0 in xrange(4): self.assertAlmostEqual(valuesExpected[i0], values[i0], 12) pass pass
def testRemapper1(self): sourceMesh = self.build2DSourceMesh_1() targetMesh = self.build2DTargetMesh_1() remapper = MEDCouplingRemapper() remapper.setPrecision(1e-12) remapper.setIntersectionType(Triangulation) self.failUnless(remapper.prepare(sourceMesh, targetMesh, "P0P0") == 1) srcField = MEDCouplingFieldDouble.New(ON_CELLS) srcField.setNature(ConservativeVolumic) srcField.setMesh(sourceMesh) array = DataArrayDouble.New() ptr = sourceMesh.getNumberOfCells() * [None] for i in xrange(sourceMesh.getNumberOfCells()): ptr[i] = float(i + 7) pass array.setValues(ptr, sourceMesh.getNumberOfCells(), 1) srcField.setArray(array) trgfield = remapper.transferField(srcField, 4.57) values = trgfield.getArray().getValues() valuesExpected = [7.5, 7., 7., 8., 7.5] for i in xrange(targetMesh.getNumberOfCells()): self.failUnless(abs(values[i] - valuesExpected[i]) < 1e-12) pass self.failUnless(1 == trgfield.getArray().getNumberOfComponents()) pass
def testRemapper1(self): sourceMesh = self.build2DSourceMesh_1() targetMesh = self.build2DTargetMesh_1() remapper = MEDCouplingRemapper() remapper.setPrecision(1e-12) remapper.setIntersectionType(Triangulation) self.failUnless(remapper.prepare(sourceMesh, targetMesh, "P0P0") == 1) srcField = MEDCouplingFieldDouble.New(ON_CELLS) srcField.setNature(ConservativeVolumic) srcField.setMesh(sourceMesh) array = DataArrayDouble.New() ptr = sourceMesh.getNumberOfCells() * [None] for i in xrange(sourceMesh.getNumberOfCells()): ptr[i] = float(i + 7) pass array.setValues(ptr, sourceMesh.getNumberOfCells(), 1) srcField.setArray(array) trgfield = remapper.transferField(srcField, 4.57) values = trgfield.getArray().getValues() valuesExpected = [7.5, 7.0, 7.0, 8.0, 7.5] for i in xrange(targetMesh.getNumberOfCells()): self.failUnless(abs(values[i] - valuesExpected[i]) < 1e-12) pass self.failUnless(1 == trgfield.getArray().getNumberOfComponents()) pass