Salome HOME
[doc] Updating tutorial to only use "import medcoupling as mc"
[tools/medcoupling.git] / doc / tutorial / medloader_SplitAndMerge1_fr.rst
index 4d3ef9cffc47c074216017c4134ff737a439ba45..f72ce174f8a272007a78967514a28021840284d2 100644 (file)
@@ -20,16 +20,16 @@ Début de l'implémentation
 Créer un unstructured mesh ``m0`` issu d'un maillage structuré (meshDim=2, spaceDim=2) de 30*30.
 Chacune des cellules paires du maillage sera *simplexisée* (i.e. coupée en triangle - méthode ``MEDCouplingUMesh.simplexize(0)``) ::
 
-       import MEDLoader as ml
+       import medcoupling as mc
        
-       m0 = ml.MEDCouplingCMesh()
-       arr = ml.DataArrayDouble(31,1) ; arr.iota(0.)
+       m0 = mc.MEDCouplingCMesh()
+       arr = mc.DataArrayDouble(31,1) ; arr.iota(0.)
        m0.setCoords(arr,arr)
        m0 = m0.buildUnstructured()
        m00 = m0[::2]                # Extract even cells
        m00.simplexize(0) 
        m01 = m0[1::2]
-       m0 = ml.MEDCouplingUMesh.MergeUMeshes([m00,m01])
+       m0 = mc.MEDCouplingUMesh.MergeUMeshes([m00,m01])
        m0.getCoords()[:] *= 1/15.   # Illustrate how to quickly rescale a mesh
        m0.setName("mesh")
 
@@ -39,14 +39,14 @@ Chacune des cellules paires du maillage sera *simplexisée* (i.e. coupée en tri
 Créer les champs ``cellField`` et ``nodeField`` au pas de temps identifié à (5,6) et au pas de temps 5.6 s. ::
 
        # Cell field
-       cellField = ml.MEDCouplingFieldDouble(ml.ON_CELLS, ml.ONE_TIME) 
+       cellField = mc.MEDCouplingFieldDouble(mc.ON_CELLS, mc.ONE_TIME) 
        cellField.setTime(5.6,5,6)
        cellField.setMesh(m0)
        cellField.setName("CellField")
        cellField.fillFromAnalytic(1,"exp(-((x-1)*(x-1)+(y-1)*(y-1)))")
        cellField.getArray().setInfoOnComponent(0,"powercell [W]")
        # Node field
-       nodeField = ml.MEDCouplingFieldDouble(ml.ON_NODES,ml.ONE_TIME) 
+       nodeField = mc.MEDCouplingFieldDouble(mc.ON_NODES,mc.ONE_TIME) 
        nodeField.setTime(5.6,5,6)
        nodeField.setMesh(m0)
        nodeField.setName("NodeField")
@@ -79,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"
-       ml.WriteField(proc0_fname, nodeField0, True)
-       ml.WriteFieldUsingAlreadyWrittenMesh(proc0_fname, cellField0)
+       mc.WriteField(proc0_fname, nodeField0, True)
+       mc.WriteFieldUsingAlreadyWrittenMesh(proc0_fname, cellField0)
        
        proc1_fname = "proc1.med"
-       ml.WriteField(proc1_fname,nodeField1,True)
-       ml.WriteFieldUsingAlreadyWrittenMesh(proc1_fname,cellField1)
+       mc.WriteField(proc1_fname,nodeField1,True)
+       mc.WriteFieldUsingAlreadyWrittenMesh(proc1_fname,cellField1)
 
 Lecture et fusion des 2 fichiers MED séparés (non optimal)
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -92,9 +92,9 @@ 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 = 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])
+       cellField0_read = mc.ReadFieldCell("proc0.med","mesh",0,"CellField",5,6)
+       cellField1_read = mc.ReadFieldCell("proc1.med","mesh",0,"CellField",5,6)
+       cellField_read = mc.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
        (effectivement le champ "CellField" a été créé aux cellules), 
@@ -119,9 +119,9 @@ 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 = 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])
+       nodeField0_read = mc.ReadFieldNode("proc0.med","mesh",0,"NodeField",5,6)
+       nodeField1_read = mc.ReadFieldNode("proc1.med","mesh",0,"NodeField",5,6)
+       nodeField_read = mc.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 ...
 
