Salome HOME
Initial merge of branch 'BR_HYDRO_IMPS_2016' into BR_PORTING_OCCT_7
[modules/hydro.git] / doc / salome / examples / h015_normalCaseManualTelemac.py
index 4df4002f9c5af2e231378315aefff669cfe22763..6c3fc2d9bf1d53cc1296181452c3182f2af40651 100644 (file)
@@ -27,7 +27,8 @@ garonne_ign_01.SetName( "garonne_ign_01" )
 garonne_ign_01.SetZLevel( 0 )
 
 
-garonne_ign_01.LoadImage(os.path.join(HYDRO_SAMPLES, "garonne_ign_01.png" ))
+if not(garonne_ign_01.LoadImage(os.path.join(HYDRO_SAMPLES, "garonne_ign_01.png" ))):
+  raise ValueError('problem while loading image')
 
 garonne_ign_01.SetLocalPoints( QPoint( 40, 817 ),
                                QPoint( 1325, 85 ) )
@@ -44,7 +45,8 @@ garonne_ign_02.SetName( "garonne_ign_02" )
 garonne_ign_02.SetZLevel( 1 )
 
 
-garonne_ign_02.LoadImage( os.path.join(HYDRO_SAMPLES, "garonne_ign_02.png" ))
+if not(garonne_ign_02.LoadImage( os.path.join(HYDRO_SAMPLES, "garonne_ign_02.png" ))):
+  raise ValueError('problem while loading image')
 
 garonne_ign_02.SetLocalPoints( QPoint( 1389, 447 ),
                                QPoint( 784, 481 ) )
@@ -197,7 +199,8 @@ Cloud_02 = hydro_doc.CreateObject( KIND_BATHYMETRY )
 Cloud_02.SetName( "Cloud_02" )
 
 Cloud_02.SetAltitudesInverted( 0 )
-Cloud_02.ImportFromFile( os.path.join(HYDRO_SAMPLES, "Cloud_02.xyz" ))
+if not(Cloud_02.ImportFromFile( os.path.join(HYDRO_SAMPLES, "Cloud_02.xyz" ))):
+  raise ValueError('problem while loading bathymetry')
 
 Cloud_02.Update()
 
@@ -206,7 +209,8 @@ garonne_point_L93 = hydro_doc.CreateObject( KIND_BATHYMETRY )
 garonne_point_L93.SetName( "garonne_point_L93" )
 
 garonne_point_L93.SetAltitudesInverted( 0 )
-garonne_point_L93.ImportFromFile( os.path.join(HYDRO_SAMPLES, "garonne_point_L93.xyz" ))
+if not(garonne_point_L93.ImportFromFile( os.path.join(HYDRO_SAMPLES, "garonne_point_L93.xyz" ))):
+  raise ValueError('problem while loading bathymetry')
 
 garonne_point_L93.Update()
 
@@ -338,9 +342,9 @@ geompy.addToStudyInFather( HYDRO_garonne_1, bordGaucheDomaine, 'bordGaucheDomain
 geompy.addToStudyInFather( HYDRO_garonne_1, bordDroiteDomaine, 'bordDroiteDomaine' )
 
 # --- basic properties control: edges length, surfaces
-controlGeomProps(geompy, riveGauche,  29149.36918,  35992556.454929)
-controlGeomProps(geompy, litMineur,   30337.548492,  3646827.749809)
-controlGeomProps(geompy, riveDroite,  32012.343241, 26177085.460092)
+controlGeomProps(geompy, riveGauche,  29149.36918,  35948828.352061)
+controlGeomProps(geompy, litMineur,   30337.548492,  3488480.304388)
+controlGeomProps(geompy, riveDroite,  32012.343241, 25998769.23615)
 
 #----------------------
 # --- Meshing 
@@ -418,6 +422,13 @@ print "tmpdir=",tmpdir
 fichierMaillage = os.path.join(tmpdir, 'garonne_1.med')
 garonne_1.ExportMED(fichierMaillage, 0, SMESH.MED_V2_2, 1, None ,1)
 
+mesures = garonne_1.GetMeshInfo()
+d= {}
+for key, value in mesures.iteritems():
+  d[str(key)] = value
+nbTriangles = d['Entity_Triangle']
+nbNodes = d['Entity_Node']
+
 controlMeshStats(garonne_1, 3888, 475, 7597)
 controlSubMeshStats(litMineur_2, 2384)
 controlSubMeshStats(riveDroite_1, 2342)
@@ -471,15 +482,26 @@ jdc = """
 PYTEL(CODE='telemac2d',
       FICHIER_CAS='%s/init.cas',
       REPERTOIRE_TRAVAIL='%s/work',
-      ENTREE_MED=_F(FICHIER_MED='%s/garonne_1F.med',
+      ENTREE_MED=_F(FICHIER_MED='%s/garonne_1Z.med',
                     FICHIER_BCD='%s/condlim.bcd',),
-      SORTIE_MED='%s/r2d_garonne_1F.med',);
+      SORTIE_MED='%s/r2d_garonne_1Z.med',);
 """ % (tmpdir, tmpdir, tmpdir, tmpdir, tmpdir)
 print jdc
 
 from salome.hydro.study import jdc_to_dict
 param_dict = jdc_to_dict(jdc, ["PYTEL", "_F"])
+# --- close xterm automatically after Telemac execution
+param_dict['batchExec'] = True
 print param_dict
 
 from salome.hydro.pytel.launcher import run_pytel
 run_pytel(param_dict)
+
+from salome.hydrotools.controls import controlTelemacResult
+aMedResult = tmpdir + '/r2d_garonne_1Z.med'
+refstats = {'nbTriangles' : nbTriangles,
+            'nbNodes' : nbNodes,
+            'fieldNames':('DEBIT SCALAIRE', 'FOND', 'FROTTEMENT', "HAUTEUR D'EAU", 'NBRE DE COURANT', 'SURFACE LIBRE', 'VITESSE U', 'VITESSE V'),
+            'iterations':[(0, -1), (1, -1), (2, -1), (3, -1), (4, -1), (5, -1)]
+            }
+controlTelemacResult(aMedResult, refstats)