--- /dev/null
+# -*- coding: utf-8 -*-\r
+# Copyright (C) 2008-2018 EDF R&D\r
+#\r
+# This file is part of SALOME ADAO module\r
+#\r
+# This library is free software; you can redistribute it and/or\r
+# modify it under the terms of the GNU Lesser General Public\r
+# License as published by the Free Software Foundation; either\r
+# version 2.1 of the License.\r
+#\r
+# This library is distributed in the hope that it will be useful,\r
+# but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+# Lesser General Public License for more details.\r
+#\r
+# You should have received a copy of the GNU Lesser General Public\r
+# License along with this library; if not, write to the Free Software\r
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+#\r
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+import os\r
+from Accas import OPER, BLOC, FACT, SIMP, ASSD, JDC_CATA, VerifTypeTuple, Matrice, UserASSD\r
+from Extensions.i18n import tr\r
+import types\r
+monFichier = os.path.abspath(__file__)\r
+\r
+JdC = JDC_CATA(\r
+ code='Morgane',\r
+ fr = "Modèle physique d'une vallée",\r
+)\r
+VERSION_CATALOGUE = 'V_0'\r
+\r
+class vallee(ASSD) : pass\r
+class usine(UserASSD) : pass\r
+class reservoir(UserASSD) : pass\r
+\r
+unitesChute=['hm3','m3']\r
+\r
+Vallee=OPER(nom="Vallee", sd_prod=vallee,\r
+ fr="Elément défini pour éventuellement contenir la définition des vallées de manière autonome. Les contraintes sont définies au niveau de l'élément et doivent donc être répétées si le type est utilisé ailleurs",\r
+ Reservoirs=FACT(statut='o', \r
+ Reservoir = FACT ( statut ='o', max='**', \r
+ NomReservoir = SIMP(statut='o', typ=(reservoir,'createObject'),), \r
+ TypeReservoir = SIMP(statut='o', typ= 'TXM', into = ['Lac', 'Eclusee',]), \r
+ Volume = SIMP(statut='o', typ= 'R', defaut=0, val_min=0,),\r
+ Surface = SIMP(statut='o', typ= 'R'),\r
+ CotesVolume = FACT(statut='f',\r
+ fr="Si, quelque part dans l'étude (usine ou réservoir), il y a des cotes (ie on travaille en mètres), il faut les cotes volumes car le coeur de calcul travaille en volume",\r
+ CoteVolume = FACT (statut='o', max='**',\r
+ Cote = SIMP(statut='o', typ='R', defaut=0, val_min=0),\r
+ Volume = SIMP(statut='o', typ='R', defaut=0, val_min=0),\r
+ Surface = SIMP(statut='o', typ='R', defaut=0, val_min=0),\r
+ ),\r
+ ),\r
+ ),\r
+ ), # Reservoirs\r
+\r
+ Usines = FACT(statut ='o', \r
+ fr="Attention, l'ordre des usines a une importance", \r
+ Usine = FACT ( statut ='o', max='**', \r
+ fr="Les usines sont des turbines, des pompes ou des non énergétiques. Leur description dépend de ce type",\r
+ NomDUsine = SIMP(statut='o', typ=(usine,'createObject'),), \r
+ TypeDUsine = SIMP(statut='o', typ= 'TXM', into = ['Turbine', 'Pompe', 'NonEnergetique']), \r
+ b_TypeDUsine_Turbine = BLOC( condition = 'TypeDUsine == "Turbine"', \r
+ CaracteristiquesTurbine=FACT( statut='o', \r
+ fr="Caractéristiques spécifiques aux turbines", DebitMaxPhysique = SIMP(typ='I', statut='o',defaut=100000, val_min=0), \r
+ TypeDeDeversement = SIMP(typ= 'TXM', into = ['CapaciteFixe', 'NonAutorise', 'DebitMaxGestion']),\r
+ b_Turbine_CapaciteFixe = BLOC( condition = 'TypeDeDeversement == "CapaciteFixe"', \r
+ Capacite = SIMP(typ='I', defaut=0, val_min=0),\r
+ ), \r
+ HauteurChute = SIMP(typ='R', defaut=0, statut='o', val_min=0),\r
+ Puissance = SIMP(typ='R', defaut=0,statut='o', val_min=0),\r
+ Debit = SIMP(typ='R', defaut=0, statut='o', val_min=0),\r
+ BandePrimaire = SIMP(typ='R', defaut=0 , statut='o', val_min=0),\r
+ BandeSecondaire = SIMP(typ='R', defaut=0, statut='o', val_min=0),\r
+ ),\r
+ ), # fin Turbine\r
+ b_TypeDUsine_Pompe = BLOC( condition = 'TypeDUsine == "Pompe"',\r
+ fr="Caractéristiques spécifiques aux pompes",\r
+ CaracteristiquesPompe=FACT( statut='o',\r
+ DebitMaxPhysique = SIMP(typ='I', statut='o',defaut=-100000, val_max=0),\r
+ HauteurChute = SIMP(typ='R', defaut=0, statut='o', val_min=0),\r
+ Puissance = SIMP(typ='R', defaut=0, statut='o', val_min=0),\r
+ Debit = SIMP(typ='R', defaut=0, statut='o', val_min=0),\r
+ ),\r
+ ), # fin Pompe\r
+ b_TypeDUsine_NonEnergetique = BLOC( condition = 'TypeDUsine == "NonEnergetique"',\r
+ CaracteristiquesNonEnergetique=FACT( statut='o',\r
+ DebitMaxPhysique = SIMP(typ='I', statut='o', defaut=100000, val_min=0),\r
+ ),\r
+ ),\r
+ b_TypeDUsine = BLOC( condition = 'TypeDUsine != None',\r
+ DelaiAval = SIMP(typ='I', statut='o',defaut=0, val_min=0),\r
+ UniteHauteurChute = SIMP(typ="TXM", statut='o', into=unitesChute, defaut="hm3"),\r
+ Interpolation = SIMP(typ="TXM", statut='o', into=["EnVolume", "EnCote"], defaut="EnCote"),\r
+ ReservoirAmont = SIMP(typ=reservoir,statut='o'),\r
+ b_DelaiAval_NonNul = BLOC( condition = "DelaiAval != 0",\r
+ ReservoirAval = SIMP(typ=reservoir,statut='o'),\r
+ ),\r
+ ), # fin bloc commun\r
+ ), # fin Usine\r
+ \r
+ ), # Usines\r
+)\r