@@ -159,50 +159,50 @@ La solution donnée ci-dessous est la plus générique possible, car elle traite
 différents types géométriques : ::
 
        fileNames = ["proc0.med","proc1.med"]
-       msML = [ml.MEDFileMesh.New(fname) for fname in fileNames]
-       fsML = [ml.MEDFileFields.New(fname) for fname in fileNames]
-       mergeMLMesh = ml.MEDFileUMesh()
-       mergeMLFields = ml.MEDFileFields()
+       msML = [mc.MEDFileMesh.New(fname) for fname in fileNames]
+       fsML = [mc.MEDFileFields.New(fname) for fname in fileNames]
+       mergeMLMesh = mc.MEDFileUMesh()
+       mergeMLFields = mc.MEDFileFields()
        for lev in msML[0].getNonEmptyLevels():
                o2nML = len(msML[0].getNonEmptyLevels())*[None]
                cs = [mML.getCoords() for mML in msML]
-               mergeMLMesh.setCoords(ml.DataArrayDouble.Aggregate(cs))
+               mergeMLMesh.setCoords(mc.DataArrayDouble.Aggregate(cs))
                ms = [mML.getMeshAtLevel(lev) for mML in msML]
-               m = ml.MEDCouplingUMesh.MergeUMeshes(ms) ; m.setCoords(mergeMLMesh.getCoords())
+               m = mc.MEDCouplingUMesh.MergeUMeshes(ms) ; m.setCoords(mergeMLMesh.getCoords())
                o2nML[lev] = m.sortCellsInMEDFileFrmt()
                mergeMLMesh.setMeshAtLevel(lev,m)
                pass
        
        for fieldName in fsML[0].getFieldsNames():
                fmts = [fML[fieldName] for fML in fsML]
-               mergeField = ml.MEDFileFieldMultiTS()
+               mergeField = mc.MEDFileFieldMultiTS()
                for dt,it,tim in fmts[0].getTimeSteps():
                        fts = [fmt[dt,it] for fmt in fmts]
                        arrs = len(fts)*[None]
                        for typp in fts[0].getTypesOfFieldAvailable():
                                arr1s = []
-                               if typp == ml.ON_CELLS:
+                               if typp == mc.ON_CELLS:
                                        for ft in fts:
                                                for geoTyp,smth in ft.getFieldSplitedByType():
-                                                       if geoTyp != ml.NORM_ERROR:
-                                                               smth1 = filter(lambda x:x[0] == ml.ON_CELLS,smth)
+                                                       if geoTyp != mc.NORM_ERROR:
+                                                               smth1 = filter(lambda x:x[0] == mc.ON_CELLS,smth)
                                                                arr2s = [ft.getUndergroundDataArray()[elt[1][0]:elt[1][1]] for elt in smth1]
-                                                               arr1s.append(ml.DataArrayDouble.Aggregate(arr2s))
+                                                               arr1s.append(mc.DataArrayDouble.Aggregate(arr2s))
                                                                pass
                                                        pass
                                                pass
                                        pass
                                else:
                                        for ft in fts:
-                                               smth = filter(lambda x:x[0] == ml.NORM_ERROR,ft.getFieldSplitedByType())
-                                               arr2 = ml.DataArrayDouble.Aggregate([ft.getUndergroundDataArray()[elt[1][0][1][0]:elt[1][0][1][1]] for elt in smth])
+                                               smth = filter(lambda x:x[0] == mc.NORM_ERROR,ft.getFieldSplitedByType())
+                                               arr2 = mc.DataArrayDouble.Aggregate([ft.getUndergroundDataArray()[elt[1][0][1][0]:elt[1][0][1][1]] for elt in smth])
                                                arr1s.append(arr2)
                                                pass
                                        pass
-                               arr = ml.DataArrayDouble.Aggregate(arr1s)
-                               if typp == ml.ON_CELLS:
+                               arr = mc.DataArrayDouble.Aggregate(arr1s)
+                               if typp == mc.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 = mc.MEDCouplingFieldDouble(typp,mc.ONE_TIME) ; mcf.setName(fieldName) ; mcf.setTime(tim,dt,it) ; mcf.setArray(arr)
                                mcf.setMesh(mergeMLMesh.getMeshAtLevel(lev)) ; mcf.checkConsistencyLight()
                                mergeField.appendFieldNoProfileSBT(mcf)
                                pass