smesh/src/Tools/blocFissure/CasTests/execution_Cas.py

237 lines
7.8 KiB
Python
Raw Normal View History

2014-01-09 14:20:44 +00:00
# -*- coding: utf-8 -*-
2020-04-15 17:49:00 +03:00
# Copyright (C) 2014-2020 EDF R&D
2019-02-14 14:55:47 +03:00
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
2014-01-09 14:20:44 +00:00
import sys, traceback
2014-08-29 16:37:55 +02:00
import logging
2014-01-09 14:20:44 +00:00
from blocFissure import gmu
from blocFissure.gmu import initLog
2014-12-10 17:37:21 +01:00
# -----------------------------------------------------------------------------------------------
2014-01-09 14:20:44 +00:00
#initLog.setDebug()
2021-01-21 18:13:50 +01:00
#initLog.setVerbose()
2014-12-10 17:37:21 +01:00
#initLog.setRelease()
#initLog.setPerfTests()
2014-01-09 14:20:44 +00:00
2021-01-21 18:13:50 +01:00
# ---tous les cas en séquence, ou les cas sélectionnés ...
2014-12-10 17:37:21 +01:00
runall = True
if runall:
2021-01-21 18:13:50 +01:00
torun = [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
2021-01-27 11:48:18 +01:00
else: # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27
torunOK = [ 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0] # OK
torunPB = list()
for iaux in torunOK:
torunPB.append((iaux+1)%2)
print ("torun = {} # OK".format(torunOK))
print ("torun = {} # PB".format(torunPB))
torun = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0]
# 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27
2014-12-10 17:37:21 +01:00
# -----------------------------------------------------------------------------------------------
2014-01-09 14:20:44 +00:00
from blocFissure.gmu import geomsmesh
2014-08-28 10:06:35 +02:00
from blocFissure.gmu.casStandard import casStandard
2014-01-09 14:20:44 +00:00
d_aux = dict()
problemes = list()
2014-01-09 14:20:44 +00:00
2021-01-21 18:13:50 +01:00
n_cas = 0
2021-01-26 15:38:16 +01:00
# matériel : cubeAngle
from blocFissure.CasTests.cubeAngle import cubeAngle
2021-01-21 18:13:50 +01:00
problemes.append(cubeAngle(n_cas))
2014-01-09 14:20:44 +00:00
2021-01-21 18:13:50 +01:00
n_cas += 1
2021-01-26 15:38:16 +01:00
# matériel : cubeAngle
from blocFissure.CasTests.cubeAngle2 import cubeAngle2
2021-01-21 18:13:50 +01:00
problemes.append(cubeAngle2(n_cas))
2014-01-09 14:20:44 +00:00
2021-01-21 18:13:50 +01:00
n_cas += 1
2021-01-26 15:38:16 +01:00
# matériel : cubeFin
from blocFissure.CasTests import cubeCoin
problemes.append(casStandard(cubeCoin.dicoParams, cubeCoin.referencesMaillageFissure, n_cas))
d_aux[n_cas] = "cubeCoin"
2014-01-09 14:20:44 +00:00
2021-01-21 18:13:50 +01:00
n_cas += 1
2021-01-26 15:38:16 +01:00
# matériel : cubeFin
from blocFissure.CasTests import cubeMilieu
problemes.append(casStandard(cubeMilieu.dicoParams, cubeMilieu.referencesMaillageFissure, n_cas))
d_aux[n_cas] = "cubeMilieu"
2014-01-09 14:20:44 +00:00
2021-01-21 18:13:50 +01:00
n_cas += 1
2021-01-26 15:38:16 +01:00
# matériel : cubeFin
from blocFissure.CasTests import cubeTransverse
problemes.append(casStandard(cubeTransverse.dicoParams, cubeTransverse.referencesMaillageFissure, n_cas))
d_aux[n_cas] = "cubeTransverse"
2014-01-09 14:20:44 +00:00
2021-01-21 18:13:50 +01:00
n_cas += 1
2021-01-26 15:38:16 +01:00
# matériel : decoupeCylindre
2014-01-09 14:20:44 +00:00
from blocFissure.CasTests.cylindre import cylindre
2021-01-21 18:13:50 +01:00
problemes.append(cylindre(n_cas))
2014-01-09 14:20:44 +00:00
2021-01-21 18:13:50 +01:00
n_cas += 1
2021-01-26 15:38:16 +01:00
# matériel : decoupeCylindre
2014-01-09 14:20:44 +00:00
from blocFissure.CasTests.cylindre_2 import cylindre_2
2021-01-21 18:13:50 +01:00
problemes.append(cylindre_2(n_cas))
2014-01-09 14:20:44 +00:00
2021-01-21 18:13:50 +01:00
n_cas += 1
2021-01-26 15:38:16 +01:00
# matériel : disque_perce
# matériel : ellipse_disque
from blocFissure.CasTests import disquePerce
problemes.append(casStandard(disquePerce.dicoParams, disquePerce.referencesMaillageFissure, n_cas))
d_aux[n_cas] = "disquePerce"
2021-01-26 15:38:16 +01:00
# mailleFacesFissure : Erreur au calcul du maillage
# "Source elements overlap one another" dans l'import du fonds de fissure
2021-01-21 18:13:50 +01:00
n_cas += 1
from blocFissure.CasTests.ellipse_1 import ellipse_1
2021-01-21 18:13:50 +01:00
problemes.append(ellipse_1(n_cas))
2021-01-21 18:13:50 +01:00
n_cas += 1
from blocFissure.CasTests.ellipse_2 import ellipse_2
2021-01-21 18:13:50 +01:00
problemes.append(ellipse_2(n_cas))
2021-01-21 18:13:50 +01:00
n_cas += 1
2014-01-09 14:20:44 +00:00
from blocFissure.CasTests.eprouvetteCourbe import eprouvetteCourbe
2021-01-21 18:13:50 +01:00
problemes.append(eprouvetteCourbe(n_cas))
2014-01-09 14:20:44 +00:00
2021-01-21 18:13:50 +01:00
n_cas += 1
2014-01-09 14:20:44 +00:00
from blocFissure.CasTests.eprouvetteDroite import eprouvetteDroite
2021-01-21 18:13:50 +01:00
problemes.append(eprouvetteDroite(n_cas))
2014-01-09 14:20:44 +00:00
2021-01-21 18:13:50 +01:00
n_cas += 1
2014-01-09 14:20:44 +00:00
from blocFissure.CasTests.eprouvetteDroite_2 import eprouvetteDroite_2
2021-01-21 18:13:50 +01:00
problemes.append(eprouvetteDroite_2(n_cas))
2014-01-09 14:20:44 +00:00
2021-01-21 18:13:50 +01:00
n_cas += 1
from blocFissure.CasTests.faceGauche import faceGauche
2021-01-21 18:13:50 +01:00
problemes.append(faceGauche(n_cas))
2021-01-21 18:13:50 +01:00
n_cas += 1
2021-01-26 15:38:16 +01:00
# matériel : fissureGauche2
from blocFissure.CasTests.faceGauche_2 import faceGauche_2
2021-01-21 18:13:50 +01:00
problemes.append(faceGauche_2(n_cas))
2021-01-26 15:38:16 +01:00
# mailleFacesFissure : Erreur au calcul du maillage
# "Source elements don't cover totally the geometrical edge" dans l'import du fonds de fissure
2021-01-21 18:13:50 +01:00
n_cas += 1
2014-01-09 14:20:44 +00:00
from blocFissure.CasTests.fissureCoude_1 import fissureCoude_1
2021-01-21 18:13:50 +01:00
problemes.append(fissureCoude_1(n_cas))
2014-01-09 14:20:44 +00:00
2021-01-21 18:13:50 +01:00
n_cas += 1
from blocFissure.CasTests.fissureCoude_10 import fissureCoude_10
problemes.append(fissureCoude_10(n_cas))
2021-01-26 15:38:16 +01:00
# Erreur au calcul du maillage
# "Source elements overlap one another" dans l'import du fonds de fissure
2021-01-21 18:13:50 +01:00
n_cas += 1
2014-01-09 14:20:44 +00:00
from blocFissure.CasTests.fissureCoude_2 import fissureCoude_2
2021-01-21 18:13:50 +01:00
problemes.append(fissureCoude_2(n_cas))
2014-01-09 14:20:44 +00:00
2021-01-21 18:13:50 +01:00
n_cas += 1
2014-01-09 14:20:44 +00:00
from blocFissure.CasTests.fissureCoude_3 import fissureCoude_3
2021-01-21 18:13:50 +01:00
problemes.append(fissureCoude_3(n_cas))
2014-01-09 14:20:44 +00:00
2021-01-21 18:13:50 +01:00
n_cas += 1
2014-01-09 14:20:44 +00:00
from blocFissure.CasTests.fissureCoude_4 import fissureCoude_4
2021-01-21 18:13:50 +01:00
problemes.append(fissureCoude_4(n_cas))
2014-01-09 14:20:44 +00:00
2021-01-21 18:13:50 +01:00
n_cas += 1
2014-01-09 14:20:44 +00:00
from blocFissure.CasTests.fissureCoude_5 import fissureCoude_5
2021-01-21 18:13:50 +01:00
problemes.append(fissureCoude_5(n_cas))
2014-01-09 14:20:44 +00:00
2021-01-21 18:13:50 +01:00
n_cas += 1
2014-01-09 14:20:44 +00:00
from blocFissure.CasTests.fissureCoude_6 import fissureCoude_6
2021-01-21 18:13:50 +01:00
problemes.append(fissureCoude_6(n_cas))
2014-01-09 14:20:44 +00:00
2021-01-21 18:13:50 +01:00
n_cas += 1
2014-01-09 14:20:44 +00:00
from blocFissure.CasTests.fissureCoude_7 import fissureCoude_7
2021-01-21 18:13:50 +01:00
problemes.append(fissureCoude_7(n_cas))
2014-01-09 14:20:44 +00:00
2021-01-21 18:13:50 +01:00
n_cas += 1
2021-01-26 15:38:16 +01:00
# matériel : fissureGauche2
2014-01-09 14:20:44 +00:00
from blocFissure.CasTests.fissureCoude_8 import fissureCoude_8
2021-01-21 18:13:50 +01:00
problemes.append(fissureCoude_8(n_cas))
2021-01-26 15:38:16 +01:00
# mailleFacesFissure : Erreur au calcul du maillage
# "Source elements overlap one another" dans l'import du fonds de fissure
2014-01-09 14:20:44 +00:00
2021-01-21 18:13:50 +01:00
n_cas += 1
2014-01-09 14:20:44 +00:00
from blocFissure.CasTests.fissureCoude_9 import fissureCoude_9
2021-01-21 18:13:50 +01:00
problemes.append(fissureCoude_9(n_cas))
2014-01-09 14:20:44 +00:00
2021-01-21 18:13:50 +01:00
n_cas += 1
from blocFissure.CasTests.fissure_Coude import fissure_Coude
problemes.append(fissure_Coude(n_cas))
2021-01-27 11:48:18 +01:00
# mailleFacesFissure : Erreur au calcul du maillage
# "Source elements overlap one another" dans l'import du fonds de fissure
2014-01-09 14:20:44 +00:00
2021-01-21 18:13:50 +01:00
n_cas += 1
from blocFissure.CasTests.fissure_Coude_4 import fissure_Coude_4
problemes.append(fissure_Coude_4(n_cas))
n_cas += 1
2014-01-09 14:20:44 +00:00
from blocFissure.CasTests.vis_1 import vis_1
2021-01-21 18:13:50 +01:00
problemes.append(vis_1(n_cas))
2021-01-26 15:38:16 +01:00
# restreintFaceFissure : Restriction de la face de fissure au domaine solide impossible
2021-01-21 18:13:50 +01:00
#=============================================================
while True:
if ( len(problemes) != len(torun) ):
texte = "\nNombre de problèmes définis : {}\n".format(len(problemes))
texte += "Longueur de la liste 'torun' : {}\n".format(len(torun))
texte += "\t==> Incohérence de programmation à corriger."
print (texte)
break
ligne = "---------------------------------------------------------------------"
texte = ""
2021-01-27 11:48:18 +01:00
nb_cas_ok = 0
nb_cas_nook = 0
for n_cas, cas in enumerate(problemes):
#print ("Cas n° {}, '{}'".format(n_cas,cas.nomProbleme))
if torun[n_cas]:
if n_cas in d_aux:
nom = d_aux[n_cas]
else:
nom = cas.nomProbleme
texte_a = "\n=== Exécution du cas n° {}, '{}'".format(n_cas,nom)
2021-01-21 18:13:50 +01:00
logging.critical(ligne+texte_a)
try:
2021-01-26 15:38:16 +01:00
ok_maillage = cas.executeProbleme()
2021-01-21 18:13:50 +01:00
except:
traceback.print_exc()
texte += "Problème avec le cas n° {}, '{}'\n".format(n_cas,nom)
2021-01-26 15:38:16 +01:00
ok_maillage = False
if ok_maillage:
2021-01-27 11:48:18 +01:00
nb_cas_ok += 1
2021-01-26 15:38:16 +01:00
else:
2021-01-27 11:48:18 +01:00
nb_cas_nook += 1
2021-01-21 18:13:50 +01:00
print(ligne)
2021-01-27 11:48:18 +01:00
nb_cas = nb_cas_nook + nb_cas_ok
if ( nb_cas > 1):
if nb_cas_nook:
texte += ". Nombre de cas_tests OK : {}\n".format(nb_cas_ok)
texte += ". Nombre de cas_tests NOOK : {}\n".format(nb_cas_nook)
2021-01-26 18:39:03 +01:00
else:
2021-01-27 11:48:18 +01:00
texte += "Les {} tests se sont bien passés.\n".format(nb_cas)
2021-01-21 18:13:50 +01:00
print (texte+ligne)
break