1 # Copyright (C) 2013-2019 CEA/DEN, EDF R&D
3 # This library is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU Lesser General Public
5 # License as published by the Free Software Foundation; either
6 # version 2.1 of the License, or (at your option) any later version.
8 # This library is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 # Lesser General Public License for more details.
13 # You should have received a copy of the GNU Lesser General Public
14 # License along with this library; if not, write to the Free Software
15 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
25 def __init__(self,maBase,idMaillage,idVersion,machine):
27 self.idMaillage=idMaillage
28 self.idVersion=idVersion
30 self.idVersionRef=self.maBase.maTableVersions.getVersionRef()
33 if self.maBase.maTablePerfs.getVal(self.idMaillage,self.idVersionRef,self.machine) == None:
38 def verifieCpu(self,NbSec):
39 cpuAvant=self.maBase.maTablePerfs.getVal(self.idMaillage,self.idVersionRef,self.machine)
40 seuil=self.maBase.maTableMaillages.getVal(self.idMaillage,"seuilCPU")
41 seuilHaut=cpuAvant*(100+seuil)/100.
42 if NbSec > seuilHaut :
43 print("Probleme consommation CPU : ")
44 print(" cpu reference : ", cpuAvant)
45 print(" seuil : ", seuil)
46 print(" CPU : ", NbSec)
50 def verifieTailles(self,listeValeurs):
52 seuil=self.maBase.maTableMaillages.getVal(self.idMaillage,"seuilTaille")
53 for nomColonne in ('TailleMax','TailleMin','Quartile1','Mediane','Quartile3','Moyenne'):
54 valTrouvee=float(listeValeurs[i])
55 valAvant=float(self.maBase.maTableTailles.getVal(self.idMaillage,self.idVersionRef,self.machine,nomColonne))
56 seuilHaut=valAvant*(100+seuil)/100.
57 seuilBas=valAvant*(100-seuil)/100.
58 if (valTrouvee < seuilBas) or (valTrouvee > seuilHaut) :
59 print("Probleme sur le nombre de Mailles de type : ", nomColonne)
60 print(" nb reference : ", valAvant)
61 print(" seuil : ", seuil)
62 print(" nb : ", valTrouvee)
67 def verifieRatios(self,listeValeurs):
69 seuil=self.maBase.maTableMaillages.getVal(self.idMaillage,"seuilRatio")
70 for nomColonne in ('TailleMax','TailleMin','Quartile1','Mediane','Quartile3','Moyenne'):
71 valTrouvee=float(listeValeurs[i])
72 valAvant=float(self.maBase.maTableRatios.getVal(self.idMaillage,self.idVersionRef,self.machine,nomColonne))
73 seuilHaut=valAvant*(100+seuil)/100.
74 seuilBas=valAvant*(100-seuil)/100.
75 if (valTrouvee < seuilBas) or (valTrouvee > seuilHaut) :
76 print("Probleme sur le nombre de Mailles de type : ", nomColonne)
77 print(" nb reference : ", valAvant)
78 print(" seuil : ", seuil)
79 print(" nb : ", valTrouvee)
86 def verifieMailles(self,listeValeurs,listeEntity):
87 seuil=self.maBase.maTableMaillages.getVal(self.idMaillage,"seuilNbMaille")
89 for nomColonne in listeEntity :
90 valTrouvee=int(listeValeurs[i])
92 valAvant=self.maBase.maTableMailles.getVal(self.idMaillage,self.idVersionRef,self.machine,nomColonne)
93 #print nomColonne, " ",valTrouvee, " ",valAvant
94 seuilHaut=valAvant*(100+seuil)/100.
95 seuilBas=valAvant*(100-seuil)/100.
96 if (valTrouvee < seuilBas) or (valTrouvee > seuilHaut) :
97 print("Probleme sur le nombre de Mailles de type : ", nomColonne)
98 print(" nb reference : ", valAvant)
99 print(" seuil : ", seuil)
100 print(" nb : ", valTrouvee)
104 def verifieMaillesPourGroupes(self,nomGroupe,listeValeurs,listeEntity):
105 seuil=self.maBase.maTableMaillages.getVal(self.idMaillage,"seuilNbMaille")
107 #print nomGroupe,self.idMaillage,self.idVersion,self.machine
108 for nomColonne in listeEntity:
109 valTrouvee=int(listeValeurs[i])
111 valAvant=self.maBase.maTableGroupes.getVal(nomGroupe,self.idMaillage,self.idVersionRef,self.machine,nomColonne)
112 #print nomColonne, " ",valTrouvee, " ",valAvant
113 seuilHaut=valAvant*(100+seuil)/100
114 seuilBas=valAvant*(100-seuil)/100
115 if (valTrouvee < seuilBas) or (valTrouvee > seuilHaut) :
116 print("Probleme sur le nombre de Mailles de type : ", nomColonne, "pour le groupe ", nomGroupe)
117 print(" nb reference : ", valAvant)
118 print(" seuil : ", seuil)
119 print(" nb : ", valTrouvee)