Salome HOME
Intersection: renaming some variables and refactor to make the algo easier to read.
[tools/medcoupling.git] / doc / tutorial / medloader_SplitAndMerge1_fr.rst
index 10e39f5dba287d11ad763bfafae1d0dd9eda12b7..811ec18dc35dd6c3bf801c8ed6c44d7b3c7070f3 100644 (file)
@@ -21,17 +21,16 @@ Créer un unstructured mesh ``m0`` issu d'un maillage structuré (meshDim=2, spa
 Chacune des cellules paires du maillage sera *simplexisée* (i.e. coupée en triangle - méthode ``MEDCouplingUMesh.simplexize(0)``) ::
 
        import MEDLoader as ml
-       from MEDLoader import MEDLoader
        
        m0 = ml.MEDCouplingCMesh()
        arr = ml.DataArrayDouble(31,1) ; arr.iota(0.)
        m0.setCoords(arr,arr)
        m0 = m0.buildUnstructured()
-       m00 = m0[::2]      # Extract even cells
+       m00 = m0[::2]                # Extract even cells
        m00.simplexize(0) 
        m01 = m0[1::2]
        m0 = ml.MEDCouplingUMesh.MergeUMeshes([m00,m01])
-       m0.getCoords()[:] *= 1/15.
+       m0.getCoords()[:] *= 1/15.   # Illustrate how to quickly rescale a mesh
        m0.setName("mesh")
 
 .. note:: Le ``setName()`` sur "m0" est obligatoire. Ne pas oublier que dans le contexte MED fichier 
@@ -80,12 +79,12 @@ En partant du partitionnement ``proc0`` et ``proc1`` créer 2 fichiers MED appel
        nodeField1 = nodeField[proc1] ; cellField1 = cellField[proc1] ; cellField1.setMesh(nodeField1.getMesh())
        
        proc0_fname = "proc0.med"
-       MEDLoader.WriteField(proc0_fname, nodeField0, True)
-       MEDLoader.WriteFieldUsingAlreadyWrittenMesh(proc0_fname, cellField0)
+       ml.WriteField(proc0_fname, nodeField0, True)
+       ml.WriteFieldUsingAlreadyWrittenMesh(proc0_fname, cellField0)
        
        proc1_fname = "proc1.med"
-       MEDLoader.WriteField(proc1_fname,nodeField1,True)
-       MEDLoader.WriteFieldUsingAlreadyWrittenMesh(proc1_fname,cellField1)
+       ml.WriteField(proc1_fname,nodeField1,True)
+       ml.WriteFieldUsingAlreadyWrittenMesh(proc1_fname,cellField1)
 
 Lecture et fusion des 2 fichiers MED séparés (non optimal)
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -93,8 +92,8 @@ Lecture et fusion des 2 fichiers MED séparés (non optimal)
 Partant de "proc0.med" et de "proc1.med" lire leur "CellField" respectif avec l'API basique, 
 agréger les deux et mettre le résultat dans ``cellField_read`` : ::
 
-       cellField0_read = MEDLoader.ReadFieldCell("proc0.med","mesh",0,"CellField",5,6)
-       cellField1_read = MEDLoader.ReadFieldCell("proc1.med","mesh",0,"CellField",5,6)
+       cellField0_read = ml.ReadFieldCell("proc0.med","mesh",0,"CellField",5,6)
+       cellField1_read = ml.ReadFieldCell("proc1.med","mesh",0,"CellField",5,6)
        cellField_read = ml.MEDCouplingFieldDouble.MergeFields([cellField0_read,cellField1_read])
 
 .. note:: On peut avoir l'impression que l'information Cell (méthode ``ReadFieldCell``) est répétée de manière abusive
@@ -111,7 +110,7 @@ Pour ce faire une copie profonde (*deep copy*) de ``cellField`` vers ``cellField
 un ``substractInPlaceDM`` (DM pour "Different Meshes", contrairement à ``substract`` qui ne marche que 
 s'ils partagent le même maillage): ::
 
-       cellFieldCpy = cellField.deepCpy()
+       cellFieldCpy = cellField.deepCopy()
        cellFieldCpy.substractInPlaceDM(cellField_read,10,1e-12)
        cellFieldCpy.getArray().abs()
        print cellFieldCpy.getArray().isUniform(0.,1e-12)
@@ -120,8 +119,8 @@ Opérons le même travail sur "NodeField" que celui réalisé plus haut sur "Cel
 La différence ici c'est qu'il va y avoir duplication de l'information à la frontière, car les noeuds limites sont partagés
 des deux côtés : ::
 
-       nodeField0_read = MEDLoader.ReadFieldNode("proc0.med","mesh",0,"NodeField",5,6)
-       nodeField1_read = MEDLoader.ReadFieldNode("proc1.med","mesh",0,"NodeField",5,6)
+       nodeField0_read = ml.ReadFieldNode("proc0.med","mesh",0,"NodeField",5,6)
+       nodeField1_read = ml.ReadFieldNode("proc1.med","mesh",0,"NodeField",5,6)
        nodeField_read = ml.MEDCouplingFieldDouble.MergeFields([nodeField0_read, nodeField1_read])
 
 .. note:: Dans cette partie, on a donc relu le maillage une deuxième fois ce qui peut être pénalisant ...
@@ -131,7 +130,7 @@ Faire une deep copy appelée ``nodeFieldCpy`` de ``nodeField``
 et supprimer encore les doublons : ::
 
        nodeField_read.mergeNodes(1e-10)
-       nodeFieldCpy = nodeField.deepCpy()
+       nodeFieldCpy = nodeField.deepCopy()
        nodeFieldCpy.mergeNodes(1e-10)
 
 .. note:: A noter que ``mergeNodes()`` possède deux paramètres de précisions (*epsilons*), le premier, 
@@ -204,7 +203,7 @@ différents types géométriques : ::
                                if typp == ml.ON_CELLS:
                                     arr.renumberInPlace(o2nML[lev])
                                mcf = ml.MEDCouplingFieldDouble(typp,ml.ONE_TIME) ; mcf.setName(fieldName) ; mcf.setTime(tim,dt,it) ; mcf.setArray(arr)
-                               mcf.setMesh(mergeMLMesh.getMeshAtLevel(lev)) ; mcf.checkCoherency()
+                               mcf.setMesh(mergeMLMesh.getMeshAtLevel(lev)) ; mcf.checkConsistencyLight()
                                mergeField.appendFieldNoProfileSBT(mcf)
                                pass
                        pass